Как получить контейнер из тайла?

Версия Minecraft
1.15.2
103
2
2
Делаю свой верстак, чтобы он сохранял предметы когда из него выходят. Я взял код из ванильного верстака, всё крафтит, но инвентарь создаётся в контейнере и как мне получить из ТЕ инвентарь контейнера, чтобы сохранять его в нбт?
 
103
2
2
Я в конструкторе вот так написал, но игра просто вылетает, оно жалуется на null значение. Оно не успевает создать инвентарь?
craftingstationcontainer:
public craftingstationcontainer(final int windowId, final PlayerInventory playerInventory, final PacketBuffer data) {
        this(windowId, playerInventory, getTileEntity(playerInventory, data));
        if (craftMatrix instanceof CraftingInventory) {
            craftMatrix = this.tileEntity.craftMatrix;
        }else{
            craftMatrix = new CraftingInventory(this, 3, 3);
            this.tileEntity.craftMatrix = craftMatrix;
        }
    }
 
103
2
2
Я придумал как по другому сохранять вещи.
В конструкторе контейнера получаем вещи из инвентаря тайла
containerconstructor:
for (int i=0;i<9;i++)
        {
            ItemStack itemStack = this.tileEntity.inventory.getStackInSlot(9+i);
            this.craftMatrix.setInventorySlotContents(i,itemStack);
        }
А когда закрываем контейнер, то через цикл помещаем все вещи из матрицы в инвентарь.
onContainerClosed:
public void onContainerClosed(PlayerEntity playerIn) {
        super.onContainerClosed(playerIn);
        this.canInteractWithCallable.consume((p_217068_2_, p_217068_3_) -> {
            for (int i=0;i<9;i++)
            {
                ItemStack itemStack = this.craftMatrix.getStackInSlot(i);
                this.tileEntity.inventory.setStackInSlot(9+i,itemStack);
            }
            //this.clearContainer(playerIn, p_217068_2_, this.craftMatrix);
        });
    }
 
Сверху