从 ItemStack 获取物品槽

get item slot from ItemStack

我最近遇到一个无法解决的问题:如何获取物品的槽位?

假设我的代码看起来像那样

        ItemStack[] items = inv.getContents();
        for (ItemStack item : items) {
            if (item != null) {
                if (position < 27 && position > -1) {
  SOMETHING HERE LIKE     --->  item.getRawSlot()
                }
            } else {
            }
        }

但是方法 getRawSlot() 对项目 class 无效,我该怎么办?

使用 for-each 循环时,您无法知道当前数组项的索引。您必须使用带有显式索引的常规 for 循环:

for (int = 0 ; i < items.length; ++i) {
    Item item = items[i]; 
    if (i < 27 && i > -1) {
        // do something here like item.getRawSlot();
    }
    // another example of something you could now do that you
    // couldn't do using for-each
    items[i] = new Item(...);
}