From d47417302e4935340d9bcdbabb8a54e82620bdf6 Mon Sep 17 00:00:00 2001 From: sisyphussy Date: Tue, 14 Oct 2025 16:09:02 +0200 Subject: [PATCH] Fix recipe tooltip lighting (#757) --- .../java/codechicken/nei/ItemsTooltipLineHandler.java | 2 +- .../java/codechicken/nei/guihook/GuiContainerManager.java | 3 +++ .../codechicken/nei/recipe/RecipeTooltipLineHandler.java | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/codechicken/nei/ItemsTooltipLineHandler.java b/src/main/java/codechicken/nei/ItemsTooltipLineHandler.java index 0e20ea65..ef366c14 100644 --- a/src/main/java/codechicken/nei/ItemsTooltipLineHandler.java +++ b/src/main/java/codechicken/nei/ItemsTooltipLineHandler.java @@ -107,7 +107,7 @@ public class ItemsTooltipLineHandler implements ITooltipLineHandler { final int xTranslation = x; final int yTranslation = y + fontRenderer.FONT_HEIGHT + 2; - final int zTranslation = 400; + final int zTranslation = GuiContainerManager.TOOLTIP_Z_OFFSET; GL11.glTranslatef(xTranslation, yTranslation, zTranslation); int indexShift = 0; diff --git a/src/main/java/codechicken/nei/guihook/GuiContainerManager.java b/src/main/java/codechicken/nei/guihook/GuiContainerManager.java index f26a820c..0011e528 100644 --- a/src/main/java/codechicken/nei/guihook/GuiContainerManager.java +++ b/src/main/java/codechicken/nei/guihook/GuiContainerManager.java @@ -82,6 +82,9 @@ public class GuiContainerManager { public static final LinkedList slotClickHandlers = new HideousLinkedList<>( new CopyOnWriteArrayList<>()); + // Any item rendered with this z offset should render it on top of every other gui element + public static final int TOOLTIP_Z_OFFSET = 400; + static { addSlotClickHandler(new DefaultSlotClickHandler()); } diff --git a/src/main/java/codechicken/nei/recipe/RecipeTooltipLineHandler.java b/src/main/java/codechicken/nei/recipe/RecipeTooltipLineHandler.java index df06f7bd..49039dd3 100644 --- a/src/main/java/codechicken/nei/recipe/RecipeTooltipLineHandler.java +++ b/src/main/java/codechicken/nei/recipe/RecipeTooltipLineHandler.java @@ -80,10 +80,10 @@ public class RecipeTooltipLineHandler implements ITooltipLineHandler { final Dimension size = getSize(); - GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_ENABLE_BIT | GL11.GL_COLOR_BUFFER_BIT | GL11.GL_LIGHTING_BIT); - GL11.glTranslatef(x, y, 0); - GL11.glScaled(1, 1, 3); + + final int zTranslation = GuiContainerManager.TOOLTIP_Z_OFFSET; + GL11.glTranslatef(x, y, zTranslation); GuiContainerManager.enable2DRender(); GL11.glColor4f(1, 1, 1, 1); @@ -103,7 +103,7 @@ public class RecipeTooltipLineHandler implements ITooltipLineHandler { () -> { this.widget.draw(0, 0); }); GL11.glPopAttrib(); - GL11.glPopMatrix(); + GL11.glTranslatef(-x, -y, -zTranslation); } }