From f8fb44252596f2b5e675ad241bc4f38118fcadf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=9D=E5=A4=8F=E5=90=8C=E5=AD=A6?= <2411829240@qq.com> Date: Sun, 16 Jul 2023 00:29:26 +0800 Subject: [PATCH] Fix potential unsaves --- .../container/kami/ContainerIchorPouch.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/thaumic/tinkerer/common/block/tile/container/kami/ContainerIchorPouch.java b/src/main/java/thaumic/tinkerer/common/block/tile/container/kami/ContainerIchorPouch.java index ce0f6911..8ab3aca2 100644 --- a/src/main/java/thaumic/tinkerer/common/block/tile/container/kami/ContainerIchorPouch.java +++ b/src/main/java/thaumic/tinkerer/common/block/tile/container/kami/ContainerIchorPouch.java @@ -73,22 +73,31 @@ public class ContainerIchorPouch extends ContainerPlayerInv { if (par1 == blockSlot) { return null; } - return super.slotClick(par1, par2, par3, par4EntityPlayer); + + ItemStack stack = super.slotClick(par1, par2, par3, par4EntityPlayer); + if (!this.player.worldObj.isRemote) { + saveInventory(); + } + return stack; } @Override public void onContainerClosed(EntityPlayer par1EntityPlayer) { super.onContainerClosed(par1EntityPlayer); if (!player.worldObj.isRemote) { - ((ItemFocusPouch) pouch.getItem()).setInventory(pouch, ((InventoryIchorPouch) inv).stackList); - if (player == null) return; - if (player.getHeldItem() != null && player.getHeldItem().isItemEqual(pouch)) - player.setCurrentItemOrArmor(0, pouch); - - player.inventory.markDirty(); + saveInventory(); } } + private void saveInventory() { + ((ItemFocusPouch) pouch.getItem()).setInventory(pouch, ((InventoryIchorPouch) inv).stackList); + if (player == null) return; + if (player.getHeldItem() != null && player.getHeldItem().isItemEqual(pouch)) + player.setCurrentItemOrArmor(0, pouch); + + player.inventory.markDirty(); + } + @Override public boolean canInteractWith(EntityPlayer entityplayer) { return true;