From 7bd50903a6760153f4c2e093464e33ea3f293411 Mon Sep 17 00:00:00 2001 From: LexManos Date: Wed, 11 Sep 2024 10:17:16 -0700 Subject: [PATCH] Fix highlighted item tooltip rendering twice. Closes #10112 --- .../net/minecraft/client/gui/Gui.java.patch | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/patches/minecraft/net/minecraft/client/gui/Gui.java.patch b/patches/minecraft/net/minecraft/client/gui/Gui.java.patch index 86073bf72a..39d9427de9 100644 --- a/patches/minecraft/net/minecraft/client/gui/Gui.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/Gui.java.patch @@ -46,30 +46,28 @@ this.minecraft.getProfiler().push("selectedItemName"); if (this.toolHighlightTimer > 0 && !this.lastToolHighlight.isEmpty()) { MutableComponent mutablecomponent = Component.empty().append(this.lastToolHighlight.getHoverName()).withStyle(this.lastToolHighlight.getRarity().color()); -@@ -632,9 +_,10 @@ +@@ -632,9 +_,13 @@ mutablecomponent.withStyle(ChatFormatting.ITALIC); } - int i = this.getFont().width(mutablecomponent); + Component highlightTip = this.lastToolHighlight.getHighlightTip(mutablecomponent); -+ int i = this.getFont().width(highlightTip); ++ Font font = net.minecraftforge.client.extensions.common.IClientItemExtensions.of(lastToolHighlight).getFont(lastToolHighlight, net.minecraftforge.client.extensions.common.IClientItemExtensions.FontContext.SELECTED_ITEM_NAME); ++ if (font == null) ++ font = this.getFont(); ++ int i = font.width(highlightTip); int j = (p_283501_.guiWidth() - i) / 2; - int k = p_283501_.guiHeight() - 59; + int k = p_283501_.guiHeight() - Math.max(yShift, 59); if (!this.minecraft.gameMode.canHurtPlayer()) { k += 14; } -@@ -646,6 +_,13 @@ +@@ -645,7 +_,7 @@ + } if (l > 0) { - p_283501_.drawStringWithBackdrop(this.getFont(), mutablecomponent, j, k, i, FastColor.ARGB32.color(l, -1)); -+ Font font = net.minecraftforge.client.extensions.common.IClientItemExtensions.of(lastToolHighlight).getFont(lastToolHighlight, net.minecraftforge.client.extensions.common.IClientItemExtensions.FontContext.SELECTED_ITEM_NAME); -+ if (font == null) { -+ p_283501_.drawString(this.getFont(), highlightTip, j, k, 16777215 + (l << 24)); -+ } else { -+ j = (p_283501_.guiWidth() - font.width(highlightTip)) / 2; -+ p_283501_.drawString(font, highlightTip, j, k, 16777215 + (l << 24)); -+ } +- p_283501_.drawStringWithBackdrop(this.getFont(), mutablecomponent, j, k, i, FastColor.ARGB32.color(l, -1)); ++ p_283501_.drawStringWithBackdrop(font, highlightTip, j, k, i, FastColor.ARGB32.color(l, -1)); } }