diff options
author | miozune <miozune@gmail.com> | 2023-08-10 18:47:04 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-10 11:47:04 +0200 |
commit | 362a9471ac3f97cda8cdbce26384edb0589fac48 (patch) | |
tree | 90fc39d5233e6f98ffb06f0535813f4a68fb2576 /src/main/java/gregtech | |
parent | 1311f59453d42bd36532d1c0c2580a5b56e3f7b1 (diff) | |
download | GT5-Unofficial-362a9471ac3f97cda8cdbce26384edb0589fac48.tar.gz GT5-Unofficial-362a9471ac3f97cda8cdbce26384edb0589fac48.tar.bz2 GT5-Unofficial-362a9471ac3f97cda8cdbce26384edb0589fac48.zip |
Fix Digital Tank capacity for Fluid Storage Monitor (#2217)
* Fix Digital Tank capacity for Fluid Storage Monitor
* Annotations
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r-- | src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java | 17 | ||||
-rw-r--r-- | src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java | 7 |
2 files changed, 22 insertions, 2 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java index 27bab9cc55..7f9fda7cbc 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidStorageMonitor.java @@ -43,10 +43,12 @@ import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.ITextureBuilder; import gregtech.api.interfaces.tileentity.ICoverable; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_CoverBehaviorBase; import gregtech.api.util.GT_Utility; import gregtech.api.util.ISerializableObject; +import gregtech.common.tileentities.storage.GT_MetaTileEntity_DigitalTankBase; import io.netty.buffer.ByteBuf; /** @@ -79,7 +81,7 @@ public class GT_Cover_FluidStorageMonitor extends GT_CoverBehaviorBase<GT_Cover_ @Override protected FluidStorageData doCoverThingsImpl(ForgeDirection side, byte aInputRedstone, int aCoverID, FluidStorageData aCoverVariable, ICoverable aTileEntity, long aTimer) { - final FluidTankInfo[] tanks = getValidFluidTankInfos(aTileEntity, aCoverVariable.side); + final FluidTankInfo[] tanks = getValidFluidTankInfosForDisplay(aTileEntity, aCoverVariable.side); if (tanks == null) { return aCoverVariable.disable() .issueCoverUpdateIfNeeded(aTileEntity, side); @@ -314,17 +316,28 @@ public class GT_Cover_FluidStorageMonitor extends GT_CoverBehaviorBase<GT_Cover_ return 10; } + @Nullable protected static FluidTankInfo[] getValidFluidTankInfos(@Nullable ICoverable tileEntity, @Nonnull ForgeDirection side) { if (tileEntity instanceof IFluidHandler) { final FluidTankInfo[] tanks = ((IFluidHandler) tileEntity).getTankInfo(side); - if (tanks != null && 0 < tanks.length) { + if (tanks != null && tanks.length > 0) { return tanks; } } return null; } + @Nullable + protected static FluidTankInfo[] getValidFluidTankInfosForDisplay(@Nullable ICoverable tileEntity, + @Nonnull ForgeDirection side) { + if (tileEntity instanceof IGregTechTileEntity baseMetaTileEntity + && baseMetaTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DigitalTankBase digitalTank) { + return digitalTank.getRealTankInfo(side); + } + return getValidFluidTankInfos(tileEntity, side); + } + protected static int getTankScale(@Nonnull FluidTankInfo tank) { if (tank.fluid == null || tank.capacity <= 0) { return 0; diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java index fea9d25fb9..5b2a38083a 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java @@ -9,6 +9,8 @@ import static gregtech.api.util.GT_Utility.formatNumbers; import java.util.List; +import javax.annotation.Nonnull; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -506,6 +508,11 @@ public abstract class GT_MetaTileEntity_DigitalTankBase extends GT_MetaTileEntit return new FluidTankInfo[] { getInfo() }; } + @Nonnull + public FluidTankInfo[] getRealTankInfo(ForgeDirection side) { + return new FluidTankInfo[] { new FluidTankInfo(getFluid(), getRealCapacity()) }; + } + @Override public void getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) { |