aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-08-10 18:47:04 +0900
committerGitHub <noreply@github.com>2023-08-10 11:47:04 +0200
commit362a9471ac3f97cda8cdbce26384edb0589fac48 (patch)
tree90fc39d5233e6f98ffb06f0535813f4a68fb2576 /src/main/java/gregtech
parent1311f59453d42bd36532d1c0c2580a5b56e3f7b1 (diff)
downloadGT5-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.java17
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalTankBase.java7
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) {