aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r--src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java26
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java9
2 files changed, 24 insertions, 11 deletions
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<? extends GT_MetaTileEntity_Hatch> 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<? extends GT_MetaTileEntity_Hatch> 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<? extends GT_MetaTileEntity_Hatch> 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<? extends GT_MetaTileEntity_Hatch> 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<? extends GT_MetaTileEntity_Hatch> 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 <T extends Collection<E>, 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) {