From 2d4dbbce77de9f2b198100e850752edd06931581 Mon Sep 17 00:00:00 2001 From: Wilhelm Schuster Date: Thu, 9 Oct 2025 04:34:01 +0200 Subject: [PATCH] feat: Add additional drawing method for inventory tabs (#217) --- .../tconstruct/client/tabs/AbstractTab.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/main/java/tconstruct/client/tabs/AbstractTab.java b/src/main/java/tconstruct/client/tabs/AbstractTab.java index 5c978b3e..2b5fbdbf 100644 --- a/src/main/java/tconstruct/client/tabs/AbstractTab.java +++ b/src/main/java/tconstruct/client/tabs/AbstractTab.java @@ -23,6 +23,18 @@ public abstract class AbstractTab extends GuiButton { @Override public void drawButton(Minecraft mc, int mouseX, int mouseY) { + drawButton(mc, this.renderStack, false); + } + + /** + * Draws inventory tab + * + * @param mc + * @param tabIcon Item to use as tab icon + * @param enableItemIconDepthTest whether to enable GL_DEPTH_TEST for rendering the item icon + */ + + protected void drawButton(Minecraft mc, ItemStack tabIcon, boolean enableItemIconDepthTest) { if (this.visible) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); @@ -39,18 +51,16 @@ public abstract class AbstractTab extends GuiButton { this.itemRenderer.zLevel = 100.0F; GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL12.GL_RESCALE_NORMAL); + if (enableItemIconDepthTest) GL11.glEnable(GL11.GL_DEPTH_TEST); this.itemRenderer.renderItemAndEffectIntoGUI( mc.fontRenderer, mc.renderEngine, - renderStack, - xPosition + 6, - yPosition + 8); - this.itemRenderer.renderItemOverlayIntoGUI( - mc.fontRenderer, - mc.renderEngine, - renderStack, + tabIcon, xPosition + 6, yPosition + 8); + this.itemRenderer + .renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, tabIcon, xPosition + 6, yPosition + 8); + if (enableItemIconDepthTest) GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glDisable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_BLEND); this.itemRenderer.zLevel = 0.0F;