无法将项目添加到库存 (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(是)物品没有被添加到库存中。
- 我已经用
Bukkit.createInventory(null,size,"Kits");
创建了库存工具包,它正确显示了
- 添加完所有物品后,我用
((Player)sender).openInventory(kits);
打开库存
您在代码中看到了 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 行,然后它应该可以工作。
我的 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(是)物品没有被添加到库存中。
- 我已经用
Bukkit.createInventory(null,size,"Kits");
创建了库存工具包,它正确显示了 - 添加完所有物品后,我用
((Player)sender).openInventory(kits);
打开库存
您在代码中看到了 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 行,然后它应该可以工作。