From 36db68637fb5f47b54f159c664060a7b83301d14 Mon Sep 17 00:00:00 2001 From: Guillaume Mercier <17766417+C0bra5@users.noreply.github.com> Date: Thu, 21 May 2026 14:23:51 -0400 Subject: [PATCH 1/4] Restore F3+H item string id functionality --- .../chromatictooltips/config/EnricherConfig.java | 15 +++++++++++++++ .../enricher/ModInfoEnricher.java | 12 +++++++++--- .../assets/chromatictooltips/lang/en_US.lang | 4 ++++ 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/slprime/chromatictooltips/config/EnricherConfig.java b/src/main/java/com/slprime/chromatictooltips/config/EnricherConfig.java index 40d9aa5..5f40a6c 100644 --- a/src/main/java/com/slprime/chromatictooltips/config/EnricherConfig.java +++ b/src/main/java/com/slprime/chromatictooltips/config/EnricherConfig.java @@ -66,4 +66,19 @@ public class EnricherConfig { @Config.DefaultBoolean(true) public static boolean modInfoEnabled; + @Config.Comment("Item String Id requires hotkeys to be shown even when adv. tooltips are enabled.") + @Config.LangKey("chromatictooltips.config.enricher.stringIDNeedsHotkey") + @Config.DefaultBoolean(false) + public static boolean stringIDNeedsHotkey; + + @Config.Comment("Item String ID overrides mod name instead of being placed on a separate line (like vanilla).") + @Config.LangKey("chromatictooltips.config.enricher.stringIDOverridesModName") + @Config.DefaultBoolean(true) + public static boolean stringIDOverridesModName; + + @Config.Comment("Color the mod part of the item string ids.") + @Config.LangKey("chromatictooltips.config.enricher.colorStringID") + @Config.DefaultBoolean(true) + public static boolean colorStringID; + } diff --git a/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java b/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java index c5b8424..32a37a3 100644 --- a/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java +++ b/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java @@ -71,9 +71,15 @@ public TooltipLines build(TooltipContext context) { identifier.name); TooltipUtils.postEvent(event); - if (TooltipUtils.isCtrlKeyDown() && TooltipUtils.mc().gameSettings.advancedItemTooltips) { - components.line(TooltipUtils.translate("enricher.modinfo.identifier", event.modId, event.itemId)); - } else { + boolean showModName = true; + if (TooltipUtils.mc().gameSettings.advancedItemTooltips + && (!EnricherConfig.stringIDNeedsHotkey || TooltipUtils.isCtrlKeyDown())) { + showModName = !EnricherConfig.stringIDOverridesModName; + final String key = EnricherConfig.colorStringID ? "enricher.modinfo.identifier" + : "enricher.modinfo.identifier.colorless"; + components.line(TooltipUtils.translate(key, event.modId, event.itemId)); + } + if (showModName) { components.line(TooltipUtils.translate("enricher.modinfo.modname", event.modName)); } diff --git a/src/main/resources/assets/chromatictooltips/lang/en_US.lang b/src/main/resources/assets/chromatictooltips/lang/en_US.lang index 33cbd5d..a2a40ea 100644 --- a/src/main/resources/assets/chromatictooltips/lang/en_US.lang +++ b/src/main/resources/assets/chromatictooltips/lang/en_US.lang @@ -20,6 +20,7 @@ chromatictooltips.enricher.stacksize.container.full=§8Container Amount: §7%s = chromatictooltips.enricher.modinfo.modname=§9§o%s chromatictooltips.enricher.modinfo.identifier=§9§o%s:§8%s +chromatictooltips.enricher.modinfo.identifier.colorless=§8%s:%s chromatictooltips.enricher.hotkeys.keybind.entry=§6%s§7 - §7%s chromatictooltips.enricher.hotkeys.keybind.keys=§8 / §6 @@ -83,6 +84,9 @@ chromatictooltips.config.enricher.enchantmentIconsEnabled=Show Enchantment Icons chromatictooltips.config.enricher.enchantmentHintEnabled=Show Enchantment Hints chromatictooltips.config.enricher.keyboardModifiersEnabled=Show Keyboard Modifiers chromatictooltips.config.enricher.modInfoEnabled=Show Mod Information +chromatictooltips.config.enricher.stringIDNeedsHotkey=String ID requires hotkey +chromatictooltips.config.enricher.stringIDOverridesModName=String ID overrides mod name +chromatictooltips.config.enricher.colorStringID=Show Colored String ID chromatictooltips.config.enricher.stackAmountEnabled=Show Stack Amount chromatictooltips.config.stackamount.itemCompactThreshold=Item Compact Threshold From 51635d1fbb6b136a71abf889688da7fec3018fb0 Mon Sep 17 00:00:00 2001 From: Guillaume Mercier <17766417+C0bra5@users.noreply.github.com> Date: Tue, 26 May 2026 13:13:19 -0400 Subject: [PATCH 2/4] revert to pre-chromatic tooltips functionality --- .../config/EnricherConfig.java | 15 --------------- .../enricher/ModInfoEnricher.java | 18 ++++++------------ .../assets/chromatictooltips/lang/en_US.lang | 6 +----- 3 files changed, 7 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/slprime/chromatictooltips/config/EnricherConfig.java b/src/main/java/com/slprime/chromatictooltips/config/EnricherConfig.java index 5f40a6c..40d9aa5 100644 --- a/src/main/java/com/slprime/chromatictooltips/config/EnricherConfig.java +++ b/src/main/java/com/slprime/chromatictooltips/config/EnricherConfig.java @@ -66,19 +66,4 @@ public class EnricherConfig { @Config.DefaultBoolean(true) public static boolean modInfoEnabled; - @Config.Comment("Item String Id requires hotkeys to be shown even when adv. tooltips are enabled.") - @Config.LangKey("chromatictooltips.config.enricher.stringIDNeedsHotkey") - @Config.DefaultBoolean(false) - public static boolean stringIDNeedsHotkey; - - @Config.Comment("Item String ID overrides mod name instead of being placed on a separate line (like vanilla).") - @Config.LangKey("chromatictooltips.config.enricher.stringIDOverridesModName") - @Config.DefaultBoolean(true) - public static boolean stringIDOverridesModName; - - @Config.Comment("Color the mod part of the item string ids.") - @Config.LangKey("chromatictooltips.config.enricher.colorStringID") - @Config.DefaultBoolean(true) - public static boolean colorStringID; - } diff --git a/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java b/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java index 32a37a3..406daf9 100644 --- a/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java +++ b/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java @@ -45,10 +45,6 @@ public EnumSet mode() { @Override public TooltipLines build(TooltipContext context) { - if (!EnricherConfig.modInfoEnabled) { - return null; - } - final TooltipLines components = new TooltipLines(); final TooltipTarget target = context.getTarget(); UniqueIdentifier identifier = UNKNOWN_IDENTIFIER; @@ -71,15 +67,13 @@ public TooltipLines build(TooltipContext context) { identifier.name); TooltipUtils.postEvent(event); - boolean showModName = true; - if (TooltipUtils.mc().gameSettings.advancedItemTooltips - && (!EnricherConfig.stringIDNeedsHotkey || TooltipUtils.isCtrlKeyDown())) { - showModName = !EnricherConfig.stringIDOverridesModName; - final String key = EnricherConfig.colorStringID ? "enricher.modinfo.identifier" - : "enricher.modinfo.identifier.colorless"; - components.line(TooltipUtils.translate(key, event.modId, event.itemId)); + // always add the item string id when adv tooltips is enabled + if (TooltipUtils.mc().gameSettings.advancedItemTooltips) { + components.line(TooltipUtils.translate("enricher.modinfo.identifier", event.modId, event.itemId)); } - if (showModName) { + + // only add mod name if the enricher is enabled. + if (EnricherConfig.modInfoEnabled) { components.line(TooltipUtils.translate("enricher.modinfo.modname", event.modName)); } diff --git a/src/main/resources/assets/chromatictooltips/lang/en_US.lang b/src/main/resources/assets/chromatictooltips/lang/en_US.lang index a2a40ea..ead5083 100644 --- a/src/main/resources/assets/chromatictooltips/lang/en_US.lang +++ b/src/main/resources/assets/chromatictooltips/lang/en_US.lang @@ -19,8 +19,7 @@ chromatictooltips.enricher.stacksize.container.short=§8Container Amount: §7%s chromatictooltips.enricher.stacksize.container.full=§8Container Amount: §7%s = %s * %s + %s chromatictooltips.enricher.modinfo.modname=§9§o%s -chromatictooltips.enricher.modinfo.identifier=§9§o%s:§8%s -chromatictooltips.enricher.modinfo.identifier.colorless=§8%s:%s +chromatictooltips.enricher.modinfo.identifier=§8%s:%s chromatictooltips.enricher.hotkeys.keybind.entry=§6%s§7 - §7%s chromatictooltips.enricher.hotkeys.keybind.keys=§8 / §6 @@ -84,9 +83,6 @@ chromatictooltips.config.enricher.enchantmentIconsEnabled=Show Enchantment Icons chromatictooltips.config.enricher.enchantmentHintEnabled=Show Enchantment Hints chromatictooltips.config.enricher.keyboardModifiersEnabled=Show Keyboard Modifiers chromatictooltips.config.enricher.modInfoEnabled=Show Mod Information -chromatictooltips.config.enricher.stringIDNeedsHotkey=String ID requires hotkey -chromatictooltips.config.enricher.stringIDOverridesModName=String ID overrides mod name -chromatictooltips.config.enricher.colorStringID=Show Colored String ID chromatictooltips.config.enricher.stackAmountEnabled=Show Stack Amount chromatictooltips.config.stackamount.itemCompactThreshold=Item Compact Threshold From 0d93390bb4692c6f0a7ab46a3de4558e876906d3 Mon Sep 17 00:00:00 2001 From: Guillaume Mercier <17766417+C0bra5@users.noreply.github.com> Date: Tue, 26 May 2026 13:15:41 -0400 Subject: [PATCH 3/4] make return conditional on addition --- .../chromatictooltips/enricher/ModInfoEnricher.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java b/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java index 406daf9..52a66f5 100644 --- a/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java +++ b/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java @@ -45,7 +45,6 @@ public EnumSet mode() { @Override public TooltipLines build(TooltipContext context) { - final TooltipLines components = new TooltipLines(); final TooltipTarget target = context.getTarget(); UniqueIdentifier identifier = UNKNOWN_IDENTIFIER; @@ -67,17 +66,21 @@ public TooltipLines build(TooltipContext context) { identifier.name); TooltipUtils.postEvent(event); + final TooltipLines components = new TooltipLines(); + boolean added = false; // always add the item string id when adv tooltips is enabled if (TooltipUtils.mc().gameSettings.advancedItemTooltips) { components.line(TooltipUtils.translate("enricher.modinfo.identifier", event.modId, event.itemId)); + added = true; } // only add mod name if the enricher is enabled. if (EnricherConfig.modInfoEnabled) { components.line(TooltipUtils.translate("enricher.modinfo.modname", event.modName)); + added = false; } - return components; + return added ? components : null; } protected static UniqueIdentifier getIdentifier(ItemStack stack) { From 222130eea853b5b11d75b19834eb2413a3a118d7 Mon Sep 17 00:00:00 2001 From: Guillaume Mercier <17766417+C0bra5@users.noreply.github.com> Date: Tue, 26 May 2026 13:26:45 -0400 Subject: [PATCH 4/4] use is empty. --- .../slprime/chromatictooltips/enricher/ModInfoEnricher.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java b/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java index 52a66f5..e4d36fd 100644 --- a/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java +++ b/src/main/java/com/slprime/chromatictooltips/enricher/ModInfoEnricher.java @@ -67,20 +67,17 @@ public TooltipLines build(TooltipContext context) { TooltipUtils.postEvent(event); final TooltipLines components = new TooltipLines(); - boolean added = false; // always add the item string id when adv tooltips is enabled if (TooltipUtils.mc().gameSettings.advancedItemTooltips) { components.line(TooltipUtils.translate("enricher.modinfo.identifier", event.modId, event.itemId)); - added = true; } // only add mod name if the enricher is enabled. if (EnricherConfig.modInfoEnabled) { components.line(TooltipUtils.translate("enricher.modinfo.modname", event.modName)); - added = false; } - return added ? components : null; + return components.isEmpty() ? null : components; } protected static UniqueIdentifier getIdentifier(ItemStack stack) {