- 103
- 2
- 2
Делаю свой верстак, чтобы он сохранял предметы когда из него выходят. Я взял код из ванильного верстака, всё крафтит, но инвентарь создаётся в контейнере и как мне получить из ТЕ инвентарь контейнера, чтобы сохранять его в нбт?
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;
}
}
for (int i=0;i<9;i++)
{
ItemStack itemStack = this.tileEntity.inventory.getStackInSlot(9+i);
this.craftMatrix.setInventorySlotContents(i,itemStack);
}
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);
});
}