aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-15 23:30:13 +0200
committerGitHub <noreply@github.com>2024-09-15 23:30:13 +0200
commit5f6011f705c75007b48735d02e590581c78ca8db (patch)
tree9b7f240e568d11c2396dc1e8b9997bbdf61c83ca /src/main/java/gregtech
parentdda786c0183f6655a4a264edf2d75688e7fe895e (diff)
downloadGT5-Unofficial-5f6011f705c75007b48735d02e590581c78ca8db.tar.gz
GT5-Unofficial-5f6011f705c75007b48735d02e590581c78ca8db.tar.bz2
GT5-Unofficial-5f6011f705c75007b48735d02e590581c78ca8db.zip
Small optimizations & MultiBlockBase cleanup (#3197)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/MTEExtendedPowerMultiBlockBase.java3
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java216
-rw-r--r--src/main/java/gregtech/api/util/ExoticEnergyInputHelper.java12
-rw-r--r--src/main/java/gregtech/api/util/GTUtil.java3
-rw-r--r--src/main/java/gregtech/api/util/GTUtility.java10
-rw-r--r--src/main/java/gregtech/api/util/ValidMTEList.java60
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEAssemblyLine.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEDieselEngine.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEDrillerBase.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEElectricBlastFurnace.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEExtremeDieselEngine.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEFusionComputer.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiFurnace.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEOilCracker.java10
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEPlasmaForge.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEProcessingArray.java4
18 files changed, 192 insertions, 177 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEExtendedPowerMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEExtendedPowerMultiBlockBase.java
index 565406e456..29a67fa099 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/MTEExtendedPowerMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEExtendedPowerMultiBlockBase.java
@@ -2,6 +2,7 @@ package gregtech.api.metatileentity.implementations;
import static gregtech.api.enums.GTValues.VN;
import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
import java.util.List;
@@ -145,7 +146,7 @@ public abstract class MTEExtendedPowerMultiBlockBase<T extends MTEEnhancedMultiB
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;
- for (MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches)) {
+ for (MTEHatchMuffler tHatch : validMTEList(mMufflerHatches)) {
mPollutionReduction = Math.max(tHatch.calculatePollutionReduction(100), mPollutionReduction);
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
index a6526ac6fa..b677f6ae24 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
@@ -4,6 +4,7 @@ import static gregtech.api.enums.GTValues.V;
import static gregtech.api.enums.GTValues.VN;
import static gregtech.api.util.GTUtility.filterValidMTEs;
import static gregtech.api.util.GTUtility.formatNumbers;
+import static gregtech.api.util.GTUtility.validMTEList;
import static mcp.mobius.waila.api.SpecialChars.GREEN;
import static mcp.mobius.waila.api.SpecialChars.RED;
import static mcp.mobius.waila.api.SpecialChars.RESET;
@@ -508,7 +509,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
if (!shouldCheckMaintenance()) return;
if (getRepairStatus() != getIdealStatus()) {
- for (MTEHatchMaintenance tHatch : filterValidMTEs(mMaintenanceHatches)) {
+ for (MTEHatchMaintenance tHatch : validMTEList(mMaintenanceHatches)) {
if (tHatch.mAuto) tHatch.autoMaintainance();
if (tHatch.mWrench) mWrench = true;
if (tHatch.mScrewdriver) mScrewdriver = true;
@@ -592,12 +593,6 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
if (mOutputItems != null) {
for (ItemStack tStack : mOutputItems) {
if (tStack != null) {
- try {
- GTMod.achievements.issueAchivementHatch(
- aBaseMetaTileEntity.getWorld()
- .getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()),
- tStack);
- } catch (Exception ignored) {}
addOutput(tStack);
}
}
@@ -605,14 +600,6 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
if (mOutputFluids != null) {
addFluidOutputs(mOutputFluids);
- if (mOutputFluids.length > 1) {
- try {
- GTMod.achievements.issueAchievement(
- aBaseMetaTileEntity.getWorld()
- .getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()),
- "oilplant");
- } catch (Exception ignored) {}
- }
mOutputFluids = null;
}
mEfficiency = Math.max(
@@ -646,8 +633,10 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
public boolean polluteEnvironment(int aPollutionLevel) {
+ // Early exit if pollution is disabled
+ if (!GTMod.gregtechproxy.mPollution) return true;
mPollution += aPollutionLevel;
- for (MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches)) {
+ for (MTEHatchMuffler tHatch : validMTEList(mMufflerHatches)) {
if (mPollution >= 10000) {
if (tHatch.polluteEnvironment(this)) {
mPollution -= 10000;
@@ -1112,7 +1101,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
if (aEU <= 0) {
return true;
}
- if (mDynamoHatches.size() > 0) {
+ if (!mDynamoHatches.isEmpty()) {
return addEnergyOutputMultipleDynamos(aEU, true);
}
return false;
@@ -1123,7 +1112,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
long totalOutput = 0;
long aFirstVoltageFound = -1;
boolean aFoundMixedDynamos = false;
- for (MTEHatchDynamo aDynamo : filterValidMTEs(mDynamoHatches)) {
+ for (MTEHatchDynamo aDynamo : validMTEList(mDynamoHatches)) {
long aVoltage = aDynamo.maxEUOutput();
long aTotal = aDynamo.maxAmperesOut() * aVoltage;
// Check against voltage to check when hatch mixing
@@ -1147,7 +1136,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
int aAmpsToInject;
int aRemainder;
int ampsOnCurrentHatch;
- for (MTEHatchDynamo aDynamo : filterValidMTEs(mDynamoHatches)) {
+ for (MTEHatchDynamo aDynamo : validMTEList(mDynamoHatches)) {
leftToInject = aEU - injected;
aVoltage = aDynamo.maxEUOutput();
aAmpsToInject = (int) (leftToInject / aVoltage);
@@ -1172,7 +1161,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
*/
public long getMaxInputVoltage() {
long rVoltage = 0;
- for (MTEHatchEnergy tHatch : filterValidMTEs(mEnergyHatches)) rVoltage += tHatch.getBaseMetaTileEntity()
+ for (MTEHatchEnergy tHatch : validMTEList(mEnergyHatches)) rVoltage += tHatch.getBaseMetaTileEntity()
.getInputVoltage();
return rVoltage;
}
@@ -1194,7 +1183,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
*/
public long getMaxInputPower() {
long eut = 0;
- for (MTEHatchEnergy tHatch : filterValidMTEs(mEnergyHatches)) {
+ for (MTEHatchEnergy tHatch : validMTEList(mEnergyHatches)) {
IGregTechTileEntity baseTile = tHatch.getBaseMetaTileEntity();
eut += baseTile.getInputVoltage() * baseTile.getInputAmperage();
}
@@ -1206,7 +1195,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
*/
public long getInputVoltageTier() {
long rTier = 0;
- if (mEnergyHatches.size() > 0) {
+ if (!mEnergyHatches.isEmpty()) {
rTier = mEnergyHatches.get(0)
.getInputTier();
for (int i = 1; i < mEnergyHatches.size(); i++) {
@@ -1259,7 +1248,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
public boolean drainEnergyInput(long aEU) {
if (aEU <= 0) return true;
- for (MTEHatchEnergy tHatch : filterValidMTEs(mEnergyHatches)) {
+ for (MTEHatchEnergy tHatch : validMTEList(mEnergyHatches)) {
if (tHatch.getBaseMetaTileEntity()
.decreaseStoredEnergyUnits(aEU, false)) return true;
}
@@ -1268,7 +1257,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
protected static boolean dumpFluid(List<MTEHatchOutput> aOutputHatches, FluidStack copiedFluidStack,
boolean restrictiveHatchesOnly) {
- for (MTEHatchOutput tHatch : filterValidMTEs(aOutputHatches)) {
+ for (MTEHatchOutput tHatch : validMTEList(aOutputHatches)) {
if (restrictiveHatchesOnly && tHatch.mMode == 0) {
continue;
}
@@ -1307,7 +1296,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
public boolean depleteInput(FluidStack aLiquid, boolean simulate) {
if (aLiquid == null) return false;
- for (MTEHatchInput tHatch : filterValidMTEs(mInputHatches)) {
+ for (MTEHatchInput tHatch : validMTEList(mInputHatches)) {
setHatchRecipeMap(tHatch);
FluidStack tLiquid = tHatch.drain(ForgeDirection.UNKNOWN, aLiquid, false);
if (tLiquid != null && tLiquid.amount >= aLiquid.amount) {
@@ -1332,10 +1321,11 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
boolean outputSuccess = true;
// noinspection DataFlowIssue
+ final List<MTEHatchOutput> filteredHatches = filterValidMTEs(mOutputHatches);
while (outputSuccess && aStack.stackSize > 0) {
outputSuccess = false;
ItemStack single = aStack.splitStack(1);
- for (MTEHatchOutput tHatch : filterValidMTEs(mOutputHatches)) {
+ for (MTEHatchOutput tHatch : filteredHatches) {
if (!outputSuccess && tHatch.outputsItems()) {
if (tHatch.getBaseMetaTileEntity()
.addStackToSlot(1, single)) outputSuccess = true;
@@ -1363,32 +1353,25 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
if (GTUtility.isStackInvalid(aStack)) return false;
FluidStack aLiquid = GTUtility.getFluidForFilledItem(aStack, true);
if (aLiquid != null) return depleteInput(aLiquid);
- for (MTEHatchInput tHatch : filterValidMTEs(mInputHatches)) {
+ for (MTEHatchInput tHatch : validMTEList(mInputHatches)) {
setHatchRecipeMap(tHatch);
- if (GTUtility.areStacksEqual(
- aStack,
- tHatch.getBaseMetaTileEntity()
- .getStackInSlot(0))) {
- if (tHatch.getBaseMetaTileEntity()
- .getStackInSlot(0).stackSize >= aStack.stackSize) {
- tHatch.getBaseMetaTileEntity()
- .decrStackSize(0, aStack.stackSize);
+ final IGregTechTileEntity baseMetaTileEntity = tHatch.getBaseMetaTileEntity();
+ ItemStack stackInFirstSlot = baseMetaTileEntity.getStackInSlot(0);
+ if (GTUtility.areStacksEqual(aStack, stackInFirstSlot)) {
+ if (stackInFirstSlot.stackSize >= aStack.stackSize) {
+ baseMetaTileEntity.decrStackSize(0, aStack.stackSize);
return true;
}
}
}
- for (MTEHatchInputBus tHatch : filterValidMTEs(mInputBusses)) {
+ for (MTEHatchInputBus tHatch : validMTEList(mInputBusses)) {
tHatch.mRecipeMap = getRecipeMap();
- for (int i = tHatch.getBaseMetaTileEntity()
- .getSizeInventory() - 1; i >= 0; i--) {
- if (GTUtility.areStacksEqual(
- aStack,
- tHatch.getBaseMetaTileEntity()
- .getStackInSlot(i))) {
- if (tHatch.getBaseMetaTileEntity()
- .getStackInSlot(i).stackSize >= aStack.stackSize) {
- tHatch.getBaseMetaTileEntity()
- .decrStackSize(i, aStack.stackSize);
+ final IGregTechTileEntity baseMetaTileEntity = tHatch.getBaseMetaTileEntity();
+ for (int i = baseMetaTileEntity.getSizeInventory() - 1; i >= 0; i--) {
+ ItemStack stackInSlot = baseMetaTileEntity.getStackInSlot(i);
+ if (GTUtility.areStacksEqual(aStack, stackInSlot)) {
+ if (stackInSlot.stackSize >= aStack.stackSize) {
+ baseMetaTileEntity.decrStackSize(i, aStack.stackSize);
return true;
}
}
@@ -1399,12 +1382,10 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
public ArrayList<ItemStack> getStoredOutputs() {
ArrayList<ItemStack> rList = new ArrayList<>();
- for (MTEHatchOutputBus tHatch : filterValidMTEs(mOutputBusses)) {
- for (int i = tHatch.getBaseMetaTileEntity()
- .getSizeInventory() - 1; i >= 0; i--) {
- rList.add(
- tHatch.getBaseMetaTileEntity()
- .getStackInSlot(i));
+ for (MTEHatchOutputBus tHatch : validMTEList(mOutputBusses)) {
+ IGregTechTileEntity baseMetaTileEntity = tHatch.getBaseMetaTileEntity();
+ for (int i = baseMetaTileEntity.getSizeInventory() - 1; i >= 0; i--) {
+ rList.add(baseMetaTileEntity.getStackInSlot(i));
}
}
return rList;
@@ -1413,7 +1394,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
public ArrayList<FluidStack> getStoredFluids() {
ArrayList<FluidStack> rList = new ArrayList<>();
Map<Fluid, FluidStack> inputsFromME = new HashMap<>();
- for (MTEHatchInput tHatch : filterValidMTEs(mInputHatches)) {
+ for (MTEHatchInput tHatch : validMTEList(mInputHatches)) {
setHatchRecipeMap(tHatch);
if (tHatch instanceof MTEHatchMultiInput multiInputHatch) {
for (FluidStack tFluid : multiInputHatch.getStoredFluid()) {
@@ -1429,8 +1410,9 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
}
} else {
- if (tHatch.getFillableStack() != null) {
- rList.add(tHatch.getFillableStack());
+ FluidStack fillableStack = tHatch.getFillableStack();
+ if (fillableStack != null) {
+ rList.add(fillableStack);
}
}
}
@@ -1481,7 +1463,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
public ArrayList<ItemStack> getStoredInputs() {
ArrayList<ItemStack> rList = new ArrayList<>();
Map<GTUtility.ItemId, ItemStack> inputsFromME = new HashMap<>();
- for (MTEHatchInputBus tHatch : filterValidMTEs(mInputBusses)) {
+ for (MTEHatchInputBus tHatch : validMTEList(mInputBusses)) {
if (tHatch instanceof MTEHatchCraftingInputME) {
continue;
}
@@ -1501,8 +1483,9 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
}
- if (getStackInSlot(1) != null && getStackInSlot(1).getUnlocalizedName()
- .startsWith("gt.integrated_circuit")) rList.add(getStackInSlot(1));
+ ItemStack stackInSlot1 = getStackInSlot(1);
+ if (stackInSlot1 != null && stackInSlot1.getUnlocalizedName()
+ .startsWith("gt.integrated_circuit")) rList.add(stackInSlot1);
if (!inputsFromME.isEmpty()) {
rList.addAll(inputsFromME.values());
}
@@ -1536,7 +1519,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
Map<GTUtility.ItemId, ItemStack> inputsFromME = new HashMap<>();
- for (MTEHatchInputBus tHatch : filterValidMTEs(mInputBusses)) {
+ for (MTEHatchInputBus tHatch : validMTEList(mInputBusses)) {
if (tHatch instanceof MTEHatchCraftingInputME) {
continue;
}
@@ -1556,8 +1539,9 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
}
- if (getStackInSlot(1) != null && getStackInSlot(1).getUnlocalizedName()
- .startsWith("gt.integrated_circuit")) rList.add(getStackInSlot(1));
+ ItemStack stackInSlot1 = getStackInSlot(1);
+ if (stackInSlot1 != null && stackInSlot1.getUnlocalizedName()
+ .startsWith("gt.integrated_circuit")) rList.add(stackInSlot1);
if (!inputsFromME.isEmpty()) {
rList.addAll(inputsFromME.values());
}
@@ -1566,7 +1550,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
public Map<GTUtility.ItemId, ItemStack> getStoredInputsFromME() {
Map<GTUtility.ItemId, ItemStack> inputsFromME = new Object2ReferenceOpenHashMap<>();
- for (MTEHatchInputBus tHatch : filterValidMTEs(mInputBusses)) {
+ for (MTEHatchInputBus tHatch : validMTEList(mInputBusses)) {
if (tHatch instanceof MTEHatchInputBusME meBus) {
for (int i = meBus.getSizeInventory() - 1; i >= 0; i--) {
ItemStack itemStack = meBus.getStackInSlot(i);
@@ -1582,7 +1566,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
public Map<Fluid, FluidStack> getStoredFluidsFromME() {
Map<Fluid, FluidStack> fluidsFromME = new Reference2ReferenceOpenHashMap<>();
- for (MTEHatchInput tHatch : filterValidMTEs(mInputHatches)) {
+ for (MTEHatchInput tHatch : validMTEList(mInputHatches)) {
if (tHatch instanceof MTEHatchInputME meHatch) {
for (FluidStack fluid : meHatch.getStoredFluids()) {
if (fluid != null) {
@@ -1611,17 +1595,17 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
public void updateSlots() {
- for (MTEHatchInput tHatch : filterValidMTEs(mInputHatches)) tHatch.updateSlots();
- for (MTEHatchInputBus tHatch : filterValidMTEs(mInputBusses)) tHatch.updateSlots();
+ for (MTEHatchInput tHatch : validMTEList(mInputHatches)) tHatch.updateSlots();
+ for (MTEHatchInputBus tHatch : validMTEList(mInputBusses)) tHatch.updateSlots();
}
protected void startRecipeProcessing() {
- for (MTEHatchInputBus hatch : filterValidMTEs(mInputBusses)) {
+ for (MTEHatchInputBus hatch : validMTEList(mInputBusses)) {
if (hatch instanceof IRecipeProcessingAwareHatch aware) {
aware.startRecipeProcessing();
}
}
- for (MTEHatchInput hatch : filterValidMTEs(mInputHatches)) {
+ for (MTEHatchInput hatch : validMTEList(mInputHatches)) {
if (hatch instanceof IRecipeProcessingAwareHatch aware) {
aware.startRecipeProcessing();
}
@@ -1635,12 +1619,12 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
protected void endRecipeProcessing() {
- for (MTEHatchInputBus hatch : filterValidMTEs(mInputBusses)) {
+ for (MTEHatchInputBus hatch : validMTEList(mInputBusses)) {
if (hatch instanceof IRecipeProcessingAwareHatch aware) {
setResultIfFailure(aware.endRecipeProcessing(this));
}
}
- for (MTEHatchInput hatch : filterValidMTEs(mInputHatches)) {
+ for (MTEHatchInput hatch : validMTEList(mInputHatches)) {
if (hatch instanceof IRecipeProcessingAwareHatch aware) {
setResultIfFailure(aware.endRecipeProcessing(this));
}
@@ -1665,21 +1649,20 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
mSmartInputHatches.add(hatch);
}
}
- if (aMetaTileEntity instanceof MTEHatchInput) {
- setHatchRecipeMap((MTEHatchInput) aMetaTileEntity);
- return mInputHatches.add((MTEHatchInput) aMetaTileEntity);
+ if (aMetaTileEntity instanceof MTEHatchInput hatch) {
+ setHatchRecipeMap(hatch);
+ return mInputHatches.add(hatch);
}
- if (aMetaTileEntity instanceof MTEHatchInputBus) {
- ((MTEHatchInputBus) aMetaTileEntity).mRecipeMap = getRecipeMap();
- return mInputBusses.add((MTEHatchInputBus) aMetaTileEntity);
+ if (aMetaTileEntity instanceof MTEHatchInputBus hatch) {
+ hatch.mRecipeMap = getRecipeMap();
+ return mInputBusses.add(hatch);
}
- if (aMetaTileEntity instanceof MTEHatchOutput) return mOutputHatches.add((MTEHatchOutput) aMetaTileEntity);
- if (aMetaTileEntity instanceof MTEHatchOutputBus) return mOutputBusses.add((MTEHatchOutputBus) aMetaTileEntity);
- if (aMetaTileEntity instanceof MTEHatchEnergy) return mEnergyHatches.add((MTEHatchEnergy) aMetaTileEntity);
- if (aMetaTileEntity instanceof MTEHatchDynamo) return mDynamoHatches.add((MTEHatchDynamo) aMetaTileEntity);
- if (aMetaTileEntity instanceof MTEHatchMaintenance)
- return mMaintenanceHatches.add((MTEHatchMaintenance) aMetaTileEntity);
- if (aMetaTileEntity instanceof MTEHatchMuffler) return mMufflerHatches.add((MTEHatchMuffler) aMetaTileEntity);
+ if (aMetaTileEntity instanceof MTEHatchOutput hatch) return mOutputHatches.add(hatch);
+ if (aMetaTileEntity instanceof MTEHatchOutputBus hatch) return mOutputBusses.add(hatch);
+ if (aMetaTileEntity instanceof MTEHatchEnergy hatch) return mEnergyHatches.add(hatch);
+ if (aMetaTileEntity instanceof MTEHatchDynamo hatch) return mDynamoHatches.add(hatch);
+ if (aMetaTileEntity instanceof MTEHatchMaintenance hatch) return mMaintenanceHatches.add(hatch);
+ if (aMetaTileEntity instanceof MTEHatchMuffler hatch) return mMufflerHatches.add(hatch);
return false;
}
@@ -1833,17 +1816,16 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;
- for (MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches)) {
+ for (MTEHatchMuffler tHatch : validMTEList(mMufflerHatches)) {
mPollutionReduction = Math.max(tHatch.calculatePollutionReduction(100), mPollutionReduction);
}
long storedEnergy = 0;
long maxEnergy = 0;
- for (MTEHatchEnergy tHatch : filterValidMTEs(mEnergyHatches)) {
- storedEnergy += tHatch.getBaseMetaTileEntity()
- .getStoredEU();
- maxEnergy += tHatch.getBaseMetaTileEntity()
- .getEUCapacity();
+ for (MTEHatchEnergy tHatch : validMTEList(mEnergyHatches)) {
+ final IGregTechTileEntity baseMetaTileEntity = tHatch.getBaseMetaTileEntity();
+ storedEnergy += baseMetaTileEntity.getStoredEU();
+ maxEnergy += baseMetaTileEntity.getEUCapacity();
}
return new String[] {
@@ -1915,47 +1897,6 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
return supportsSlotAutomation(aIndex);
}
- protected ItemStack[] getCompactedInputs() {
- // TODO: repalce method with a cleaner one
- ArrayList<ItemStack> tInputList = getStoredInputs();
- int tInputList_sS = tInputList.size();
- for (int i = 0; i < tInputList_sS - 1; i++) {
- for (int j = i + 1; j < tInputList_sS; j++) {
- if (!GTUtility.areStacksEqual(tInputList.get(i), tInputList.get(j))) continue;
- if (tInputList.get(i).stackSize >= tInputList.get(j).stackSize) {
- tInputList.remove(j--);
- tInputList_sS = tInputList.size();
- } else {
- tInputList.remove(i--);
- tInputList_sS = tInputList.size();
- break;
- }
- }
- }
- return tInputList.toArray(new ItemStack[0]);
- }
-
- protected FluidStack[] getCompactedFluids() {
- // TODO: repalce method with a cleaner one
- ArrayList<FluidStack> tFluidList = getStoredFluids();
- int tFluidList_sS = tFluidList.size();
- for (int i = 0; i < tFluidList_sS - 1; i++) {
- for (int j = i + 1; j < tFluidList_sS; j++) {
- if (!GTUtility.areFluidsEqual(tFluidList.get(i), tFluidList.get(j))) continue;
-
- if (tFluidList.get(i).amount >= tFluidList.get(j).amount) {
- tFluidList.remove(j--);
- tFluidList_sS = tFluidList.size();
- } else {
- tFluidList.remove(i--);
- tFluidList_sS = tFluidList.size();
- break;
- }
- }
- }
- return tFluidList.toArray(new FluidStack[0]);
- }
-
@Override
public void getWailaBody(ItemStack itemStack, List<String> currentTip, IWailaDataAccessor accessor,
IWailaConfigHandler config) {
@@ -2155,20 +2096,23 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
@Override
public boolean isAllowedToWork() {
- return getBaseMetaTileEntity() != null && getBaseMetaTileEntity().isAllowedToWork();
+ final IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity();
+ return baseMetaTileEntity != null && baseMetaTileEntity.isAllowedToWork();
}
@Override
public void disableWorking() {
- if (getBaseMetaTileEntity() != null) {
- getBaseMetaTileEntity().disableWorking();
+ final IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity();
+ if (baseMetaTileEntity != null) {
+ baseMetaTileEntity.disableWorking();
}
}
@Override
public void enableWorking() {
- if (getBaseMetaTileEntity() != null) {
- getBaseMetaTileEntity().enableWorking();
+ final IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity();
+ if (baseMetaTileEntity != null) {
+ baseMetaTileEntity.enableWorking();
}
}
@@ -2223,7 +2167,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
@Override
public List<ItemStack> getItemOutputSlots(ItemStack[] toOutput) {
List<ItemStack> ret = new ArrayList<>();
- for (final MTEHatch tBus : filterValidMTEs(mOutputBusses)) {
+ for (final MTEHatch tBus : validMTEList(mOutputBusses)) {
if (!(tBus instanceof MTEHatchOutputBusME)) {
final IInventory tBusInv = tBus.getBaseMetaTileEntity();
for (int i = 0; i < tBusInv.getSizeInventory(); i++) {
@@ -2277,7 +2221,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
@Override
public boolean canDumpItemToME() {
- for (MTEHatch tHatch : filterValidMTEs(mOutputBusses)) {
+ for (MTEHatch tHatch : validMTEList(mOutputBusses)) {
if (tHatch instanceof MTEHatchOutputBusME) {
if ((((MTEHatchOutputBusME) tHatch).canAcceptItem())) {
return true;
diff --git a/src/main/java/gregtech/api/util/ExoticEnergyInputHelper.java b/src/main/java/gregtech/api/util/ExoticEnergyInputHelper.java
index 6640f03835..55d2b87f3b 100644
--- a/src/main/java/gregtech/api/util/ExoticEnergyInputHelper.java
+++ b/src/main/java/gregtech/api/util/ExoticEnergyInputHelper.java
@@ -1,6 +1,6 @@
package gregtech.api.util;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
import java.util.Collection;
@@ -52,7 +52,7 @@ public class ExoticEnergyInputHelper {
public static long getTotalEuMulti(Collection<? extends MTEHatch> hatches) {
long rEU = 0L;
- for (MTEHatch tHatch : filterValidMTEs(hatches)) {
+ for (MTEHatch tHatch : validMTEList(hatches)) {
rEU += tHatch.getBaseMetaTileEntity()
.getInputVoltage() * tHatch.maxWorkingAmperesIn();
}
@@ -61,7 +61,7 @@ public class ExoticEnergyInputHelper {
public static long getMaxInputVoltageMulti(Collection<? extends MTEHatch> hatches) {
long rVoltage = 0;
- for (MTEHatch tHatch : filterValidMTEs(hatches)) {
+ for (MTEHatch tHatch : validMTEList(hatches)) {
rVoltage += tHatch.getBaseMetaTileEntity()
.getInputVoltage();
}
@@ -70,7 +70,7 @@ public class ExoticEnergyInputHelper {
public static long getAverageInputVoltageMulti(Collection<? extends MTEHatch> hatches) {
long rVoltage = 0;
- for (MTEHatch tHatch : filterValidMTEs(hatches)) {
+ for (MTEHatch tHatch : validMTEList(hatches)) {
rVoltage += tHatch.getBaseMetaTileEntity()
.getInputVoltage();
}
@@ -82,7 +82,7 @@ public class ExoticEnergyInputHelper {
public static long getMaxInputAmpsMulti(Collection<? extends MTEHatch> hatches) {
long rAmp = 0;
- for (MTEHatch tHatch : filterValidMTEs(hatches)) {
+ for (MTEHatch tHatch : validMTEList(hatches)) {
rAmp += tHatch.getBaseMetaTileEntity()
.getInputAmperage();
}
@@ -91,7 +91,7 @@ public class ExoticEnergyInputHelper {
public static long getMaxWorkingInputAmpsMulti(Collection<? extends MTEHatch> hatches) {
long rAmp = 0;
- for (MTEHatch tHatch : filterValidMTEs(hatches)) {
+ for (MTEHatch tHatch : validMTEList(hatches)) {
rAmp += tHatch.maxWorkingAmperesIn();
}
return rAmp;
diff --git a/src/main/java/gregtech/api/util/GTUtil.java b/src/main/java/gregtech/api/util/GTUtil.java
index d1dd308449..8923bca954 100644
--- a/src/main/java/gregtech/api/util/GTUtil.java
+++ b/src/main/java/gregtech/api/util/GTUtil.java
@@ -1,6 +1,7 @@
package gregtech.api.util;
import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
import java.util.List;
@@ -330,7 +331,7 @@ public class GTUtil {
private static NBTTagList saveConfigurationToDataStick(EntityPlayer player, List<? extends MTEHatch> hatches) {
NBTTagList list = new NBTTagList();
- for (MTEHatch tHatch : filterValidMTEs(hatches)) {
+ for (MTEHatch tHatch : validMTEList(hatches)) {
if (!(tHatch instanceof IDataCopyable copyable)) {
list.appendTag(new NBTTagCompound());
continue;
diff --git a/src/main/java/gregtech/api/util/GTUtility.java b/src/main/java/gregtech/api/util/GTUtility.java
index ede680ba62..442ba2a562 100644
--- a/src/main/java/gregtech/api/util/GTUtility.java
+++ b/src/main/java/gregtech/api/util/GTUtility.java
@@ -4028,13 +4028,21 @@ public class GTUtility {
}
/**
- * @return Supplied collection that doesn't contain invalid MetaTileEntities
+ * @return Supplied collection that doesn't contain invalid MetaTileEntities.
*/
public static <T extends Collection<E>, E extends MetaTileEntity> T filterValidMTEs(T metaTileEntities) {
metaTileEntities.removeIf(mte -> mte == null || !mte.isValid());
return metaTileEntities;
}
+ /**
+ * @return Supplied collection that removes invalid MTEs from the collection while it is being iterated
+ */
+ public static <T extends Collection<E>, E extends MetaTileEntity> ValidMTEList<T, E> validMTEList(
+ T metaTileEntities) {
+ return new ValidMTEList<>(metaTileEntities);
+ }
+
public static ForgeDirection getSideFromPlayerFacing(Entity player) {
if (player == null) return ForgeDirection.UNKNOWN;
if (player.rotationPitch >= 65) return ForgeDirection.UP;
diff --git a/src/main/java/gregtech/api/util/ValidMTEList.java b/src/main/java/gregtech/api/util/ValidMTEList.java
new file mode 100644
index 0000000000..95f4cd7ad0
--- /dev/null
+++ b/src/main/java/gregtech/api/util/ValidMTEList.java
@@ -0,0 +1,60 @@
+package gregtech.api.util;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+import org.jetbrains.annotations.NotNull;
+
+import gregtech.api.metatileentity.MetaTileEntity;
+
+public class ValidMTEList<E extends Collection<T>, T extends MetaTileEntity> implements Iterable<T> {
+
+ private final E collection;
+
+ public ValidMTEList(E collection) {
+ this.collection = collection;
+ }
+
+ private class ValidMTEIterator implements Iterator<T> {
+
+ Iterator<T> iterator = collection.iterator();
+
+ T nextObject = null;
+ boolean nextObjectSet = false;
+
+ private boolean setNextObject() {
+ while (iterator.hasNext()) {
+ final T object = iterator.next();
+ if (object != null && object.isValid()) {
+ nextObject = object;
+ nextObjectSet = true;
+ return true;
+ } else {
+ iterator.remove();
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean hasNext() {
+ return nextObjectSet || setNextObject();
+ }
+
+ @Override
+ public T next() {
+ if (!nextObjectSet && !setNextObject()) {
+ throw new NoSuchElementException();
+ }
+ nextObjectSet = false;
+ return nextObject;
+
+ }
+ }
+
+ @Override
+ public @NotNull Iterator<T> iterator() {
+ return new ValidMTEIterator();
+ }
+}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEAssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEAssemblyLine.java
index 33e75b7e00..31224ce604 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEAssemblyLine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEAssemblyLine.java
@@ -15,7 +15,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_GLOW;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
import static gregtech.api.util.GTStructureUtility.ofHatchAdder;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
import java.util.Collections;
@@ -439,7 +439,7 @@ public class MTEAssemblyLine extends MTEExtendedPowerMultiBlockBase<MTEAssemblyL
if (GTUtility.isStackValid(mInventory[1]) && isCorrectDataItem(mInventory[1], state)) {
rList.add(mInventory[1]);
}
- for (MTEHatchDataAccess tHatch : filterValidMTEs(mDataAccessHatches)) {
+ for (MTEHatchDataAccess tHatch : validMTEList(mDataAccessHatches)) {
rList.addAll(tHatch.getInventoryItems(stack -> isCorrectDataItem(stack, state)));
}
return rList;
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEDieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEDieselEngine.java
index 1465e6ba31..40b1dfd0d8 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEDieselEngine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEDieselEngine.java
@@ -13,7 +13,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DIESEL_ENGINE
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_DIESEL_ENGINE_GLOW;
import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
@@ -337,13 +337,13 @@ public class MTEDieselEngine extends MTEEnhancedMultiBlockBase<MTEDieselEngine>
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;
- for (MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches)) {
+ for (MTEHatchMuffler tHatch : validMTEList(mMufflerHatches)) {
mPollutionReduction = Math.max(tHatch.calculatePollutionReduction(100), mPollutionReduction);
}
long storedEnergy = 0;
long maxEnergy = 0;
- for (MTEHatchDynamo tHatch : filterValidMTEs(mDynamoHatches)) {
+ for (MTEHatchDynamo tHatch : validMTEList(mDynamoHatches)) {
storedEnergy += tHatch.getBaseMetaTileEntity()
.getStoredEU();
maxEnergy += tHatch.getBaseMetaTileEntity()
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEDrillerBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEDrillerBase.java
index 131a1a3166..81069c8841 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEDrillerBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEDrillerBase.java
@@ -19,7 +19,7 @@ import static gregtech.api.enums.Textures.BlockIcons.getCasingTextureForId;
import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
import static gregtech.api.util.GTStructureUtility.ofFrame;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
import java.util.Collections;
@@ -725,7 +725,7 @@ public abstract class MTEDrillerBase extends MTEEnhancedMultiBlockBase<MTEDrille
if (GTUtility.isStackValid(mInventory[1]) && isCorrectDataItem(mInventory[1], state)) {
rList.add(mInventory[1]);
}
- for (MTEHatchDataAccess tHatch : filterValidMTEs(mDataAccessHatches)) {
+ for (MTEHatchDataAccess tHatch : validMTEList(mDataAccessHatches)) {
for (int i = 0; i < tHatch.getBaseMetaTileEntity()
.getSizeInventory(); i++) {
if (tHatch.getBaseMetaTileEntity()
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEElectricBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEElectricBlastFurnace.java
index 844c6408df..4be6ddb70a 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEElectricBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEElectricBlastFurnace.java
@@ -17,6 +17,7 @@ import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
import static gregtech.api.util.GTStructureUtility.ofCoil;
import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
import java.util.Arrays;
@@ -273,7 +274,7 @@ public class MTEElectricBlastFurnace extends MTEAbstractMultiFurnace<MTEElectric
*/
public int getPollutionReduction() {
int reduction = 100;
- for (MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches)) {
+ for (MTEHatchMuffler tHatch : validMTEList(mMufflerHatches)) {
reduction = Math.min(tHatch.calculatePollutionReduction(100), reduction);
}
return reduction;
@@ -288,7 +289,7 @@ public class MTEElectricBlastFurnace extends MTEAbstractMultiFurnace<MTEElectric
int mPollutionReduction = getPollutionReduction();
long storedEnergy = 0;
long maxEnergy = 0;
- for (MTEHatchEnergy tHatch : filterValidMTEs(mEnergyHatches)) {
+ for (MTEHatchEnergy tHatch : validMTEList(mEnergyHatches)) {
storedEnergy += tHatch.getBaseMetaTileEntity()
.getStoredEU();
maxEnergy += tHatch.getBaseMetaTileEntity()
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEExtremeDieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEExtremeDieselEngine.java
index 8aba224e9c..1d983f90b6 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEExtremeDieselEngine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEExtremeDieselEngine.java
@@ -5,7 +5,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_EXTREME_DIESE
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_EXTREME_DIESEL_ENGINE_ACTIVE_GLOW;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_EXTREME_DIESEL_ENGINE_GLOW;
import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
@@ -175,13 +175,13 @@ public class MTEExtremeDieselEngine extends MTEDieselEngine {
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;
- for (MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches)) {
+ for (MTEHatchMuffler tHatch : validMTEList(mMufflerHatches)) {
mPollutionReduction = Math.max(tHatch.calculatePollutionReduction(100), mPollutionReduction);
}
long storedEnergy = 0;
long maxEnergy = 0;
- for (MTEHatchDynamo tHatch : filterValidMTEs(mDynamoHatches)) {
+ for (MTEHatchDynamo tHatch : validMTEList(mDynamoHatches)) {
storedEnergy += tHatch.getBaseMetaTileEntity()
.getStoredEU();
maxEnergy += tHatch.getBaseMetaTileEntity()
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEFusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEFusionComputer.java
index 4527436285..ae005560be 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEFusionComputer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEFusionComputer.java
@@ -11,7 +11,7 @@ import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS
import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS_YELLOW_GLOW;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
import static gregtech.api.util.GTStructureUtility.filterByMTETier;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.Set;
@@ -399,7 +399,7 @@ public abstract class MTEFusionComputer extends MTEEnhancedMultiBlockBase<MTEFus
if (mMachine) {
this.mEUStore = aBaseMetaTileEntity.getStoredEU();
if (this.mEnergyHatches != null) {
- for (MTEHatchEnergy tHatch : filterValidMTEs(mEnergyHatches)) {
+ for (MTEHatchEnergy tHatch : validMTEList(mEnergyHatches)) {
long energyToMove = GTValues.V[tier()] / 16;
if (aBaseMetaTileEntity.getStoredEU() + energyToMove < maxEUStore()
&& tHatch.getBaseMetaTileEntity()
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java
index 3b0932e120..e92cfead9c 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java
@@ -14,7 +14,7 @@ import static gregtech.api.enums.Textures.BlockIcons.TURBINE_NEW;
import static gregtech.api.enums.Textures.BlockIcons.TURBINE_NEW_ACTIVE;
import static gregtech.api.enums.Textures.BlockIcons.TURBINE_NEW_EMPTY;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
@@ -332,7 +332,7 @@ public abstract class MTELargeTurbine extends MTEEnhancedMultiBlockBase<MTELarge
// Gets the maximum output that the turbine currently can handle. Going above this will cause the turbine to explode
public long getMaximumOutput() {
long aTotal = 0;
- for (MTEHatchDynamo aDynamo : filterValidMTEs(mDynamoHatches)) {
+ for (MTEHatchDynamo aDynamo : validMTEList(mDynamoHatches)) {
long aVoltage = aDynamo.maxEUOutput();
aTotal = aDynamo.maxAmperesOut() * aVoltage;
}
@@ -363,7 +363,7 @@ public abstract class MTELargeTurbine extends MTEEnhancedMultiBlockBase<MTELarge
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;
- for (MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches)) {
+ for (MTEHatchMuffler tHatch : validMTEList(mMufflerHatches)) {
mPollutionReduction = Math.max(tHatch.calculatePollutionReduction(100), mPollutionReduction);
}
@@ -387,7 +387,7 @@ public abstract class MTELargeTurbine extends MTEEnhancedMultiBlockBase<MTELarge
long storedEnergy = 0;
long maxEnergy = 0;
- for (MTEHatchDynamo tHatch : filterValidMTEs(mDynamoHatches)) {
+ for (MTEHatchDynamo tHatch : validMTEList(mDynamoHatches)) {
storedEnergy += tHatch.getBaseMetaTileEntity()
.getStoredEU();
maxEnergy += tHatch.getBaseMetaTileEntity()
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiFurnace.java
index 6c4bb1d734..a409410717 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiFurnace.java
@@ -14,7 +14,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_MULTI_SMELTER
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_MULTI_SMELTER_ACTIVE_GLOW;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_MULTI_SMELTER_GLOW;
import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
@@ -283,12 +283,12 @@ public class MTEMultiFurnace extends MTEAbstractMultiFurnace<MTEMultiFurnace> im
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;
- for (final MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches))
+ for (final MTEHatchMuffler tHatch : validMTEList(mMufflerHatches))
mPollutionReduction = Math.max(tHatch.calculatePollutionReduction(100), mPollutionReduction);
long storedEnergy = 0;
long maxEnergy = 0;
- for (final MTEHatchEnergy tHatch : filterValidMTEs(mEnergyHatches)) {
+ for (final MTEHatchEnergy tHatch : validMTEList(mEnergyHatches)) {
storedEnergy += tHatch.getBaseMetaTileEntity()
.getStoredEU();
maxEnergy += tHatch.getBaseMetaTileEntity()
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEOilCracker.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEOilCracker.java
index 71c00cc9aa..b84640c7da 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEOilCracker.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEOilCracker.java
@@ -10,7 +10,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_OIL_CRACKER_G
import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
import static gregtech.api.util.GTStructureUtility.ofCoil;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
import java.util.HashMap;
@@ -320,7 +320,7 @@ public class MTEOilCracker extends MTEEnhancedMultiBlockBase<MTEOilCracker> impl
public ArrayList<FluidStack> getStoredFluids() {
final ArrayList<FluidStack> rList = new ArrayList<>();
Map<Fluid, FluidStack> inputsFromME = new HashMap<>();
- for (final MTEHatchInput tHatch : filterValidMTEs(mInputHatches)) {
+ for (final MTEHatchInput tHatch : validMTEList(mInputHatches)) {
tHatch.mRecipeMap = getRecipeMap();
if (tHatch instanceof MTEHatchInputME meHatch) {
for (FluidStack tFluid : meHatch.getStoredFluids()) {
@@ -343,7 +343,7 @@ public class MTEOilCracker extends MTEEnhancedMultiBlockBase<MTEOilCracker> impl
}
}
}
- for (final MTEHatchInput tHatch : filterValidMTEs(mMiddleInputHatches)) {
+ for (final MTEHatchInput tHatch : validMTEList(mMiddleInputHatches)) {
tHatch.mRecipeMap = getRecipeMap();
if (tHatch instanceof MTEHatchInputME meHatch) {
for (FluidStack tFluid : meHatch.getStoredFluids()) {
@@ -398,7 +398,7 @@ public class MTEOilCracker extends MTEEnhancedMultiBlockBase<MTEOilCracker> impl
@Override
protected void startRecipeProcessing() {
- for (MTEHatchInput hatch : filterValidMTEs(mMiddleInputHatches)) {
+ for (MTEHatchInput hatch : validMTEList(mMiddleInputHatches)) {
if (hatch instanceof IRecipeProcessingAwareHatch aware) {
aware.startRecipeProcessing();
}
@@ -409,7 +409,7 @@ public class MTEOilCracker extends MTEEnhancedMultiBlockBase<MTEOilCracker> impl
@Override
protected void endRecipeProcessing() {
super.endRecipeProcessing();
- for (MTEHatchInput hatch : filterValidMTEs(mMiddleInputHatches)) {
+ for (MTEHatchInput hatch : validMTEList(mMiddleInputHatches)) {
if (hatch instanceof IRecipeProcessingAwareHatch aware) {
setResultIfFailure(aware.endRecipeProcessing(this));
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java
index e815c10a03..af674dff2f 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEPCBFactory.java
@@ -16,7 +16,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_GLOW;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
import static gregtech.api.util.GTStructureUtility.ofFrame;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.ArrayList;
import java.util.List;
@@ -758,7 +758,7 @@ public class MTEPCBFactory extends MTEExtendedPowerMultiBlockBase<MTEPCBFactory>
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;
- for (MTEHatchMuffler tHatch : filterValidMTEs(mMufflerHatches)) {
+ for (MTEHatchMuffler tHatch : validMTEList(mMufflerHatches)) {
mPollutionReduction = Math.max(tHatch.calculatePollutionReduction(100), mPollutionReduction);
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEPlasmaForge.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEPlasmaForge.java
index feaead0047..df64db0554 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEPlasmaForge.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEPlasmaForge.java
@@ -18,7 +18,7 @@ import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages;
import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY;
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
import static gregtech.api.util.GTStructureUtility.ofCoil;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import static net.minecraft.util.StatCollector.translateToLocal;
import java.util.ArrayList;
@@ -907,7 +907,7 @@ public class MTEPlasmaForge extends MTEExtendedPowerMultiBlockBase<MTEPlasmaForg
long storedEnergy = 0;
long maxEnergy = 0;
- for (MTEHatch tHatch : filterValidMTEs(mExoticEnergyHatches)) {
+ for (MTEHatch tHatch : validMTEList(mExoticEnergyHatches)) {
storedEnergy += tHatch.getBaseMetaTileEntity()
.getStoredEU();
maxEnergy += tHatch.getBaseMetaTileEntity()
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEProcessingArray.java
index 808a9791a3..a4ff3275ea 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEProcessingArray.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEProcessingArray.java
@@ -19,7 +19,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_PROCESSING_AR
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_PROCESSING_ARRAY_GLOW;
import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY;
import static gregtech.api.metatileentity.implementations.MTEBasicMachine.isValidForLowGravity;
-import static gregtech.api.util.GTUtility.filterValidMTEs;
+import static gregtech.api.util.GTUtility.validMTEList;
import java.util.List;
@@ -405,7 +405,7 @@ public class MTEProcessingArray extends MTEExtendedPowerMultiBlockBase<MTEProces
public String[] getInfoData() {
long storedEnergy = 0;
long maxEnergy = 0;
- for (MTEHatch tHatch : filterValidMTEs(mExoticEnergyHatches)) {
+ for (MTEHatch tHatch : validMTEList(mExoticEnergyHatches)) {
storedEnergy += tHatch.getBaseMetaTileEntity()
.getStoredEU();
maxEnergy += tHatch.getBaseMetaTileEntity()