diff options
author | NotAPenguin <michiel.vandeginste@gmail.com> | 2024-09-15 23:30:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-15 23:30:13 +0200 |
commit | 5f6011f705c75007b48735d02e590581c78ca8db (patch) | |
tree | 9b7f240e568d11c2396dc1e8b9997bbdf61c83ca /src/main/java/gregtech | |
parent | dda786c0183f6655a4a264edf2d75688e7fe895e (diff) | |
download | GT5-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')
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() |