diff options
| author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-07-11 00:27:00 -0400 |
|---|---|---|
| committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-07-26 00:59:48 -0400 |
| commit | bc8864eeb2c4ba5a5f3d3709dc488089d77e4c98 (patch) | |
| tree | c0898ad4c6342202a21788d1c21fd272ac660bcf /src/main/java/de | |
| parent | 192b16d5d5ec2baf0f561dcbaa8e1edad2fcd1b0 (diff) | |
| download | Skyblocker-bc8864eeb2c4ba5a5f3d3709dc488089d77e4c98.tar.gz Skyblocker-bc8864eeb2c4ba5a5f3d3709dc488089d77e4c98.tar.bz2 Skyblocker-bc8864eeb2c4ba5a5f3d3709dc488089d77e4c98.zip | |
True HEX Display!
Small change, major impact!
Diffstat (limited to 'src/main/java/de')
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java | 1 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/TrueHexDisplay.java | 42 |
2 files changed, 43 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java index 3b4cb41c..40655bd1 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipManager.java @@ -23,6 +23,7 @@ import java.util.List; public class TooltipManager { private static final TooltipAdder[] adders = new TooltipAdder[]{ new LineSmoothener(), // Applies before anything else + new TrueHexDisplay(), new SupercraftReminder(), ChocolateFactorySolver.INSTANCE, new ReorderHelper(), diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/TrueHexDisplay.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/TrueHexDisplay.java new file mode 100644 index 00000000..093e9de6 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/TrueHexDisplay.java @@ -0,0 +1,42 @@ +package de.hysky.skyblocker.skyblock.item.tooltip.adders; + +import java.util.List; +import java.util.regex.Pattern; + +import org.jetbrains.annotations.Nullable; + +import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import net.minecraft.item.ItemStack; +import net.minecraft.screen.slot.Slot; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; + +/** + * Changes the color of HEX colors codes on dye items to reflect their actual color + */ +public class TrueHexDisplay extends TooltipAdder { + private static final Pattern HEX_PATTERN = Pattern.compile("#[A-Fa-f0-9]{6}"); + + public TrueHexDisplay() { + super(Integer.MIN_VALUE); + } + + @Override + public void addToTooltip(@Nullable Slot focusedSlot, ItemStack stack, List<Text> lines) { + String itemId = stack.getSkyblockId(); + + //Nice job on item id consistency Hypixel + if (itemId != null && !itemId.isEmpty() && (itemId.startsWith("DYE_") || itemId.endsWith("_DYE"))) { + for (Text line : lines) { + //The hex part is inside of the siblings + for (Text text : line.getSiblings()) { + String stringified = text.getString(); + + if (HEX_PATTERN.matcher(stringified).matches()) { + ((MutableText) text).withColor(Integer.decode(stringified)); + } + } + } + } + } +} |
