aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java9
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java9
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java14
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multiblock/CokeOven.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java4
19 files changed, 108 insertions, 26 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
index e673b6af30..bfef3cfc07 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
@@ -210,6 +210,8 @@ public class GT_MetaTileEntity_AssemblyLine
}
}
+ if (!canOutputAll(new ItemStack[] { tRecipe.mOutput })) continue;
+
// So here we check against the recipe found on the data stick.
// If we run into missing buses/hatches or bad inputs, we go to the next data stick.
// This check only happens if we have a valid up to date data stick.
@@ -468,6 +470,11 @@ public class GT_MetaTileEntity_AssemblyLine
return survivialBuildPiece(STRUCTURE_PIECE_LAST, stackSize, 1 - tLength, 1, 0, elementBudget, env, false, true);
}
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
+
private enum DataHatchElement implements IHatchElement<GT_MetaTileEntity_AssemblyLine> {
DataAccess;
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
index 7b62c40ed7..5c23d6cc7b 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
@@ -231,6 +231,7 @@ public class GT_MetaTileEntity_DistillationTower extends
new FluidStack[] { tFluid },
inputs);
if (tRecipe != null) {
+ if (!canOutputAll(tRecipe)) continue;
if (tRecipe.isRecipeInputEqual(true, tFluids, inputs)) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
@@ -395,4 +396,9 @@ public class GT_MetaTileEntity_DistillationTower extends
protected SoundResource getProcessStartSound() {
return SoundResource.GT_MACHINES_DISTILLERY_LOOP;
}
+
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
index c0334bfcec..dbb934cb80 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
@@ -207,6 +207,7 @@ public class GT_MetaTileEntity_ElectricBlastFurnace extends
if (tRecipe == null) return false;
if (this.mHeatingCapacity < tRecipe.mSpecialValue) return false;
+ if (!canOutputAll(tRecipe)) return false;
if (!tRecipe.isRecipeInputEqual(true, tFluids, tItems)) return false;
// In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1) return false;
@@ -439,7 +440,12 @@ public class GT_MetaTileEntity_ElectricBlastFurnace extends
}
@Override
- protected boolean isInputSeparationButtonEnabled() {
+ public boolean supportsVoidProtection() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsInputSeparation() {
return true;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
index 4f353b24f9..4fceb7c40d 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
@@ -314,6 +314,7 @@ public abstract class GT_MetaTileEntity_FusionComputer
this.mLastRecipe = null;
return false;
}
+ if (!canOutputAll(tRecipe)) return false;
if (mRunningOnLoad || tRecipe.isRecipeInputEqual(true, tFluids)) {
this.mLastRecipe = tRecipe;
this.mEUt = (this.mLastRecipe.mEUt * overclock(this.mLastRecipe.mSpecialValue));
@@ -631,4 +632,9 @@ public abstract class GT_MetaTileEntity_FusionComputer
.setPos(154, 4)
.setSize(18, 18));
}
+
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
index a5cce300ed..11a792f0a9 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
@@ -126,7 +126,7 @@ public class GT_MetaTileEntity_ImplosionCompressor
if (!tInputList.isEmpty()) {
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sImplosionRecipes
.findRecipe(getBaseMetaTileEntity(), false, 9223372036854775807L, null, tInputs);
- if ((tRecipe != null) && (tRecipe.isRecipeInputEqual(true, null, tInputs))) {
+ if ((tRecipe != null) && canOutputAll(tRecipe) && tRecipe.isRecipeInputEqual(true, null, tInputs)) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
// OC THAT EXPLOSIVE SHIT!!!
@@ -189,4 +189,9 @@ public class GT_MetaTileEntity_ImplosionCompressor
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
+
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java
index d3d425fc7f..39fd7905e4 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java
@@ -191,7 +191,7 @@ public class GT_MetaTileEntity_LargeChemicalReactor extends
fluids,
inputs);
- if (tRecipe == null || !tRecipe.isRecipeInputEqual(true, fluids, inputs)) {
+ if (tRecipe == null || !canOutputAll(tRecipe) || !tRecipe.isRecipeInputEqual(true, fluids, inputs)) {
return false;
}
@@ -265,6 +265,11 @@ public class GT_MetaTileEntity_LargeChemicalReactor extends
return survivialBuildPiece(STRUCTURE_PIECE_MAIN, stackSize, 1, 1, 0, elementBudget, env, false, true);
}
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
+
private enum CoilStructureElement implements IStructureElement<GT_MetaTileEntity_LargeChemicalReactor> {
INSTANCE;
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java
index 1468dab84b..e49bc4fd8c 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java
@@ -255,8 +255,8 @@ public class GT_MetaTileEntity_NanoForge extends
.findRecipe(getBaseMetaTileEntity(), null, false, false, tTotalEU, tFluidInputs, null, tItemInputs);
if (tRecipe == null) return false;
-
if (tRecipe.mSpecialValue > mSpecialTier) return false;
+ if (!canOutputAll(tRecipe)) return false;
if (tRecipe.isRecipeInputEqual(true, tFluidInputs, tItemInputs)) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
@@ -495,7 +495,12 @@ public class GT_MetaTileEntity_NanoForge extends
}
@Override
- protected boolean isInputSeparationButtonEnabled() {
+ public boolean supportsVoidProtection() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsInputSeparation() {
return true;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java
index 478aa7f7cd..3920c8285a 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java
@@ -181,6 +181,7 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_EnhancedMult
mInventory[1]);
if (tRecipe == null) return false;
+ if (!canOutputAll(tRecipe)) return false;
if (tRecipe.isRecipeInputEqual(true, tFluidInputs, mInventory[1])) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
@@ -393,4 +394,9 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_EnhancedMult
if (mMachine) return -1;
return survivialBuildPiece(STRUCTURE_PIECE_MAIN, stackSize, 2, 1, 0, elementBudget, env, false, true);
}
+
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
index 9cab5b4ec6..e1ef5bc55d 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
@@ -288,9 +288,11 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
GT_Log.out.println(" pump speed = " + speed);
}
- if (!voidExcess) {
+ // Even though it works fine without this check,
+ // it can save tiny amount of CPU time when void protection is disabled
+ if (protectsExcessFluid()) {
FluidStack simulatedOil = pumpOil(speed, true);
- if (!canFitOutput(new FluidStack[] { simulatedOil })) {
+ if (!canOutputAll(new FluidStack[] { simulatedOil })) {
return ValidationResult.of(ValidationType.INVALID, null);
}
}
@@ -372,7 +374,7 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
}
@Override
- protected boolean isVoidExcessButtonEnabled() {
+ public boolean supportsVoidProtection() {
return true;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
index b6a0d92f42..b16bd4bdea 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
@@ -134,7 +134,9 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
}
private boolean tryProcessOreList() {
- if (!voidExcess) {
+ // Even though it works fine without this check,
+ // it can save tiny amount of CPU time when void protection is disabled
+ if (protectsExcessItem()) {
boolean simulateResult = processOreList(true);
if (!simulateResult) {
mEUt = 0;
@@ -142,6 +144,7 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
return false;
}
}
+
boolean result = processOreList(false);
if (!result) {
mEUt = 0;
@@ -193,7 +196,7 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
}
}
ItemStack[] toOutput = getOutputByDrops(oreBlockDrops);
- if (simulate && !canFitOutput(toOutput)) {
+ if (simulate && !canOutputAll(toOutput)) {
return false;
}
mOutputItems = toOutput;
@@ -465,7 +468,7 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
}
@Override
- protected boolean isVoidExcessButtonEnabled() {
+ public boolean supportsVoidProtection() {
return true;
}
}
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 bdfa9dbda9..66a11db3a3 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
@@ -575,6 +575,7 @@ public class GT_MetaTileEntity_PCBFactory extends
if (recipeAllowed) {
GT_ParallelHelper helper = new GT_ParallelHelper().setRecipe(tRecipe)
+ .setController(this)
.setItemInputs(aItemInputs)
.setFluidInputs(aFluidInputs)
.setMaxParallel(aMaxParallel)
@@ -1352,7 +1353,12 @@ public class GT_MetaTileEntity_PCBFactory extends
}
@Override
- protected boolean isInputSeparationButtonEnabled() {
+ public boolean supportsVoidProtection() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsInputSeparation() {
return true;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java
index 621a6aaf16..6715ceed5f 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java
@@ -693,6 +693,7 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul
}
}
+ if (!canOutputAll(tRecipe_1)) return false;
// Takes items/fluids from hatches/busses.
if (!tRecipe_1.isRecipeInputEqual(true, tFluids, tItems)) return false;
@@ -776,6 +777,7 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul
return true;
}
+ @Override
public void clearHatches() {
super.clearHatches();
mExoticEnergyHatches.clear();
@@ -975,4 +977,9 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul
EU_per_tick = aNBT.getLong("eLongEUPerTick");
super.loadNBTData(aNBT);
}
+
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
index 00613eb9a4..a8de56f0cd 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
@@ -30,7 +30,6 @@ import net.minecraftforge.fluids.FluidStack;
import com.google.common.collect.ImmutableList;
import com.gtnewhorizon.structurelib.structure.IStructureElement;
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
-import com.gtnewhorizons.modularui.api.drawable.UITexture;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
import com.gtnewhorizons.modularui.common.widget.ButtonWidget;
@@ -664,12 +663,12 @@ public class GT_MetaTileEntity_ProcessingArray
}
@Override
- protected boolean isInputSeparationButtonEnabled() {
+ public boolean supportsInputSeparation() {
return true;
}
@Override
- protected boolean isBatchModeButtonEnabled() {
+ public boolean supportsBatchMode() {
return true;
}
@@ -681,14 +680,13 @@ public class GT_MetaTileEntity_ProcessingArray
new ButtonWidget().setOnClick((clickData, widget) -> downtierUEV = !downtierUEV)
.setPlayClickSound(true)
.setBackground(() -> {
- List<UITexture> ret = new ArrayList<>();
- ret.add(GT_UITextures.BUTTON_STANDARD);
if (downtierUEV) {
- ret.add(GT_UITextures.OVERLAY_BUTTON_DOWN_TIERING_ON);
+ return new IDrawable[] { GT_UITextures.BUTTON_STANDARD_PRESSED,
+ GT_UITextures.OVERLAY_BUTTON_DOWN_TIERING_ON };
} else {
- ret.add(GT_UITextures.OVERLAY_BUTTON_DOWN_TIERING_OFF);
+ return new IDrawable[] { GT_UITextures.BUTTON_STANDARD,
+ GT_UITextures.OVERLAY_BUTTON_DOWN_TIERING_OFF };
}
- return ret.toArray(new IDrawable[0]);
})
.setPos(80, 91)
.setSize(16, 16)
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
index d9b9d3c943..6f025d2ce1 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
@@ -182,7 +182,8 @@ public class GT_MetaTileEntity_PyrolyseOven
tRecipe = GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes
.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
- if (tRecipe == null || !tRecipe.isRecipeInputEqual(true, tFluids, tInputs)) return false;
+ if (tRecipe == null || !canOutputAll(tRecipe) || !tRecipe.isRecipeInputEqual(true, tFluids, tInputs))
+ return false;
if (mLockedToSingleRecipe) {
mSingleRecipeCheck = tSingleRecipeCheckBuilder.setAfter(tInputs, tFluids)
@@ -289,4 +290,9 @@ public class GT_MetaTileEntity_PyrolyseOven
if (mMachine) return -1;
return survivialBuildPiece("main", stackSize, 2, 3, 0, elementBudget, env, false, true);
}
+
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java
index 2c1b7dae57..eff23027ef 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java
@@ -164,6 +164,8 @@ public class GT_MetaTileEntity_TranscendentPlasmaMixer
// Multiply up the output fluid.
modifiedRecipe.mFluidOutputs[0].amount *= multiplier;
+ if (!canOutputAll(modifiedRecipe)) return false;
+
// Takes items/fluids from hatches/busses.
if (!modifiedRecipe.isRecipeInputEqual(true, fluids, items)) return false;
@@ -255,4 +257,9 @@ public class GT_MetaTileEntity_TranscendentPlasmaMixer
multiplier = aNBT.getInteger("eMultiplier");
super.loadNBTData(aNBT);
}
+
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
index 1d86dfecce..815515b555 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
@@ -111,6 +111,7 @@ public class GT_MetaTileEntity_VacuumFreezer
GT_Recipe tRecipe = getRecipeMap()
.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluidList, tInputList);
if (tRecipe != null) {
+ if (!canOutputAll(tRecipe)) return false;
if (tRecipe.isRecipeInputEqual(true, tFluidList, tInputList)) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
@@ -160,4 +161,9 @@ public class GT_MetaTileEntity_VacuumFreezer
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
+
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java b/src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java
index acf7be1923..35e006b9be 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java
@@ -26,6 +26,7 @@ import com.gtnewhorizons.modularui.api.forge.ItemStackHandler;
import com.gtnewhorizons.modularui.api.math.Alignment;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
+import com.gtnewhorizons.modularui.api.widget.IWidgetBuilder;
import com.gtnewhorizons.modularui.common.widget.ButtonWidget;
import com.gtnewhorizons.modularui.common.widget.MultiChildWidget;
import com.gtnewhorizons.modularui.common.widget.SlotGroup;
@@ -308,8 +309,8 @@ public class AdvChemicalReactor extends ComplexParallelController<AdvChemicalRea
}
@Override
- protected MultiChildWidget createMainPage() {
- MultiChildWidget child = super.createMainPage();
+ protected MultiChildWidget createMainPage(IWidgetBuilder<?> builder) {
+ MultiChildWidget child = super.createMainPage(builder);
for (int i = 0; i < MAX_PROCESSES; i++) {
final int processIndex = i;
child.addChild(
diff --git a/src/main/java/gregtech/common/tileentities/machines/multiblock/CokeOven.java b/src/main/java/gregtech/common/tileentities/machines/multiblock/CokeOven.java
index 3e465bb6ae..db06a65139 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multiblock/CokeOven.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multiblock/CokeOven.java
@@ -117,7 +117,7 @@ public class CokeOven extends Controller<CokeOven> implements PollutionLogicHost
builder.widget(
new SlotWidget(outputInventory, 0).setPos(36, 36)
.setSize(18, 18));
- builder.widget(createButtons());
+ builder.widget(createButtons(builder));
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java
index 6bcdab62e0..a6fdb1a0cd 100644
--- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java
+++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java
@@ -637,7 +637,7 @@ public abstract class GT_MetaTileEntity_DigitalTankBase extends GT_MetaTileEntit
}
})
.setVariableBackground(GT_UITextures.BUTTON_STANDARD_TOGGLE)
- .setStaticTexture(GT_UITextures.OVERLAY_BUTTON_VOID_EXCESS)
+ .setStaticTexture(GT_UITextures.OVERLAY_BUTTON_TANK_VOID_EXCESS)
.setGTTooltip(() -> mTooltipCache.getData("GT5U.machines.digitaltank.voidoverflow.tooltip"))
.setTooltipShowUpDelay(TOOLTIP_DELAY)
.setPos(133, 7)
@@ -654,7 +654,7 @@ public abstract class GT_MetaTileEntity_DigitalTankBase extends GT_MetaTileEntit
}
})
.setVariableBackground(GT_UITextures.BUTTON_STANDARD_TOGGLE)
- .setStaticTexture(GT_UITextures.OVERLAY_BUTTON_VOID_ALL)
+ .setStaticTexture(GT_UITextures.OVERLAY_BUTTON_TANK_VOID_ALL)
.setGTTooltip(() -> mTooltipCache.getData("GT5U.machines.digitaltank.voidfull.tooltip"))
.setTooltipShowUpDelay(TOOLTIP_DELAY)
.setPos(151, 7)