From 4d367b19496c8dfab7816f3ea4a9c7ca37faca4d Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Mon, 1 Jan 2024 05:28:58 -0500 Subject: Restore unintentionally removed code for the Fire Sales widget --- .../skyblock/tabhud/widget/FireSaleWidget.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget') 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("(?.*): (?\\d*)/(?[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); + } } } -- cgit