aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/client/GT_TooltipHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/client/GT_TooltipHandler.java')
-rw-r--r--src/main/java/gregtech/client/GT_TooltipHandler.java128
1 files changed, 63 insertions, 65 deletions
diff --git a/src/main/java/gregtech/client/GT_TooltipHandler.java b/src/main/java/gregtech/client/GT_TooltipHandler.java
index c6a60bc5b5..49cf40ab3b 100644
--- a/src/main/java/gregtech/client/GT_TooltipHandler.java
+++ b/src/main/java/gregtech/client/GT_TooltipHandler.java
@@ -2,73 +2,71 @@ package gregtech.client;
import static com.gtnewhorizon.gtnhlib.util.AnimatedTooltipHandler.*;
+import java.util.function.Supplier;
+
+import net.minecraft.item.ItemStack;
+
public class GT_TooltipHandler {
- /*
- * What you can do: - Add simple, unformatted text. - Add formatted text. Note: you can chain formatting codes but
- * the color must be used first: e.g. BLACK + ITALIC will create black, italic text but ITALIC + BLACK will only
- * create black text. - add animated text - chain multiple static and/or animated text together using chain()
- * (Although chaining only static text together is pointless, text() is already able to do that) - add multiple
- * lines by using NEW_LINE (either as String or as Supplier<String>) Note: formatting only applies for one line
- * Note: having a NEW_LINE in animated text results in "skipping" of one formatting since NEW_LINE counts as
- * character but is not displayed Note: adding a tooltip to an item multiple times also creates multiple lines (in
- * the same order they were added) What you cannot do: - add a tooltip depending on NBT, tooltips are only mapped to
- * name and meta This method is executed on postInit
- */
- public static void init() {
+ public static void registerTieredTooltip(ItemStack item, Tier tier) {
+ addItemTooltip(item, tier.tooltip);
+ }
+
+ public enum Tier {
+
+ ULV(text(WHITE + "ULV-Tier")),
+ LV(text(GRAY + "LV-Tier")),
+ MV(text(GOLD + "MV-Tier")),
+ HV(text(YELLOW + "HV-Tier")),
+ EV(text(DARK_GRAY + "EV-Tier")),
+ IV(text(GREEN + "IV-Tier")),
+ LuV(text(LIGHT_PURPLE + "LuV-Tier")),
+ ZPM(text(AQUA + "ZPM-Tier")),
+ UV(text(DARK_GREEN + "UV-Tier")),
+ UHV(text(DARK_RED + "UHV-Tier")),
+ UEV(text(DARK_PURPLE + "UEV-Tier")),
+ UIV(text(DARK_BLUE + BOLD + "UIV-Tier")),
+ UMV(text(RED + BOLD + UNDERLINE + "UMV-Tier")),
+ UXV(animatedText("UXV-Tier", 1, 100, DARK_PURPLE + BOLD + UNDERLINE, DARK_RED + UNDERLINE + BOLD)),
+ MAX(chain(
+ animatedText(
+ "X",
+ 1,
+ 100,
+ LIGHT_PURPLE + BOLD + OBFUSCATED + UNDERLINE,
+ RED + BOLD + OBFUSCATED + UNDERLINE,
+ GOLD + OBFUSCATED + BOLD + UNDERLINE,
+ YELLOW + OBFUSCATED + BOLD + UNDERLINE,
+ GREEN + OBFUSCATED + BOLD + UNDERLINE,
+ AQUA + OBFUSCATED + BOLD + UNDERLINE,
+ BLUE + OBFUSCATED + BOLD + UNDERLINE),
+ animatedText(
+ "MAX-Tier",
+ 1,
+ 100,
+ RED + BOLD + UNDERLINE,
+ GOLD + BOLD + UNDERLINE,
+ YELLOW + BOLD + UNDERLINE,
+ GREEN + BOLD + UNDERLINE,
+ AQUA + BOLD + UNDERLINE,
+ BLUE + BOLD + UNDERLINE,
+ LIGHT_PURPLE + BOLD + UNDERLINE),
+ animatedText(
+ "X",
+ 1,
+ 100,
+ GOLD + OBFUSCATED + BOLD + UNDERLINE,
+ YELLOW + OBFUSCATED + BOLD + UNDERLINE,
+ GREEN + OBFUSCATED + BOLD + UNDERLINE,
+ AQUA + OBFUSCATED + BOLD + UNDERLINE,
+ BLUE + OBFUSCATED + BOLD + UNDERLINE,
+ LIGHT_PURPLE + OBFUSCATED + BOLD + UNDERLINE,
+ RED + OBFUSCATED + BOLD + UNDERLINE)));
+
+ private final Supplier<String> tooltip;
- // Tooltip tiers for ALL items given the appropriate tier oredict tag.
- addOredictTooltip("ULV", text(WHITE + "ULV-Tier"));
- addOredictTooltip("LV", text(GRAY + "LV-Tier"));
- addOredictTooltip("MV", text(GOLD + "MV-Tier"));
- addOredictTooltip("HV", text(YELLOW + "HV-Tier"));
- addOredictTooltip("EV", text(DARK_GRAY + "EV-Tier"));
- addOredictTooltip("IV", text(GREEN + "IV-Tier"));
- addOredictTooltip("LuV", text(LIGHT_PURPLE + "LuV-Tier"));
- addOredictTooltip("ZPM", text(AQUA + "ZPM-Tier"));
- addOredictTooltip("UV", text(DARK_GREEN + "UV-Tier"));
- addOredictTooltip("UHV", text(DARK_RED + "UHV-Tier"));
- addOredictTooltip("UEV", text(DARK_PURPLE + "UEV-Tier"));
- addOredictTooltip("UIV", text(DARK_BLUE + BOLD + "UIV-Tier"));
- addOredictTooltip("UMV", text(RED + BOLD + UNDERLINE + "UMV-Tier"));
- addOredictTooltip(
- "UXV",
- animatedText("UXV-Tier", 1, 100, DARK_PURPLE + BOLD + UNDERLINE, DARK_RED + UNDERLINE + BOLD));
- addOredictTooltip(
- "MAX",
- chain(
- animatedText(
- "X",
- 1,
- 100,
- LIGHT_PURPLE + BOLD + OBFUSCATED + UNDERLINE,
- RED + BOLD + OBFUSCATED + UNDERLINE,
- GOLD + OBFUSCATED + BOLD + UNDERLINE,
- YELLOW + OBFUSCATED + BOLD + UNDERLINE,
- GREEN + OBFUSCATED + BOLD + UNDERLINE,
- AQUA + OBFUSCATED + BOLD + UNDERLINE,
- BLUE + OBFUSCATED + BOLD + UNDERLINE),
- animatedText(
- "MAX-Tier",
- 1,
- 100,
- RED + BOLD + UNDERLINE,
- GOLD + BOLD + UNDERLINE,
- YELLOW + BOLD + UNDERLINE,
- GREEN + BOLD + UNDERLINE,
- AQUA + BOLD + UNDERLINE,
- BLUE + BOLD + UNDERLINE,
- LIGHT_PURPLE + BOLD + UNDERLINE),
- animatedText(
- "X",
- 1,
- 100,
- GOLD + OBFUSCATED + BOLD + UNDERLINE,
- YELLOW + OBFUSCATED + BOLD + UNDERLINE,
- GREEN + OBFUSCATED + BOLD + UNDERLINE,
- AQUA + OBFUSCATED + BOLD + UNDERLINE,
- BLUE + OBFUSCATED + BOLD + UNDERLINE,
- LIGHT_PURPLE + OBFUSCATED + BOLD + UNDERLINE,
- RED + OBFUSCATED + BOLD + UNDERLINE)));
+ Tier(Supplier<String> tooltip) {
+ this.tooltip = tooltip;
+ }
}
}