aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-01-04 01:55:22 -0500
committerGitHub <noreply@github.com>2024-01-04 01:55:22 -0500
commite7a5e993abec1c8aa37e06d30f50b3e137dd8a99 (patch)
tree86eb6f61b99cb3d5ebc3b81fe6eca4ac65832a8e
parent36ee2d680cc3dac10d143539174b8bb34e294293 (diff)
parent3b292bc312d5c9cefe96092af3392b3210048cec (diff)
downloadSkyblocker-e7a5e993abec1c8aa37e06d30f50b3e137dd8a99.tar.gz
Skyblocker-e7a5e993abec1c8aa37e06d30f50b3e137dd8a99.tar.bz2
Skyblocker-e7a5e993abec1c8aa37e06d30f50b3e137dd8a99.zip
Merge pull request #472 from AzureAaron/deleted-too-much
Two fixes
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java25
2 files changed, 28 insertions, 2 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
index 9d92f505..3452cdec 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
@@ -14,7 +14,6 @@ import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.DyeableItem;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
-import net.minecraft.nbt.NbtElement;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -184,7 +183,9 @@ public class ItemTooltip {
}
if (TooltipInfoType.COLOR.isTooltipEnabledAndHasOrNullWarning(internalID) && stack.getNbt() != null) {
- if (stack.getItem() instanceof DyeableItem item && item.hasColor(stack)) {
+ boolean hasCustomDye = SkyblockerConfigManager.get().general.customDyeColors.containsKey(ItemUtils.getItemUuid(stack));
+
+ if (!hasCustomDye && stack.getItem() instanceof DyeableItem item && item.hasColor(stack)) {
String colorHex = String.format("%06X", item.getColor(stack));
String expectedHex = ExoticTooltip.getExpectedHex(internalID);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java
index 59e00845..b77941c2 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java
@@ -1,9 +1,14 @@
package de.hysky.skyblocker.skyblock.tabhud.widget;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import de.hysky.skyblocker.skyblock.tabhud.util.Colors;
import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -16,6 +21,12 @@ public class FireSaleWidget extends Widget {
private static final MutableText TITLE = Text.literal("Fire Sales").formatted(Formatting.DARK_AQUA,
Formatting.BOLD);
+ // matches a fire sale item
+ // group 1: item name
+ // group 2: # items available
+ // group 3: # items available in total (1 digit + "k")
+ private static final Pattern FIRE_PATTERN = Pattern.compile("(?<item>.*): (?<avail>\\d*)/(?<total>[0-9.]*)k");
+
public FireSaleWidget() {
super(TITLE, Formatting.DARK_AQUA.getColorValue());
}
@@ -33,5 +44,19 @@ public class FireSaleWidget extends Widget {
this.addComponent(new IcoTextComponent(Ico.CLOCK, event));
return;
}
+
+ for (int i = 46;; i++) {
+ Matcher m = PlayerListMgr.regexAt(i, FIRE_PATTERN);
+ if (m == null) {
+ break;
+ }
+ String avail = m.group("avail");
+ Text itemTxt = Text.literal(m.group("item"));
+ float total = Float.parseFloat(m.group("total")) * 1000;
+ Text prgressTxt = Text.literal(String.format("%s/%.0f", avail, total));
+ float pcnt = (Float.parseFloat(avail) / (total)) * 100f;
+ ProgressComponent pc = new ProgressComponent(Ico.GOLD, itemTxt, prgressTxt, pcnt, Colors.pcntToCol(pcnt));
+ this.addComponent(pc);
+ }
}
}