diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java | 41 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java | 2 |
2 files changed, 31 insertions, 12 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java index 84eebed3..75d232e9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java @@ -16,7 +16,8 @@ import java.util.regex.Pattern; public class FancyStatusBars extends DrawableHelper { private static final MinecraftClient client = MinecraftClient.getInstance(); private static final Identifier BARS = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/bars.png"); - private static final Pattern ACTION_BAR_STATUS = Pattern.compile("^§[6c]([0-9]+)/([0-9]+)❤(?:\\+§c[0-9]+\\S)? {3,}(?:§a([0-9]+)§a❈ Defense|(\\S+(?: \\S+)*)) {3,}(?:§b([0-9]+)/([0-9]+)✎ (?:Mana|§3([0-9]+)ʬ)?|(\\S+(?: \\S+)*))(.*)$"); + private static final Pattern ACTION_BAR_MANA = Pattern.compile("§b-\\d+ Mana \\(.*\\) +"); + private static final Pattern ACTION_BAR_STATUS = Pattern.compile("^§[6c](\\d+)/(\\d+)❤(\\+§c\\d+.)?(?: +§a(\\d+)§a❈ Defense)?(?: +(\\S+(?:\\s\\S+)*))??(?: +§b(\\d+)/(\\d+)✎ +(?:Mana|§3(\\d+)ʬ))?(?: +(§[27].*))?$"); private final Resource[] resources = new Resource[]{ // Health @@ -30,29 +31,47 @@ public class FancyStatusBars extends DrawableHelper { }; public boolean update(String actionBar) { - if (!SkyblockerConfig.get().general.bars.enableBars) + if (!SkyblockerConfig.get().general.bars.enableBars) { + if (SkyblockerConfig.get().messages.hideMana) { + Matcher mana = ACTION_BAR_MANA.matcher(actionBar); + if (mana.find()) { + assert client.player != null; + client.player.sendMessage(Text.of(actionBar.replace(mana.group(), "")), true); + return true; + } + } return false; + } + Matcher matcher = ACTION_BAR_STATUS.matcher(actionBar); if (!matcher.matches()) return false; resources[0].setMax(Integer.parseInt(matcher.group(1)), Integer.parseInt(matcher.group(2))); - if (matcher.group(3) != null) { - int def = Integer.parseInt(matcher.group(3)); + if (matcher.group(4) != null) { + int def = Integer.parseInt(matcher.group(4)); resources[2].setFillLevel(def, (double) def / ((double) def + 100D)); } - if (matcher.group(5) != null) { - int m = Integer.parseInt(matcher.group(5)); - if (matcher.group(7) != null) - m += Integer.parseInt(matcher.group(7)); - resources[1].setMax(m, Integer.parseInt(matcher.group(6))); + if (matcher.group(6) != null) { + int m = Integer.parseInt(matcher.group(6)); + if (matcher.group(8) != null) + m += Integer.parseInt(matcher.group(8)); + resources[1].setMax(m, Integer.parseInt(matcher.group(7))); } assert client.player != null; resources[3].setFillLevel(client.player.experienceLevel, client.player.experienceProgress); StringBuilder sb = new StringBuilder(); - appendIfNotNull(sb, matcher.group(4)); - appendIfNotNull(sb, matcher.group(8)); + if (matcher.group(3) != null) { + sb.append("§c").append(matcher.group(3)); + } + if (SkyblockerConfig.get().messages.hideMana) { + Matcher mana = ACTION_BAR_MANA.matcher(actionBar); + if (!mana.find()) + appendIfNotNull(sb, matcher.group(5)); + } else { + appendIfNotNull(sb, matcher.group(5)); + } appendIfNotNull(sb, matcher.group(9)); if (!sb.isEmpty()) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java index 2413471c..290bd0ae 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java @@ -324,7 +324,7 @@ public class PriceInfoTooltip { private static void downloadLowestPrices() { JsonObject result = null; try { - URL apiAddr = new URL("https://sbe-stole-skytils.design/api/auctions/lowestbins"); + URL apiAddr = new URL("https://skytils.gg/api/auctions/lowestbins"); InputStreamReader reader = new InputStreamReader(apiAddr.openStream()); result = new Gson().fromJson(reader, JsonObject.class); } catch (IOException e) { |