diff options
author | greesyB <73182109+greesyB@users.noreply.github.com> | 2022-08-18 05:17:28 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-18 12:17:28 +0200 |
commit | 27a68fdf779e6ab8aa6ff5b48c0977855709c3ad (patch) | |
tree | 92b637ee8c8b81f1418cd935f24267d14ecf8153 /src | |
parent | 8c0956d1cea5629f2b63eae6b683e4e0b7e2f470 (diff) | |
download | GT5-Unofficial-27a68fdf779e6ab8aa6ff5b48c0977855709c3ad.tar.gz GT5-Unofficial-27a68fdf779e6ab8aa6ff5b48c0977855709c3ad.tar.bz2 GT5-Unofficial-27a68fdf779e6ab8aa6ff5b48c0977855709c3ad.zip |
Fix multi smelter output for non-full stacks (#1270)
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java | 12 |
1 files changed, 7 insertions, 5 deletions
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<ItemStack> smeltedOutputs = new ArrayList<ItemStack>(); - ArrayList<Integer> outputStackSizes = new ArrayList<Integer>(); + ArrayList<ItemStack> smeltedOutputs = new ArrayList<>(); + ArrayList<Integer> 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; } } |