aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-07-11 00:27:00 -0400
committerAaron <51387595+AzureAaron@users.noreply.github.com>2024-07-26 00:59:48 -0400
commitbc8864eeb2c4ba5a5f3d3709dc488089d77e4c98 (patch)
treec0898ad4c6342202a21788d1c21fd272ac660bcf /src/main/java/de
parent192b16d5d5ec2baf0f561dcbaa8e1edad2fcd1b0 (diff)
downloadSkyblocker-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.java1
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/TrueHexDisplay.java42
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));
+ }
+ }
+ }
+ }
+ }
+}