マインクラフトのプラグインを作って試してみると、謎のエラーが出ました。
いろいろ他の方法で試してみたんですけど、毎回エラーが出たりエラーが出なかったときは書いたことがが動作しなかったりします。
Sorce
1 public void InventoryDrop(Player p) { 2 ItemStack[] is = new ItemStack[36]; // インベントリースロット指定 3 for(int i = 0; i < is.length; i++) { 4 is[i] = new ItemStack(p.getInventory().getItem(i)); // インベントリーのアイテムをゲット 5 p.getWorld().dropItem(p.getLocation().add(0,1,0),is[i]); // ゲットしたアイテムを落とす。 6 p.getInventory().setItem(i, new ItemStack(Material.AIR)); // 落としたアイテムをインベントリーから消去する。 7 } 8 }
このコードはインベントリーのアイテムをすべて落とすというコードです。
これを実行すると、
Error
1[02:15:23 ERROR]: null 2org.bukkit.command.CommandException: Unhandled exception executing command 'testdrop' in plugin Repick_Test v1.0 3 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Spigot.jar:git-Spigot-db6de12-18fbb24] 4 at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[Spigot.jar:git-Spigot-db6de12-18fbb24] 5 at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[Spigot.jar:git-Spigot-db6de12-18fbb24] 6 at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [Spigot.jar:git-Spigot-db6de12-18fbb24] 7 at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [Spigot.jar:git-Spigot-db6de12-18fbb24] 8 at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [Spigot.jar:git-Spigot-db6de12-18fbb24] 9 at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [Spigot.jar:git-Spigot-db6de12-18fbb24] 10 at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-db6de12-18fbb24] 11 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?] 12 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] 13 at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [Spigot.jar:git-Spigot-db6de12-18fbb24] 14 at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [Spigot.jar:git-Spigot-db6de12-18fbb24] 15 at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [Spigot.jar:git-Spigot-db6de12-18fbb24] 16 at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [Spigot.jar:git-Spigot-db6de12-18fbb24] 17 at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [Spigot.jar:git-Spigot-db6de12-18fbb24] 18 at java.base/java.lang.Thread.run(Thread.java:832) [?:?] 19Caused by: java.lang.IllegalArgumentException: Cannot copy null stack 20 at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[Spigot.jar:git-Spigot-db6de12-18fbb24] 21 at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:135) ~[Spigot.jar:git-Spigot-db6de12-18fbb24] 22 at com.gmail.leakerpvp.repicktest.RepickTest.InventoryDrop(RepickTest.java:34) ~[?:?] 23 at com.gmail.leakerpvp.repicktest.RepickTest.onCommand(RepickTest.java:24) ~[?:?] 24 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Spigot.jar:git-Spigot-db6de12-18fbb24] 25 ... 15 more
というエラーが出ます。
インベントリーをすべて埋めたらエラーは出ないんですけど一マスでも空いていたら、エラーが出ます。
エラー内容か対処法があったら教えてください。
回答1件
あなたの回答
tips
プレビュー