我如何制作一个 for 循环来检查每个 int

How do I make a for loop that checks for every int

好吧,这真的很难解释。
我基本上有一个称为盒子的整数,我需要检查这个人是否有一个盒子,然后将一个盒子添加为一个项目等等。

有没有更简单的方法来完成这个或者我该怎么做?

例如:如果整数等于三,我需要检查一个框并添加一个项目,然后检查另一个框并添加一个项目。我考虑过添加一个 for 循环或其他东西,但我不知道现在该怎么做,因为我坚持这样做。

我还没有尝试过任何东西,因为我不知道如何解决这个问题。

public static void openMysteryBox(Player p) {
    Inventory mysterybox = Bukkit.createInventory(p, 9, "Mystery Boxes");

    ItemStack hasMysteryBox = new ItemBuilder(Material.ENDER_CHEST, 1)
        .setName("§eMysteryBox")
        .setLore("§7Right click to open this mysterybox!")
        .toItemStack();

    int boxes = plugin.getMysteryboxes();
    if(boxes >= 1) {
         // I want to check for every 1 boxes.
    }
}

没有错误消息,但我现在真的不知道该怎么做。

只是在黑暗中刺探:你在寻找类似的东西吗:

for (int i = 0; i < boxes; i++) {
     //Check box, add item
}

我用过Forge,没用过Bukkit,欢迎大家根据需要修改。

假设...

库存有方法:

  • getSlot(int index) 返回索引处的槽,第一个槽在 0;

槽有方法:

  • setStack(ItemStack stack) 将此插槽的 ItemStack 设置为提供的堆栈

和复印机:

  • static <T> T copyOf(T object)返回一个满足Copier.copyOf(object).equals(object)
  • 的新对象

ItemStack box =
new ItemBuilder(Material.ENDER_CHEST)
.setName("Mystery Box")
.setLore("Rightclick to open this box");
.toItemStack();

if (boxes > 0)
{
  for (int i = 0; i < boxes; i++)
  {
    boxInventory.getSlot(i).setStack(Copier.copy(box));
  }
}