From 27a68fdf779e6ab8aa6ff5b48c0977855709c3ad Mon Sep 17 00:00:00 2001 From: greesyB <73182109+greesyB@users.noreply.github.com> Date: Thu, 18 Aug 2022 05:17:28 -0500 Subject: Fix multi smelter output for non-full stacks (#1270) --- .../machines/multi/GT_MetaTileEntity_MultiFurnace.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java index 8a129c5f26..b0de2803b3 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java @@ -139,18 +139,20 @@ public class GT_MetaTileEntity_MultiFurnace extends GT_MetaTileEntity_AbstractMu int mVolatage = GT_Utility.safeInt(getMaxInputVoltage()); int tMaxParrallel = 8 * this.mLevel; int tCurrenParrallel = 0; - ArrayList smeltedOutputs = new ArrayList(); - ArrayList outputStackSizes = new ArrayList(); + ArrayList smeltedOutputs = new ArrayList<>(); + ArrayList outputStackSizes = new ArrayList<>(); for (ItemStack item : tInputList) { ItemStack smeltedOutput = GT_ModHandler.getSmeltingOutput(item, false, null); if (smeltedOutput != null) { smeltedOutputs.add(smeltedOutput); - outputStackSizes.add(smeltedOutput.stackSize * item.stackSize); - if (item.stackSize < (tMaxParrallel - tCurrenParrallel)) { + if (item.stackSize <= (tMaxParrallel - tCurrenParrallel)) { tCurrenParrallel += item.stackSize; + outputStackSizes.add(smeltedOutput.stackSize * item.stackSize); item.stackSize = 0; } else { - item.stackSize = (tCurrenParrallel + item.stackSize) - tMaxParrallel; + int remainingStackSize = tCurrenParrallel + item.stackSize - tMaxParrallel; + outputStackSizes.add(smeltedOutput.stackSize * (item.stackSize - remainingStackSize)); + item.stackSize = remainingStackSize; break; } } -- cgit