From d4a5bbc9ecd8aeb6616bf2f10cc67f91171e9981 Mon Sep 17 00:00:00 2001 From: danyadev Date: Sun, 2 Nov 2025 21:13:57 +0300 Subject: [PATCH] support comparators for Certus Quartz Tank --- .../common/block/BlockCertusQuartzTank.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/com/glodblock/github/common/block/BlockCertusQuartzTank.java b/src/main/java/com/glodblock/github/common/block/BlockCertusQuartzTank.java index fa53c156..ce0c9ad9 100644 --- a/src/main/java/com/glodblock/github/common/block/BlockCertusQuartzTank.java +++ b/src/main/java/com/glodblock/github/common/block/BlockCertusQuartzTank.java @@ -16,6 +16,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTankInfo; import com.glodblock.github.common.item.ItemCertusQuartzTank; import com.glodblock.github.common.tabs.FluidCraftingTabs; @@ -209,4 +210,22 @@ public class BlockCertusQuartzTank extends BaseBlockContainer implements IRegist setCreativeTab(FluidCraftingTabs.INSTANCE); return this; } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World worldIn, int x, int y, int z, int side) { + TileEntity tileEntity = worldIn.getTileEntity(x, y, z); + if (tileEntity instanceof TileCertusQuartzTank tileCertusQuartzTank) { + FluidTankInfo[] info = tileCertusQuartzTank.getTankInfo(false); + if (info[0].fluid != null) { + int nonEmptyBump = info[0].fluid.amount > 0 ? 1 : 0; + return (int) (14.0 * info[0].fluid.amount / info[0].capacity) + nonEmptyBump; + } + } + return 0; + } }