From f1e5a33a6e0f391c3083eb0ef163a3adaea7577f Mon Sep 17 00:00:00 2001 From: NotMyWing Date: Tue, 18 Mar 2025 18:22:03 +1100 Subject: [PATCH] Fix ME Portable Cell voiding/dupes & disabled slot idiocy Fixes #383, fixes #299 --- .../client/gui/implementations/GuiMEPortableCell.java | 3 ++- src/main/java/appeng/container/AEBaseContainer.java | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/appeng/client/gui/implementations/GuiMEPortableCell.java b/src/main/java/appeng/client/gui/implementations/GuiMEPortableCell.java index 2cb29d3ce..fb12ff99e 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiMEPortableCell.java +++ b/src/main/java/appeng/client/gui/implementations/GuiMEPortableCell.java @@ -20,13 +20,14 @@ package appeng.client.gui.implementations; import appeng.api.implementations.guiobjects.IPortableCell; +import appeng.container.implementations.ContainerMEPortableCell; import net.minecraft.entity.player.InventoryPlayer; public class GuiMEPortableCell extends GuiMEMonitorable { public GuiMEPortableCell(final InventoryPlayer inventoryPlayer, final IPortableCell te) { - super(inventoryPlayer, te); + super(inventoryPlayer, te, new ContainerMEPortableCell(inventoryPlayer, te)); } @Override diff --git a/src/main/java/appeng/container/AEBaseContainer.java b/src/main/java/appeng/container/AEBaseContainer.java index c097c05ad..9d57fa95f 100644 --- a/src/main/java/appeng/container/AEBaseContainer.java +++ b/src/main/java/appeng/container/AEBaseContainer.java @@ -961,8 +961,12 @@ public abstract class AEBaseContainer extends Container { @Override public ItemStack slotClick(int slotId, int dragType, ClickType clickTypeIn, @NotNull EntityPlayer player) { + final var slot = this.getSlot(slotId); + if (slot instanceof SlotDisabled) { + return ItemStack.EMPTY; + } + if (slotId >= 0 && clickTypeIn == ClickType.PICKUP) { - final var slot = this.getSlot(slotId); if (slot instanceof AppEngSlot appEngSlot) { var slotStack = slot.getStack(); var draggedStack = this.invPlayer.getItemStack();