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` --- dependencies.gradle | 2 ++ .../common/gui/modularui/widget/AESlotWidget.java | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 189676a8b6..70c5a845e8 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -80,4 +80,6 @@ dependencies { functionalTestImplementation('org.junit.platform:junit-platform-engine') functionalTestImplementation('org.junit.platform:junit-platform-launcher') functionalTestImplementation('org.junit.platform:junit-platform-reporting') + + runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.1.7:dev") } 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