From 7baf538a7684cadffc012c2dc580ee52c84d552a Mon Sep 17 00:00:00 2001 From: NotMyWing Date: Tue, 11 Mar 2025 19:11:08 +1100 Subject: [PATCH] Fix stack sizes underflowing when shift-clicking into oversized slots Fixes #519 --- src/main/java/appeng/container/AEBaseContainer.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/appeng/container/AEBaseContainer.java b/src/main/java/appeng/container/AEBaseContainer.java index d3dd07e15..c097c05ad 100644 --- a/src/main/java/appeng/container/AEBaseContainer.java +++ b/src/main/java/appeng/container/AEBaseContainer.java @@ -399,9 +399,17 @@ public abstract class AEBaseContainer extends Container { return ItemStack.EMPTY; // don't insert duplicate encoded patterns to interfaces } - int maxSize = Math.min(tis.getMaxStackSize(), d.getSlotStackLimit()); + final int maxSize; + if (d instanceof SlotOversized slotOversized) { + maxSize = slotOversized.getSlotStackLimit(); + } else { + maxSize = Math.min(tis.getMaxStackSize(), d.getSlotStackLimit()); + } int placeAble = maxSize - t.getCount(); + if (placeAble <= 0) { + continue; + } if (tis.getCount() < placeAble) { placeAble = tis.getCount();