From 7f83c73a28de057d710da92e47a21e68e989033f Mon Sep 17 00:00:00 2001 From: PrototypeTrousers Date: Sat, 16 Dec 2023 16:30:17 -0300 Subject: [PATCH] fix interface dropping stacks over the stack limit. fix potential dupes fixes #328 --- gradle.properties | 2 +- src/main/java/appeng/helpers/DualityInterface.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 35ae297eb..1ba22962f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -39,7 +39,7 @@ modId=appliedenergistics2 modGroup=appeng # Version of your mod. # This field can be left empty if you want your mod's version to be determined by the latest git tag instead. -modVersion=rv6-stable-7-extended_life-v0.55.26 +modVersion=rv6-stable-7-extended_life-v0.55.29 # Whether to use the old jar naming structure (modid-mcversion-version) instead of the new version (modid-version) includeMCVersionJar=false # The name of your jar when you produce builds, not including any versioning info diff --git a/src/main/java/appeng/helpers/DualityInterface.java b/src/main/java/appeng/helpers/DualityInterface.java index 4d679b1a7..548b17199 100644 --- a/src/main/java/appeng/helpers/DualityInterface.java +++ b/src/main/java/appeng/helpers/DualityInterface.java @@ -1203,6 +1203,13 @@ public class DualityInterface implements IGridTickable, IStorageMonitorable, IIn for (final ItemStack is : this.storage) { if (!is.isEmpty()) { + int maxStackSize = is.getMaxStackSize(); + while (is.getCount() > maxStackSize) { + ItemStack portionedStack = is.copy(); + portionedStack.setCount(maxStackSize); + is.shrink(maxStackSize); + drops.add(portionedStack); + } drops.add(is); } }