Java 尝试打开GUI时出现org.bukkit.command.CommandException
我正在制作一个Minecraft Java插件,我的插件在6个月前运行良好。现在当我回到我的插件,它不工作 这里是一个错误,它打开了一个GUIJava 尝试打开GUI时出现org.bukkit.command.CommandException,java,plugins,minecraft,Java,Plugins,Minecraft,我正在制作一个Minecraft Java插件,我的插件在6个月前运行良好。现在当我回到我的插件,它不工作 这里是一个错误,它打开了一个GUI [14:07:28 INFO]: LucaForever issued server command: /play [14:07:28 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'play' in plugin Block
[14:07:28 INFO]: LucaForever issued server command: /play
[14:07:28 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'play' in plugin BlocksUtilities v1.6
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at java.base/java.lang.Thread.run(Thread.java:832) [?:?]
Caused by: java.lang.IllegalArgumentException: Title cannot be null
at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventoryCustom$MinecraftInventory.<init>(CraftInventoryCustom.java:58) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventoryCustom.<init>(CraftInventoryCustom.java:32) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.createInventory(CraftServer.java:1525) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.Bukkit.createInventory(Bukkit.java:938) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.blocks.ui.GamesUI.GUI(GamesUI.java:24) ~[?:?]
at org.blocks.commands.GameUICommand.onCommand(GameUICommand.java:33) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
... 15 more
以下也是UTIL的一部分:
public static ItemStack createItem(库存库存库存、整数实物、整数金额、整数库存槽、字符串displayName、字符串…loreString)
{
项目堆栈项目;
List lore=new ArrayList();
项目=新项目堆栈(Material.getMaterial(materialId),金额);
ItemMeta=item.getItemMeta();
setDisplayName(Utils.chat(displayName));
用于(字符串s:LORESING)
{
添加(Utils.chat);
}
梅塔·塞洛尔(lore);
item.setItemMeta(meta);
库存设置项目(库存插槽-1,项目);
退货项目;
}
------------------>第二部分
其他命令,比如/gmc,什么都不做。
它们不会显示错误,只是显示我执行了命令,然后什么也没有。
谢谢,希望能收到您的来信。我认为出现错误是因为您没有为库存设置标题。要解决此问题,您应该为inventory\u name指定一个值:
public static String inventory_name = "name";
如果您不想要标题,可以使用:
Inventory toReturn = Bukkit.createInventory(p, inv_rows);
您可以保留代码的其余部分。然后应该是这样的:
public class GamesUI
{
public static Inventory inv;
public static String inventory_name;
public static int inv_rows = 1 * 9;
public static void initialaize()
{
inventory_name = Utils.chat("&6&lChoose a Game!");
inv = Bukkit.createInventory(null, inv_rows);
}
public static Inventory GUI (Player p)
{
Inventory toReturn = Bukkit.createInventory(p, inv_rows, inventory_name); //i tried here p and
null but none work
Utils.createItem(inv, 166, 1, 2, "&cStaff World", "&bClick to join the staff world!", "&4Only staff allowed!");
Utils.createItem(inv, 355, 1, 1, "&cBedwars", "&bClick to join bedwars!", "&70 players playing!");
toReturn.setContents(inv.getContents());
return toReturn;
}
public static void clicked(Player p, int slot, ItemStack clicked, Inventory inv)
{
if (clicked.getItemMeta().getDisplayName().equalsIgnoreCase(Utils.chat("&cBedwars")))
{
p.sendMessage(Utils.chat("&7Sending you to the bedwars server..."));
p.performCommand("bedwars join");
}
}
}
欢迎来到StackOverflow!好的第一个问题!它甚至可以通过用文本替换图像来改进。感谢您的回复,但是在我为库存名称添加值之后,我应该在哪里添加“库存名称”?谢谢!我要检查它是否工作得很快。好的,我设法使它工作,经过2个小时的故障排除和坚持bukkits源代码。我所要做的就是将“toreturn”从库存更改为库存。它表示为空,因为库存不是一件事。谢谢