Получение списка предметов в сундуке

Версия Minecraft
1.12.2
API
Forge
Как я могу получить список предметов в в сундуке и сделать так чтобы при открытии брался предмет из сундука?

Вариант с player.openContainer мне особо не помог, но возможно я что-то не так делал, я уже многое перепробовал.
Подскажите в каком направлении мне двигаться чтобы моя задача по забиранию предмета из сундука была реализована.
 
если тебе надо забирать все предметы определенного типа при открывании сундука, поможет это думаю:

Код:
// stacks - список айтем стаков в хранилище
// needItem - нужный для забирания предмет
for(ItemStack is : stacks){
    if(is.getItem() == needItem){
        // забираешь или что тебе надо
    }
}
а если надо определенное количество вроде так:
Java:
// stacks - список айтем стаков в хранилище
// needItem - нужный для забирания предмет
int i = 0;
int max = /*максимальное колво предметов*/;
for(ItemStack is : stacks){
    if(is.getItem() == needItem){
        if(i >= max){
            break;
        }
        // забираешь или что тебе надо
        i++;
    }
}
 

Icosider

Kotliner
Администратор
3,603
99
664
Откуда вы можете быть уверены, что в тайле есть этот самый stacks лист или массив? Нужно делать как в той же воронке, доставать IInventory#getSizeInventory или ISidedInventory#getAccessibleSlots. А то после таких советов, как выше, часто наблюдаю получение полей через рефлексию...
 
7,099
324
1,510
На 1.12.2 уже есть капабилити, надо делать через него
tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side)
 
Сверху