aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
authorFox_white <39846845+foxwhite25@users.noreply.github.com>2023-03-29 00:38:05 +0800
committerGitHub <noreply@github.com>2023-03-28 18:38:05 +0200
commit218288161fb4ae84983fe846e959730a7a7b330d (patch)
tree5862acd6f3036316b13b0831b4f5c72708a5e613 /src/main/java/gregtech
parent9e42d4e1a5cac150fb9da6bb08013839551d84bb (diff)
downloadGT5-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.java25
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]);