From 66bd6b92334dae185c7fb42d04cae838db77ae1d Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 23 Sep 2023 13:56:18 +0900 Subject: Deprecate GT_MetaTileEntity_MultiBlockBase#isValidMetaTileEntity (#2267) * Deprecate GT_MetaTileEntity_MultiBlockBase#isValidMetaTileEntity * Explicit brackets --------- Co-authored-by: Martin Robertz --- .../api/util/GT_ExoticEnergyInputHelper.java | 26 +++++++++++++--------- src/main/java/gregtech/api/util/GT_Utility.java | 9 ++++++++ 2 files changed, 24 insertions(+), 11 deletions(-) (limited to 'src/main/java/gregtech/api/util') diff --git a/src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java b/src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java index 8e5301bd0b..f167651825 100644 --- a/src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java +++ b/src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java @@ -1,6 +1,6 @@ package gregtech.api.util; -import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity; +import static gregtech.api.util.GT_Utility.filterValidMTEs; import java.util.ArrayList; import java.util.Collection; @@ -63,42 +63,46 @@ public class GT_ExoticEnergyInputHelper { public static long getTotalEuMulti(Collection hatches) { long rEU = 0L; - for (GT_MetaTileEntity_Hatch tHatch : hatches) - if (isValidMetaTileEntity(tHatch)) rEU += tHatch.getBaseMetaTileEntity() + for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(hatches)) { + rEU += tHatch.getBaseMetaTileEntity() .getInputVoltage() * tHatch.maxWorkingAmperesIn(); + } return rEU; } public static long getMaxInputVoltageMulti(Collection hatches) { long rVoltage = 0; - for (GT_MetaTileEntity_Hatch tHatch : hatches) - if (isValidMetaTileEntity(tHatch)) rVoltage += tHatch.getBaseMetaTileEntity() + for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(hatches)) { + rVoltage += tHatch.getBaseMetaTileEntity() .getInputVoltage(); + } return rVoltage; } public static long getAverageInputVoltageMulti(Collection hatches) { long rVoltage = 0; - if (hatches.size() == 0) { + if (hatches.isEmpty()) { return rVoltage; } - for (GT_MetaTileEntity_Hatch tHatch : hatches) - if (isValidMetaTileEntity(tHatch)) rVoltage += tHatch.getBaseMetaTileEntity() + for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(hatches)) { + rVoltage += tHatch.getBaseMetaTileEntity() .getInputVoltage(); + } return rVoltage / hatches.size(); } public static long getMaxInputAmpsMulti(Collection hatches) { long rAmp = 0; - for (GT_MetaTileEntity_Hatch tHatch : hatches) - if (isValidMetaTileEntity(tHatch)) rAmp += tHatch.getBaseMetaTileEntity() + for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(hatches)) { + rAmp += tHatch.getBaseMetaTileEntity() .getInputAmperage(); + } return rAmp; } public static long getMaxWorkingInputAmpsMulti(Collection hatches) { long rAmp = 0; - for (GT_MetaTileEntity_Hatch tHatch : hatches) if (isValidMetaTileEntity(tHatch)) { + for (GT_MetaTileEntity_Hatch tHatch : filterValidMTEs(hatches)) { rAmp += tHatch.maxWorkingAmperesIn(); } return rAmp; diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index a946686e55..0bac435d9a 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -151,6 +151,7 @@ import gregtech.api.interfaces.tileentity.IUpgradableMachine; import gregtech.api.items.GT_EnergyArmor_Item; import gregtech.api.items.GT_Generic_Item; import gregtech.api.items.GT_MetaGenerated_Tool; +import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.net.GT_Packet_Sound; import gregtech.api.objects.CollectorUtils; import gregtech.api.objects.GT_ItemStack; @@ -3893,6 +3894,14 @@ public class GT_Utility { return -1; } + /** + * @return Supplied collection that doesn't contain invalid MetaTileEntities + */ + public static , E extends MetaTileEntity> T filterValidMTEs(T metaTileEntities) { + metaTileEntities.removeIf(mte -> mte == null || !mte.isValid()); + return metaTileEntities; + } + public static class ItemNBT { public static void setNBT(ItemStack aStack, NBTTagCompound aNBT) { -- cgit