diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-12-31 03:26:32 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-31 16:26:32 +0800 |
commit | 3f0a9adc3374081467d4d7ad4dcc13706127982a (patch) | |
tree | 8f76e9881b56af3e5e9b7eb7f814fcfa42e0fd45 | |
parent | 30b2c267b58f07ae232882b4d57a1e8a4822c30b (diff) | |
download | Skyblocker-3f0a9adc3374081467d4d7ad4dcc13706127982a.tar.gz Skyblocker-3f0a9adc3374081467d4d7ad4dcc13706127982a.tar.bz2 Skyblocker-3f0a9adc3374081467d4d7ad4dcc13706127982a.zip |
Fix Fire Sales Widget (#461)
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java | 38 |
1 files changed, 6 insertions, 32 deletions
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 e08b4acf..59e00845 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,13 +1,9 @@ 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; @@ -17,47 +13,25 @@ import net.minecraft.util.Formatting; public class FireSaleWidget extends Widget { - private static final MutableText TITLE = Text.literal("Fire Sale").formatted(Formatting.DARK_AQUA, + 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()); } @Override public void updateContent() { - String event = PlayerListMgr.strAt(46); + Text event = PlayerListMgr.textAt(46); if (event == null) { - this.addComponent(new PlainTextComponent(Text.literal("No Fire Sale!").formatted(Formatting.GRAY))); + this.addComponent(new PlainTextComponent(Text.literal("No Fire Sales!").formatted(Formatting.GRAY))); return; } - if (event.contains("Starts In")) { - this.addSimpleIcoText(Ico.CLOCK, "Starts in:", Formatting.DARK_AQUA, 46); + if (event.getString().contains("starting in")) { + 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); - } - } - } |