gpt4 book ai didi

java - Bukkit - 将玩家的库存转换为 JSON

转载 作者:行者123 更新时间:2023-12-01 11:58:59 25 4
gpt4 key购买 nike

我正在为 BukkitGUI 设计一个 bukkit 插件,这样当你这样做时 /bukkitguihelp inventory <playername>它将玩家的库存吐出到控制台。我遇到的问题是它没有读取所有插槽,在打印 JSON 数据时缺少第一个插槽。 (我正在使用 org.json 库)JSON 内容:http://pastebin.com/L8DhNGad

PlayerInventory inventory = ((Player) Bukkit.getServer().getPlayer(
args[1])).getInventory();
JSONObject mainInv = new JSONObject();

for (int i=39; i < 0; i--) {
ItemStack stack = inventory.getItem(i);
JSONObject inv = new JSONObject();
inv.put("id",Integer.valueOf(i));

if (stack != null) {
inv.put("amount",Integer.valueOf(stack.getAmount()));
MaterialData stackData = stack.getData();
inv.put("type", stack.getTypeId() + "-" + stack.getDurability());
inv.put("name", stackData.toString());
mainInv.put(Integer.valueOf(i), inv);
}
else mainInv.put(Integer.valueOf(i), "null");
}
System.out.println(mainInv);

但是当我设置i < 0时至i == 0 ,它打印出 { }而不是库存 JSON 数据。没有出现控制台错误,我不知道我做错了什么。

最佳答案

您的 for 语句中的条件不正确:

i=39; i < 0; i--

i 设置为 39。第一个条件检查 39 < 0 本身会失败并退出循环。

根据您的要求,应将其设置为 i > 0 或 i >= 0。

关于java - Bukkit - 将玩家的库存转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28128253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com