aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget
diff options
context:
space:
mode:
authormsg-programs <msgdoesstuff@gmail.com>2023-05-06 23:29:46 +0200
committermsg-programs <msgdoesstuff@gmail.com>2023-05-06 23:29:46 +0200
commitc4af58e95fff7515de9f49f2a84817401dc274c0 (patch)
tree98e4dbc0ec6c6ef0e73c75cde6eec247a152f523 /src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget
parent444b71d0fd4a32abb950eea33dd5fe16f34c1bcc (diff)
downloadSkyblocker-c4af58e95fff7515de9f49f2a84817401dc274c0.tar.gz
Skyblocker-c4af58e95fff7515de9f49f2a84817401dc274c0.tar.bz2
Skyblocker-c4af58e95fff7515de9f49f2a84817401dc274c0.zip
Fix various faulty regexes
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java15
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ReputationWidget.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/SkillsWidget.java2
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());