aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-01-01 05:28:58 -0500
committerAaron <51387595+AzureAaron@users.noreply.github.com>2024-01-01 05:28:58 -0500
commit4d367b19496c8dfab7816f3ea4a9c7ca37faca4d (patch)
tree21710826d833ba902946bc6053aafe65892d2655 /src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget
parent561beafc2860e43ebab437a3ebfb382f6aba6bdb (diff)
downloadSkyblocker-4d367b19496c8dfab7816f3ea4a9c7ca37faca4d.tar.gz
Skyblocker-4d367b19496c8dfab7816f3ea4a9c7ca37faca4d.tar.bz2
Skyblocker-4d367b19496c8dfab7816f3ea4a9c7ca37faca4d.zip
Restore unintentionally removed code for the Fire Sales widget
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java25
1 files changed, 25 insertions, 0 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 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);
+ }
}
}