本帖最后由 strings 于 2022-7-28 16:54 编辑 
| 
 org.bukkit.command.CommandException: Unhandled exception executing command 'morefish' in plugin MoreFish v2.1.3 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dSpigot-1.1 2.2.jar:git-Spigot-79a30d7-f4830a1] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dSp igot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[%5b%e4%bf%ae%e5%a4%8d%e7% 89%88%5dSpigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1401) [%5b%e4%bf%ae%e5%a4% 8d%e7%89%88%5dSpigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1236) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88% 5dSpigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5d Spigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dS pigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dSp igot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_231] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_231] at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dSpigot-1.12.2.ja r:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dS pigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dS pigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dS pigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5 dSpigot-1.12.2.jar:git-Spigot-79a30d7-f4830a1] at java.lang.Thread.run(Unknown Source) [?:1.8.0_231] Caused by: java.lang.NullPointerException at me.elsiff.morefish.manager.FishManager.loadFishList(FishManager.java:51) ~[?:?] at me.elsiff.morefish.command.GeneralCommands.onCommand(GeneralCommands.java:191) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[%5b%e4%bf%ae%e5%a4%8d%e7%89%88%5dSpigot-1.1 2.2.jar:git-Spigot-79a30d7-f4830a1] ... 15 more | 
从理论上讲,可以为空的对象是: -the result of Bukkit.getServer() -the result of getServer().getPlayer(sender.getName()) -sender  我说过,情况2是最有可能的,但也没有多大意义。当发送者不是玩家(而是控制台或命令块)时,这肯定会导致出现错误. 但是,当发件人确实是玩家时,它应该起作用。  如果要正确调试,请在该行之前添加以下: System.out.println(“server is ” + Bukkit.getServer()); System.out.println(“sender is ” + sender); System.out.println(“player is ” + Bukkit.getServer().getPlayer(sender.getName()));  这是我的分享结果(或者如果可以的话,自己解决)