From d12b31bfe44a1b66986012f7eef0fd6f5d1c8a3f Mon Sep 17 00:00:00 2001 From: Justin Vitale <4002351+justinvvitale@users.noreply.github.com> Date: Fri, 15 Jan 2021 00:45:42 +1100 Subject: [PATCH] fix #2318 - Ensure registry result is not null before rendering. --- src/main/java/techreborn/compat/rei/ReiPlugin.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/techreborn/compat/rei/ReiPlugin.java b/src/main/java/techreborn/compat/rei/ReiPlugin.java index f6a470c48..7f71fbda7 100644 --- a/src/main/java/techreborn/compat/rei/ReiPlugin.java +++ b/src/main/java/techreborn/compat/rei/ReiPlugin.java @@ -35,6 +35,7 @@ import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.widget.EntryWidget; import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.impl.RenderingEntry; +import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler; import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandlerRegistry; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawableHelper; @@ -389,7 +390,15 @@ public class ReiPlugin implements REIPluginV0 { public void drawFluid(MatrixStack matrixStack, Fluid fluid, int drawHeight, int x, int y, int width, int height) { MinecraftClient.getInstance().getTextureManager().bindTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE); y += height; - final Sprite sprite = FluidRenderHandlerRegistry.INSTANCE.get(fluid).getFluidSprites(MinecraftClient.getInstance().world, BlockPos.ORIGIN, fluid.getDefaultState())[0]; + + FluidRenderHandler handler = FluidRenderHandlerRegistry.INSTANCE.get(fluid); + + // If registry can't find it, don't render. + if(handler == null){ + return; + } + + final Sprite sprite = handler.getFluidSprites(MinecraftClient.getInstance().world, BlockPos.ORIGIN, fluid.getDefaultState())[0]; int color = FluidRenderHandlerRegistry.INSTANCE.get(fluid).getFluidColor(MinecraftClient.getInstance().world, BlockPos.ORIGIN, fluid.getDefaultState()); final int iconHeight = sprite.getHeight();