Тайлы не имеют контейнер. Контейнер существует только пока у игрока открыт инвентарь чего-то(не обязательно тайла), причем на каждого игрока свой контейнер.
А инвентарь тайла представлен либо IInventory(типо устаревшее, не рекомендуется к юзу, потому что трудно делать интеграцию с модами) или IItemHandler-капабилити.
Чанки, которые загрузились, можно получить из события
ChunkEvent.Load
Получить тайлы из чанка по событию его загрузки можно
Chunk#getTileEntityMap
Проверить и получить все капабилити инвентарей можно примерно так:
if(tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, <facing>)){
IItemHandler inv = tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, <facing>)
}
Стоит обратить внимание, что с разных сторон(параметр <facing>) могут быть разные инвентари
Как можно помечать чанки?
Если эти данные нужно хранить только в течении одной сессии(при перезапуске игры сохранять не надо), то можно сделать свое хранилище
Map<Integer,Set<ChunkPos>>
, это мапа, хранящая множества координат чанков(те что помечены) для каждого мира(который определяется идентификатором, можно взять из World#provider).
А если нужно сохранять и загружать эти метки вместе с миром, то чанку тоже можно добавлять свою капабилити
Пример капабилити для чанка:
Modifications to the Minecraft base files to assist in compatibility between mods. - JamiesWhiteShirt/MinecraftForge
github.com