aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgreesyB <73182109+greesyB@users.noreply.github.com>2022-08-18 05:17:28 -0500
committerGitHub <noreply@github.com>2022-08-18 12:17:28 +0200
commit27a68fdf779e6ab8aa6ff5b48c0977855709c3ad (patch)
tree92b637ee8c8b81f1418cd935f24267d14ecf8153 /src
parent8c0956d1cea5629f2b63eae6b683e4e0b7e2f470 (diff)
downloadGT5-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.java12
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;
}
}