无法将项目添加到库存 (Bukkit/Spigot)

Cannot add item to inventory (Bukkit/Spigot)

我的 Bukkit 和 Spigot 套件插件有一些问题。 当我使用命令 /kits 时,只会打开一个空的库存。 这是我的代码:

        for (int i = 0; i<main.cfg.getConfigurationSection("kits").getKeys(false).size();i++) {
            String s = (String) main.cfg.getConfigurationSection("kits").getKeys(false).toArray()[i];
            ItemStack is = new ItemStack(Material.valueOf(main.cfg.getString("kits." + s + ".mat")));
            ItemMeta im = is.getItemMeta();
            im.setDisplayName(s);
            is.setItemMeta(im);
            cont.add(is);
        }

物品堆栈有效,但是当我这样做时kits.add(是)物品没有被添加到库存中。

您在代码中看到了 cont.add(is),因为我试图制作一个 ItemStack 列表(续),然后在另一个 for 循环中将所有项目添加到库存中,但这不应该差异。

唯一想到的可能是 "main.cfg.getConfigurationSection("kits").getKeys(false).size()" 返回 0,导致 for 循环中的代码永远不会执行。也许你可以添加 "sender.sendMessage("for 循环是 运行");"在 for 循环中只是为了验证它实际上是 运行.

不是add,是addItem :)

cont.addItem(is);

我找到了解决这个问题的方法。这是因为我根据有多少套件来计算库存的大小。今天我想知道为什么我的库存中有 3 条线而只有 1 个套件。那应该只做 1 行。然后我将它设置为 54 个项目,所以 6 行作为库存大小并且它起作用了! 解决方案:确保您在清单中至少创建 3 行,然后它应该可以工作。