From 3dac87a097c0361d36e23110ae3db2215385258c Mon Sep 17 00:00:00 2001 From: Technus Date: Fri, 25 Nov 2016 14:53:03 +0100 Subject: [PATCH] Fix fluid detector cover and make casings work more like blocks... --- .../gregtech/api/items/GT_Generic_Block.java | 1 + .../common/blocks/GT_Material_Casings.java | 2 +- .../common/covers/GT_Cover_ItemMeter.java | 2 +- .../common/covers/GT_Cover_LiquidMeter.java | 22 +++++++++---------- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/gregtech/api/items/GT_Generic_Block.java b/src/main/java/gregtech/api/items/GT_Generic_Block.java index 2882ece1..bf65229a 100644 --- a/src/main/java/gregtech/api/items/GT_Generic_Block.java +++ b/src/main/java/gregtech/api/items/GT_Generic_Block.java @@ -5,6 +5,7 @@ import gregtech.api.util.GT_LanguageManager; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.ItemBlock; +import net.minecraft.world.IBlockAccess; import static gregtech.api.enums.GT_Values.W; diff --git a/src/main/java/gregtech/common/blocks/GT_Material_Casings.java b/src/main/java/gregtech/common/blocks/GT_Material_Casings.java index 33603f41..c81f382f 100644 --- a/src/main/java/gregtech/common/blocks/GT_Material_Casings.java +++ b/src/main/java/gregtech/common/blocks/GT_Material_Casings.java @@ -13,6 +13,6 @@ public class GT_Material_Casings } public boolean isOpaque() { - return false; + return true; } } diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java index 6ce034e9..fa68dd9c 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java @@ -28,7 +28,7 @@ public class GT_Cover_ItemMeter } if(tUsed==0)//nothing aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable == 1 ? 15 : 0)); - else if(tUsed == tMax)//full + else if(tUsed >= tMax)//full aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable == 1 ? 0 : 15)); else//1-14 range aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable == 1 ? 14-((14*tUsed)/tMax) : 1+((14*tUsed)/tMax)) ); diff --git a/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java index 882c32e2..34e0180e 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java @@ -15,27 +15,27 @@ public class GT_Cover_LiquidMeter public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { if ((aTileEntity instanceof IFluidHandler)) { FluidTankInfo[] tTanks = ((IFluidHandler) aTileEntity).getTankInfo(ForgeDirection.UNKNOWN); - long tAll = 0L; - long tFull = 0L; + long tMax = 0; + long tUsed = 0; if (tTanks != null) { for (FluidTankInfo tTank : tTanks) { if (tTank != null) { - tAll += tTank.capacity; + tMax += tTank.capacity; FluidStack tLiquid = tTank.fluid; if (tLiquid != null) { - tFull += tLiquid.amount; + tUsed += tLiquid.amount; } } } } - tAll /= 14L; - if (tAll > 0L) { - aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable != 0 ? (byte) (int) (15L - (tFull <= 0L ? 0L : tFull / tAll + 1L)) : tFull <= 0L ? 0 : (byte) (int) (tFull / tAll + 1L)); - } else { - aTileEntity.setOutputRedstoneSignal(aSide, ((byte) (aCoverVariable != 0 ? 15 : 0))); - } + if(tUsed==0L)//nothing + aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable == 0 ? 15 : 0)); + else if(tUsed >= tMax)//full + aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable == 0 ? 0 : 15)); + else//1-14 range + aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable == 0 ? 14-((14*tUsed)/tMax) : 1+((14*tUsed)/tMax)) ); } else { - aTileEntity.setOutputRedstoneSignal(aSide, (byte) 0); + aTileEntity.setOutputRedstoneSignal(aSide, (byte)0); } return aCoverVariable; }