【发布时间】:2021-07-28 17:48:21
【问题描述】:
我有一个问题。 我有一个我正在尝试使用的我的世界服务器插件,但它不存在。
我收到以下错误:
无法将事件 PlayerInteractEvent 传递给 XXX org.bukkit.event.EventException:空 在 org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:483) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:450) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.PlayerInteractManager.a(PlayerInteractManager.java:148) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.PlayerConnection.a(PlayerConnection.java:1219) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.PacketPlayInBlockDig.a(SourceFile:40) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.PacketPlayInBlockDig.a(SourceFile:10) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.TickTask.run(SourceFile:18) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeTask(SourceFile:144) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeNext(SourceFile:118) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.MinecraftServer.ba(MinecraftServer.java:941) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.MinecraftServer.executeNext(MinecraftServer.java:934) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.IAsyncTaskHandler.awaitTasks(SourceFile:127) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.MinecraftServer.sleepForTick(MinecraftServer.java:918) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:850) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] 在 java.lang.Thread.run(Thread.java:832) [?:?] 原因:java.lang.NullPointerException:无法调用“org.bukkit.Location.getBlockZ()”,因为“this.secondLocation”为空 在 XXX.PlayerInteractEventListener.onPlayerUse(PlayerInteractEventListener.java:128) ~[?:?] 在 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] 在 jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[?:?] 在 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] 在 java.lang.reflect.Method.invoke(Method.java:564) ~[?:?] 在 org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-b8dd5ec] ... 21 更多
是否有 spigot 的例外列表?
在这种情况下,我应该使用 try 和 catch 捕获哪个异常?
谁能建议任何其他方法来检查给定位置是否存在?
【问题讨论】:
-
可以添加代码PlayerInteractEventListener吗?你可能需要
if (this.secondLocation == null) {...} else {...}
标签: java plugins minecraft bukkit