diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock')
3 files changed, 10 insertions, 9 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java index 2f982c61..ad82417f 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java @@ -16,7 +16,6 @@ import net.minecraft.text.Text; import net.minecraft.util.math.MathHelper; import net.minecraft.util.Formatting; -// TODO: untested with active fire sales // this widget shows info about fire sales when in the hub // or not, if there isn't one going on @@ -29,14 +28,15 @@ public class FireSaleWidget extends Widget { // group 1: item name // group 2: # items bought // group 1: # items available in total (1 digit + "k") - private static final Pattern FIRE_PATTERN = Pattern.compile(" (.*): (\\d*)/(\\d)k"); + private static final Pattern FIRE_PATTERN = Pattern.compile(" (.*): (\\d*)/([0-9.]*)k"); public FireSaleWidget(List<PlayerListEntry> list) { super(TITLE, Formatting.DARK_AQUA.getColorValue()); boolean found = false; if (StrMan.strAt(list, 46).contains("Starts In")) { - IcoTextComponent start = new IcoTextComponent(Ico.CLOCK, StrMan.stdEntry(list, 46, "Starts in", Formatting.DARK_AQUA)); + IcoTextComponent start = new IcoTextComponent(Ico.CLOCK, + StrMan.stdEntry(list, 46, "Starts in", Formatting.DARK_AQUA)); this.addComponent(start); this.pack(); return; @@ -44,13 +44,14 @@ public class FireSaleWidget extends Widget { for (int i = 46;; i++) { Matcher m = StrMan.regexAt(list, i, FIRE_PATTERN); - if (m == null ||!m.matches()) { + if (m == null || !m.matches()) { break; } found = true; + float amt = Float.parseFloat(m.group(3)) * 1000; Text a = Text.literal(m.group(1)); - Text b = Text.literal(m.group(2) + "/" + m.group(3) + "000"); - float pcnt = (1 - (Float.parseFloat(m.group(2)) / (Float.parseFloat(m.group(3)) * 1000)))*100f; + Text b = Text.literal(String.format("%s/%.0f", m.group(2), amt)); + float pcnt = (Float.parseFloat(m.group(2)) / (amt)) * 100f; ProgressComponent pc = new ProgressComponent(Ico.GOLD, a, b, pcnt, pcntToCol(pcnt)); this.addComponent(pc); } @@ -62,7 +63,7 @@ public class FireSaleWidget extends Widget { } private int pcntToCol(float pcnt) { - return MathHelper.hsvToRgb(pcnt / 300f, 0.9f, 0.9f); + return MathHelper.hsvToRgb( pcnt / 300f, 0.9f, 0.9f); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ReputationWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ReputationWidget.java index 121e41e8..e234763b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ReputationWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ReputationWidget.java @@ -20,7 +20,7 @@ public class ReputationWidget extends Widget { private static final MutableText TITLE = Text.literal("Faction Status").formatted(Formatting.AQUA, Formatting.BOLD); - private static final Pattern PROGRESS_PATTERN = Pattern.compile(" \\|+ \\(([0-9.]*%)\\)"); + private static final Pattern PROGRESS_PATTERN = Pattern.compile(" \\|+ \\(([0-9.]*)%\\)"); private static final Pattern STATE_PATTERN = Pattern.compile("(\\S*) *(\\S*)"); public ReputationWidget(List<PlayerListEntry> list) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/SkillsWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/SkillsWidget.java index c2eedfa4..ca5bca67 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/SkillsWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/SkillsWidget.java @@ -27,7 +27,7 @@ public class SkillsWidget extends Widget { // match the skill entry // group 1: skill name and level // group 2: progress to next level (without "%") - private static final Pattern SKILL_PATTERN = Pattern.compile("\\S*: ([A-Za-z]* [0-9]*): ([0-9.]*)%?"); + private static final Pattern SKILL_PATTERN = Pattern.compile("\\S*: ([A-Za-z]* [0-9]*): ([0-9.MAX]*)%?"); public SkillsWidget(List<PlayerListEntry> list) { super(TITLE, Formatting.YELLOW.getColorValue()); |