From 1ba0680fb144ad0884707c3735283e8acbb569fd Mon Sep 17 00:00:00 2001 From: Maxim Date: Thu, 12 Jan 2023 15:18:40 +0100 Subject: Added getter for working amperes of a hatch (#1646) * Added getter for working amperes of a hatch * Replaced max input amp getter with call to working amp getter --- .../GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java | 2 +- .../implementations/GT_MetaTileEntity_Hatch_Energy.java | 8 ++++++++ .../java/gregtech/api/util/GT_ExoticEnergyInputHelper.java | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/api') diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java index 69b5e176d3..f62b6f306d 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java @@ -176,7 +176,7 @@ public abstract class GT_MetaTileEntity_ExtendedPowerMultiBlockBase< } public long getMaxInputAmps() { - return GT_ExoticEnergyInputHelper.getMaxInputAmpsMulti(getExoticAndNormalEnergyHatchList()); + return GT_ExoticEnergyInputHelper.getMaxWorkingInputAmpsMulti(getExoticAndNormalEnergyHatchList()); } @Override diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy.java index 1b4def6dc3..a9af3c8462 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy.java @@ -106,6 +106,14 @@ public class GT_MetaTileEntity_Hatch_Energy extends GT_MetaTileEntity_Hatch { return 2; } + /** Get the maximum amount of amperes to work with, which excludes the additional amps in for loss + * + * @return Working amps + */ + public long maxWorkingAmperesIn() { + return maxAmperesIn(); + } + @Override public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_Hatch_Energy(mName, mTier, mDescriptionArray, mTextures); diff --git a/src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java b/src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java index 76cdb13f78..2e34fb3332 100644 --- a/src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java +++ b/src/main/java/gregtech/api/util/GT_ExoticEnergyInputHelper.java @@ -4,6 +4,7 @@ import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Mult import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -73,6 +74,19 @@ public class GT_ExoticEnergyInputHelper { return rAmp; } + public static long getMaxWorkingInputAmpsMulti(Collection hatches) { + long rAmp = 0; + for (GT_MetaTileEntity_Hatch tHatch : hatches) + if (isValidMetaTileEntity(tHatch)) { + if (tHatch instanceof GT_MetaTileEntity_Hatch_Energy) { + rAmp += ((GT_MetaTileEntity_Hatch_Energy) tHatch).maxWorkingAmperesIn(); + } else { + rAmp += tHatch.getBaseMetaTileEntity().getInputAmperage(); + } + } + return rAmp; + } + public static List> getAllClasses() { return Collections.unmodifiableList(sExoticEnergyHatchType); } -- cgit