diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/tasks/ChunkRenderRebuildTask.java b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/tasks/ChunkRenderRebuildTask.java index 56272bf53..7ac667079 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/tasks/ChunkRenderRebuildTask.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/tasks/ChunkRenderRebuildTask.java @@ -32,6 +32,7 @@ import net.minecraft.world.WorldType; import net.minecraftforge.client.ForgeHooksClient; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.fluids.IFluidBlock; import org.embeddedt.embeddium.api.ChunkDataBuiltEvent; import org.embeddedt.embeddium.compat.ccl.CCLCompat; @@ -100,7 +101,7 @@ public ChunkBuildResult performBuild(ChunkRenderCacheLocal cache, ChunkBuildB // If the block is vanilla air, assume it renders nothing. Don't use isAir because mods // can abuse it for all sorts of things - if (block.getMaterial(blockState) == Material.AIR) { + if (blockState.getMaterial() == Material.AIR) { continue; } @@ -123,7 +124,7 @@ public ChunkBuildResult performBuild(ChunkRenderCacheLocal cache, ChunkBuildB if (CCLCompat.canHandle(renderType)) { CCLCompat.renderBlock(slice, pos, blockState, buffers.get(layer)); - } else if (renderType == EnumBlockRenderType.MODEL) { + } else if (renderType == EnumBlockRenderType.MODEL && !(block instanceof IFluidBlock)) { IBakedModel model = cache.getBlockModels() .getModelForState(blockState); @@ -135,7 +136,7 @@ public ChunkBuildResult performBuild(ChunkRenderCacheLocal cache, ChunkBuildB bounds.addBlock(relX, relY, relZ); } - } else if (renderType == EnumBlockRenderType.LIQUID) { + } else if (block instanceof IFluidBlock) { if (cache.getFluidRenderer().render(cache.getLocalSlice(), blockState, pos, buffers.get(layer))) { bounds.addBlock(relX, relY, relZ); }