aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java6
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java10
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEDistillationTower.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java33
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTESpargeTower.java6
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvDistillationTower.java8
6 files changed, 40 insertions, 29 deletions
diff --git a/src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java b/src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java
index dec5ff55da..2158436f1e 100644
--- a/src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java
+++ b/src/main/java/bartworks/common/tileentities/multis/mega/MTEMegaDistillTower.java
@@ -417,9 +417,9 @@ public class MTEMegaDistillTower extends MegaMultiBlockBase<MTEMegaDistillTower>
}
@Override
- protected void addFluidOutputs(FluidStack[] mOutputFluids2) {
- for (int i = 0; i < mOutputFluids2.length && i < this.mOutputHatchesByLayer.size(); i++) {
- FluidStack tStack = mOutputFluids2[i].copy();
+ protected void addFluidOutputs(FluidStack[] outputFluids) {
+ for (int i = 0; i < outputFluids.length && i < this.mOutputHatchesByLayer.size(); i++) {
+ FluidStack tStack = outputFluids[i].copy();
if (!dumpFluid(this.mOutputHatchesByLayer.get(i), tStack, true))
dumpFluid(this.mOutputHatchesByLayer.get(i), tStack, false);
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
index ce508433ec..d250943a23 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
@@ -1287,8 +1287,8 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
return false;
}
- protected void addFluidOutputs(FluidStack[] mOutputFluids2) {
- for (FluidStack outputFluidStack : mOutputFluids2) {
+ protected void addFluidOutputs(FluidStack[] outputFluids) {
+ for (FluidStack outputFluidStack : outputFluids) {
addOutput(outputFluidStack);
}
}
@@ -1337,6 +1337,12 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
return outputSuccess;
}
+ public void addItemOutputs(ItemStack[] outputItems) {
+ for (ItemStack outputItemStack : outputItems) {
+ addOutput(outputItemStack);
+ }
+ }
+
private boolean dumpItem(List<MTEHatchOutputBus> outputBuses, ItemStack itemStack, boolean restrictiveBusesOnly) {
for (MTEHatchOutputBus outputBus : outputBuses) {
if (restrictiveBusesOnly && !outputBus.isLocked()) {
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() {
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTESpargeTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTESpargeTower.java
index f8e60dd677..be510e8ea5 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTESpargeTower.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTESpargeTower.java
@@ -393,9 +393,9 @@ public class MTESpargeTower extends GTPPMultiBlockBase<MTESpargeTower> implement
}
@Override
- protected void addFluidOutputs(FluidStack[] mOutputFluids2) {
- for (int i = 0; i < mOutputFluids2.length && i < mOutputHatchesByLayer.size(); i++) {
- FluidStack tStack = mOutputFluids2[i] != null ? mOutputFluids2[i].copy() : null;
+ protected void addFluidOutputs(FluidStack[] outputFluids) {
+ for (int i = 0; i < outputFluids.length && i < mOutputHatchesByLayer.size(); i++) {
+ FluidStack tStack = outputFluids[i] != null ? outputFluids[i].copy() : null;
if (tStack == null) {
continue;
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvDistillationTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvDistillationTower.java
index 059bfdc507..46a8d8fe3d 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvDistillationTower.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvDistillationTower.java
@@ -355,17 +355,17 @@ public class MTEAdvDistillationTower extends GTPPMultiBlockBase<MTEAdvDistillati
}
@Override
- protected void addFluidOutputs(FluidStack[] mOutputFluids2) {
+ protected void addFluidOutputs(FluidStack[] outputFluids) {
if (mMode == Mode.DistillationTower) {
// dt mode
- for (int i = 0; i < mOutputFluids2.length && i < mOutputHatchesByLayer.size(); i++) {
- FluidStack tStack = mOutputFluids2[i].copy();
+ for (int i = 0; i < outputFluids.length && i < mOutputHatchesByLayer.size(); i++) {
+ FluidStack tStack = outputFluids[i].copy();
if (!dumpFluid(mOutputHatchesByLayer.get(i), tStack, true))
dumpFluid(mOutputHatchesByLayer.get(i), tStack, false);
}
} else {
// distillery mode
- for (FluidStack outputFluidStack : mOutputFluids2) {
+ for (FluidStack outputFluidStack : outputFluids) {
addOutput(outputFluidStack);
}
}