From cd5b9d3cc390d16e6bf2f7c984b58078c09faae0 Mon Sep 17 00:00:00 2001 From: Colin Wong Date: Sun, 24 Oct 2021 03:36:01 -0500 Subject: [PATCH 1/2] Fix containers being openable after destroyed --- .../java/pl/asie/charset/lib/inventory/ContainerBase.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/pl/asie/charset/lib/inventory/ContainerBase.java b/src/main/java/pl/asie/charset/lib/inventory/ContainerBase.java index 266e37cd..e78d0a3a 100644 --- a/src/main/java/pl/asie/charset/lib/inventory/ContainerBase.java +++ b/src/main/java/pl/asie/charset/lib/inventory/ContainerBase.java @@ -24,6 +24,7 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; import pl.asie.charset.lib.utils.ItemUtils; import java.util.ArrayList; @@ -52,7 +53,8 @@ public ContainerBase(InventoryPlayer inventoryPlayer, IContainerHandler listener @Override public boolean canInteractWith(EntityPlayer player) { - return isOwnerPresent() && containerHandler != null ? containerHandler.isUsableByPlayer(player) : (owner == player); + return isOwnerPresent() && (containerHandler != null ? containerHandler.isUsableByPlayer(player) : (owner == player)) + && (containerHandler instanceof TileEntity ? ((TileEntity) listener).world.getTileEntity(((TileEntity) containerHandler).getPos()) == ((TileEntity) containerHandler) : true); } @Override From e107c034b18174e39734f6bf582ae20c56a0c44c Mon Sep 17 00:00:00 2001 From: Colin Wong Date: Mon, 21 Feb 2022 18:15:18 -0600 Subject: [PATCH 2/2] Fix usage of listener outside of constructor --- .../java/pl/asie/charset/lib/inventory/ContainerBase.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/pl/asie/charset/lib/inventory/ContainerBase.java b/src/main/java/pl/asie/charset/lib/inventory/ContainerBase.java index e78d0a3a..9f473699 100644 --- a/src/main/java/pl/asie/charset/lib/inventory/ContainerBase.java +++ b/src/main/java/pl/asie/charset/lib/inventory/ContainerBase.java @@ -54,7 +54,9 @@ public ContainerBase(InventoryPlayer inventoryPlayer, IContainerHandler listener @Override public boolean canInteractWith(EntityPlayer player) { return isOwnerPresent() && (containerHandler != null ? containerHandler.isUsableByPlayer(player) : (owner == player)) - && (containerHandler instanceof TileEntity ? ((TileEntity) listener).world.getTileEntity(((TileEntity) containerHandler).getPos()) == ((TileEntity) containerHandler) : true); + && (containerHandler instanceof TileEntity ? + ((TileEntity) containerHandler).world.getTileEntity(((TileEntity) containerHandler).getPos()) == ((TileEntity) containerHandler) + : true); } @Override