diff options
author | Fox_white <39846845+foxwhite25@users.noreply.github.com> | 2023-03-29 00:38:05 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-28 18:38:05 +0200 |
commit | 218288161fb4ae84983fe846e959730a7a7b330d (patch) | |
tree | 5862acd6f3036316b13b0831b4f5c72708a5e613 /src/main/java/gregtech | |
parent | 9e42d4e1a5cac150fb9da6bb08013839551d84bb (diff) | |
download | GT5-Unofficial-218288161fb4ae84983fe846e959730a7a7b330d.tar.gz GT5-Unofficial-218288161fb4ae84983fe846e959730a7a7b330d.tar.bz2 GT5-Unofficial-218288161fb4ae84983fe846e959730a7a7b330d.zip |
Fix PCB Factory not voiding output when trace size is above 100 (#1822)
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r-- | src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java index 7d12b28218..df878d8050 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java @@ -587,18 +587,23 @@ public class GT_MetaTileEntity_PCBFactory extends mOutputItems = new ItemStack[tRecipe.mOutputs.length]; ArrayList<ItemStack> tOutputs = new ArrayList<ItemStack>(); - int repeats = (int) Math.ceil(getMaxEfficiency(aStack) / 10000.0f); - for (int k = 0; k < mCurrentParallel; k++) { - int remainingEfficiency = getMaxEfficiency(aStack) < 10000 ? 10000 : getMaxEfficiency(aStack); - for (int j = 0; j < repeats; j++) { - int chanced = getBaseMetaTileEntity().getRandomNumber(10000); - for (int i = 0; i < tRecipe.mOutputs.length; i++) { - if (chanced < remainingEfficiency) { - tOutputs.add(tRecipe.getOutput(i)); - } + int remainingEfficiency = getMaxEfficiency(aStack); + for (int j = 0; j < (int) Math.ceil(getMaxEfficiency(aStack) / 10000.0f); j++) { + int chanced = getBaseMetaTileEntity().getRandomNumber(10000); + if (chanced >= remainingEfficiency) { + continue; + } + for (ItemStack tOutput : tRecipe.mOutputs) { + if (tOutput == null) { + break; } - remainingEfficiency -= 10000; + tOutputs.add(tOutput); } + remainingEfficiency -= 10000; + } + + for (ItemStack itemStack : tOutputs) { + itemStack.stackSize *= mCurrentParallel; } mOutputItems = tOutputs.toArray(new ItemStack[0]); |