From ea50d8fa7f434561a2a6eb7ef28e127c81ba240d Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Mon, 30 Sep 2024 03:07:52 +0800 Subject: [PATCH] account for vanilla fluid blocks (#74) --- .../gtnhlib/client/renderer/util/WorldUtil.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gtnewhorizon/gtnhlib/client/renderer/util/WorldUtil.java b/src/main/java/com/gtnewhorizon/gtnhlib/client/renderer/util/WorldUtil.java index 4547fe5..a7a3124 100644 --- a/src/main/java/com/gtnewhorizon/gtnhlib/client/renderer/util/WorldUtil.java +++ b/src/main/java/com/gtnewhorizon/gtnhlib/client/renderer/util/WorldUtil.java @@ -6,6 +6,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.IFluidBlock; import org.joml.Vector3d; @@ -112,8 +113,17 @@ public static boolean shouldDisplayFluidOverlay(Block block) { return !block.getMaterial().isOpaque() || block.getMaterial() == Material.leaves; } + public static boolean isFluidBlock(Block block) { + return block instanceof IFluidBlock || block instanceof BlockLiquid; + } + public static Fluid getFluid(Block b) { - return b instanceof IFluidBlock ? ((IFluidBlock) b).getFluid() : null; + if (b instanceof IFluidBlock fluidBlock) return fluidBlock.getFluid(); + if (b instanceof BlockLiquid) { + if (b.getMaterial() == Material.water) return FluidRegistry.WATER; + if (b.getMaterial() == Material.lava) return FluidRegistry.LAVA; + } + return null; } /**