Java 尝试打开GUI时出现org.bukkit.command.CommandException

Java 尝试打开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

我正在制作一个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 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”从库存更改为库存。它表示为空,因为库存不是一件事。谢谢