diff options
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/machines')
2 files changed, 22 insertions, 17 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEDistillationTower.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEDistillationTower.java index 2fb630d8f8..93b64c16a8 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEDistillationTower.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEDistillationTower.java @@ -283,9 +283,9 @@ public class MTEDistillationTower extends MTEEnhancedMultiBlockBase<MTEDistillat } @Override - protected void addFluidOutputs(FluidStack[] mOutputFluids2) { - for (int i = 0; i < mOutputFluids2.length && i < mOutputHatchesByLayer.size(); i++) { - final FluidStack fluidStack = mOutputFluids2[i]; + protected void addFluidOutputs(FluidStack[] outputFluids) { + for (int i = 0; i < outputFluids.length && i < mOutputHatchesByLayer.size(); i++) { + final FluidStack fluidStack = outputFluids[i]; if (fluidStack == null) continue; FluidStack tStack = fluidStack.copy(); if (!dumpFluid(mOutputHatchesByLayer.get(i), tStack, true)) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java index b43421bd82..5276607c9a 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java @@ -357,6 +357,7 @@ public abstract class MTEPurificationUnitBase<T extends MTEExtendedPowerMultiBlo * @param progressTime Current progress time */ public void startCycle(int cycleTime, int progressTime) { + ThreadLocalRandom random = ThreadLocalRandom.current(); startRecipeProcessing(); // Important to calculate this before depleting inputs, otherwise we may get issues with boost items // disappearing. @@ -385,34 +386,38 @@ public abstract class MTEPurificationUnitBase<T extends MTEExtendedPowerMultiBlo fluidOutputs[i] = this.currentRecipe.mFluidOutputs[i].copy(); fluidOutputs[i].amount *= effectiveParallel; } - this.mOutputFluids = fluidOutputs; - this.mOutputItems = this.currentRecipe.mOutputs; - // Set this value, so it can be displayed in Waila. Note that the logic for the units is - // specifically overridden so setting this value does not actually drain power. - // Instead, power is drained by the main purification plant controller. - this.lEUt = -this.getActualPowerUsage(); - endRecipeProcessing(); - } - public void addRecipeOutputs() { - ThreadLocalRandom random = ThreadLocalRandom.current(); - this.addFluidOutputs(mOutputFluids); - // If this recipe has random item outputs, roll on it and add outputs + ItemStack[] itemOutputs = new ItemStack[this.currentRecipe.mOutputs.length]; + + // If this recipe has random item outputs, roll on it and add to outputs if (this.currentRecipe.mChances != null) { // Roll on each output individually for (int i = 0; i < this.currentRecipe.mOutputs.length; ++i) { // Recipes store probabilities as a value ranging from 1-10000 int roll = random.nextInt(10000); if (roll <= this.currentRecipe.mChances[i]) { - this.addOutput(this.currentRecipe.mOutputs[i]); + itemOutputs[i] = this.currentRecipe.mOutputs[i].copy(); } } } else { // Guaranteed item output for (int i = 0; i < this.currentRecipe.mOutputs.length; ++i) { - this.addOutput(this.currentRecipe.mOutputs[i]); + itemOutputs[i] = this.currentRecipe.mOutputs[i].copy(); } } + + this.mOutputFluids = fluidOutputs; + this.mOutputItems = itemOutputs; + // Set this value, so it can be displayed in Waila. Note that the logic for the units is + // specifically overridden so setting this value does not actually drain power. + // Instead, power is drained by the main purification plant controller. + this.lEUt = -this.getActualPowerUsage(); + endRecipeProcessing(); + } + + public void addRecipeOutputs() { + this.addFluidOutputs(mOutputFluids); + this.addItemOutputs(mOutputItems); } public void endCycle() { |