From 8d7664f728f9101e7c0bfaddd13db3bdb8b422c6 Mon Sep 17 00:00:00 2001 From: abel1502 Date: Sun, 1 Jun 2025 19:29:01 +0300 Subject: [PATCH] Integrate stack size logic directly into SlotPattern --- src/main/java/com/hbm/inventory/SlotPattern.java | 10 ++++++++++ .../hbm/inventory/container/ContainerAutocrafter.java | 8 +------- .../inventory/container/ContainerCartDestroyer.java | 8 +------- .../hbm/inventory/container/ContainerCounterTorch.java | 8 +------- .../inventory/container/ContainerCraneExtractor.java | 8 +------- .../hbm/inventory/container/ContainerCraneGrabber.java | 8 +------- .../hbm/inventory/container/ContainerCraneRouter.java | 8 +------- .../inventory/container/ContainerDroneRequester.java | 8 +------- .../inventory/container/ContainerMachineCustom.java | 8 +------- .../hbm/inventory/container/ContainerMassStorage.java | 8 +------- .../hbm/inventory/container/ContainerPneumoTube.java | 4 +--- 11 files changed, 20 insertions(+), 66 deletions(-) diff --git a/src/main/java/com/hbm/inventory/SlotPattern.java b/src/main/java/com/hbm/inventory/SlotPattern.java index c40b92091..550fae5b6 100644 --- a/src/main/java/com/hbm/inventory/SlotPattern.java +++ b/src/main/java/com/hbm/inventory/SlotPattern.java @@ -5,6 +5,7 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; public class SlotPattern extends Slot { @@ -24,6 +25,15 @@ public class SlotPattern extends Slot { return 1; } + @Override + public void putStack(ItemStack stack) { + if (stack != null) { + stack = stack.copy(); + stack.stackSize = 1; + } + super.putStack(stack); + } + public SlotPattern disableHover() { this.canHover = false; return this; diff --git a/src/main/java/com/hbm/inventory/container/ContainerAutocrafter.java b/src/main/java/com/hbm/inventory/container/ContainerAutocrafter.java index 0c5c3ff51..f18f83c9f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerAutocrafter.java +++ b/src/main/java/com/hbm/inventory/container/ContainerAutocrafter.java @@ -74,13 +74,7 @@ public class ContainerAutocrafter extends ContainerBase { } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); autocrafter.matcher.initPatternSmart(autocrafter.getWorldObj(), slot.getStack(), index); autocrafter.updateTemplateGrid(); diff --git a/src/main/java/com/hbm/inventory/container/ContainerCartDestroyer.java b/src/main/java/com/hbm/inventory/container/ContainerCartDestroyer.java index 356a97d92..cff9ae430 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCartDestroyer.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCartDestroyer.java @@ -66,13 +66,7 @@ public class ContainerCartDestroyer extends Container { if(slot.getHasStack()) ret = slot.getStack().copy(); - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); return ret; } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java b/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java index 925b3d7e1..c50c6014f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java @@ -48,13 +48,7 @@ public class ContainerCounterTorch extends ContainerBase { return ret; } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); radio.matcher.initPatternStandard(radio.getWorldObj(), slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java b/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java index 9c0abe3a6..1da5825e1 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java @@ -105,13 +105,7 @@ public class ContainerCraneExtractor extends ContainerBase { return ret; } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); extractor.matcher.initPatternStandard(extractor.getWorldObj(), slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java b/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java index 7b35961ee..17de36f86 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java @@ -100,13 +100,7 @@ public class ContainerCraneGrabber extends ContainerBase { return ret; } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); grabber.matcher.initPatternStandard(grabber.getWorldObj(), slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneRouter.java b/src/main/java/com/hbm/inventory/container/ContainerCraneRouter.java index d30d8c8ae..79de2466f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCraneRouter.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneRouter.java @@ -52,13 +52,7 @@ public class ContainerCraneRouter extends ContainerBase { } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); router.initPattern(slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerDroneRequester.java b/src/main/java/com/hbm/inventory/container/ContainerDroneRequester.java index bdc788c44..13a8bbb0e 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerDroneRequester.java +++ b/src/main/java/com/hbm/inventory/container/ContainerDroneRequester.java @@ -85,13 +85,7 @@ public class ContainerDroneRequester extends ContainerCrateBase { return ret; } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); requester.matcher.initPatternStandard(requester.getWorldObj(), slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java index d85a2953f..2e988f28a 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java @@ -94,13 +94,7 @@ public class ContainerMachineCustom extends Container { } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); custom.matcher.initPatternSmart(player.worldObj, slot.getStack(), index - 10); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMassStorage.java b/src/main/java/com/hbm/inventory/container/ContainerMassStorage.java index 899cbc3f2..f8a760816 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMassStorage.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMassStorage.java @@ -79,13 +79,7 @@ public class ContainerMassStorage extends ContainerBase { if(storage.getStockpile() > 0) return ret; - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); return ret; } diff --git a/src/main/java/com/hbm/inventory/container/ContainerPneumoTube.java b/src/main/java/com/hbm/inventory/container/ContainerPneumoTube.java index 9796028ea..91eaab7f3 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerPneumoTube.java +++ b/src/main/java/com/hbm/inventory/container/ContainerPneumoTube.java @@ -39,9 +39,7 @@ public class ContainerPneumoTube extends ContainerBase { tube.nextMode(index); return ret; } else { - slot.putStack(held != null ? held.copy() : null); - if(slot.getHasStack()) slot.getStack().stackSize = 1; - slot.onSlotChanged(); + slot.putStack(held); tube.initPattern(slot.getStack(), index); return ret; }