From 57d8fa5425e0a1c2a2577afe65e4c3cd2169ea74 Mon Sep 17 00:00:00 2001 From: Andrei Laiff Date: Fri, 22 Dec 2023 15:22:22 +0200 Subject: Fix z ordering for stack size in `Stocking Input` --- .../common/gui/modularui/widget/AESlotWidget.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java') diff --git a/src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java b/src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java index c891af6d30..a38d772efe 100644 --- a/src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java +++ b/src/main/java/gregtech/common/gui/modularui/widget/AESlotWidget.java @@ -1,12 +1,16 @@ package gregtech.common.gui.modularui.widget; +import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot; import com.gtnewhorizons.modularui.common.internal.wrapper.ModularGui; import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import appeng.api.storage.IItemDisplayRegistry.ItemRenderHook; import appeng.client.render.AppEngRenderItem; import appeng.core.AELog; import appeng.util.Platform; @@ -15,6 +19,19 @@ import cpw.mods.fml.relauncher.SideOnly; public class AESlotWidget extends SlotWidget { + static ItemRenderHook SKIP_ITEM_STACK_SIZE_HOOK = new ItemRenderHook() { + + @Override + public boolean renderOverlay(FontRenderer fr, TextureManager tm, ItemStack is, int x, int y) { + return true; + } + + @Override + public boolean showStackSize(ItemStack is) { + return false; + } + }; + public AESlotWidget(BaseSlot slot) { super(slot); } @@ -23,13 +40,15 @@ public class AESlotWidget extends SlotWidget { @SideOnly(Side.CLIENT) protected void drawSlot(Slot slotIn) { final AppEngRenderItem aeRenderItem = new AppEngRenderItem(); + AppEngRenderItem.POST_HOOKS.add(SKIP_ITEM_STACK_SIZE_HOOK); final RenderItem pIR = this.setItemRender(aeRenderItem); try { aeRenderItem.setAeStack(Platform.getAEStackInSlot(slotIn)); - super.drawSlot(slotIn, false); + super.drawSlot(slotIn, true); } catch (final Exception err) { AELog.warn("[AppEng] AE prevented crash while drawing slot: " + err); } + AppEngRenderItem.POST_HOOKS.remove(SKIP_ITEM_STACK_SIZE_HOOK); this.setItemRender(pIR); } -- cgit