diff options
Diffstat (limited to 'src/main/java/gregtech')
-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; } } |