aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
index 94642df0..852a16df 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
@@ -16,7 +16,7 @@ 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|(\\S+(?: \\S+)*))(.*)$");
+ 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 final Resource health;
private final Resource mana;
private int defense;
@@ -36,13 +36,16 @@ public class FancyStatusBars extends DrawableHelper {
health.set(matcher.group(1), matcher.group(2));
if(matcher.group(3) != null)
defense = Integer.parseInt(matcher.group(3));
- if(matcher.group(5) != null)
+ if(matcher.group(5) != null) {
mana.set(matcher.group(5), matcher.group(6));
+ if(matcher.group(7) != null)
+ mana.add(Integer.parseInt(matcher.group(7)));
+ }
StringBuilder sb = new StringBuilder();
appendIfNotNull(sb, matcher.group(4));
- appendIfNotNull(sb, matcher.group(7));
appendIfNotNull(sb, matcher.group(8));
+ appendIfNotNull(sb, matcher.group(9));
if(!sb.isEmpty()) {
assert client.player != null;
@@ -71,6 +74,7 @@ public class FancyStatusBars extends DrawableHelper {
int manaFillWidth = (int) (mana.getFillLevel() * 33.0F);
assert client.player != null;
int xp = (int) (client.player.experienceProgress * 33.0F);
+ int defenseFill = (int) (defense / (defense + 100.0) * 33.0);
// Icons
// this.client.getTextureManager().bindTexture(BARS);
@@ -90,7 +94,7 @@ public class FancyStatusBars extends DrawableHelper {
this.drawTexture(matrices, left + 10, top + 1, 0, 16, hpFillWidth, 7);
this.drawTexture(matrices, left + 10, top + 1, 0, 44, hpOverflowWidth, 7);
this.drawTexture(matrices, left + 55, top + 1, 0, 23, manaFillWidth, 7);
- this.drawTexture(matrices, left + 102, top + 1, 0, 30, 33, 7);
+ this.drawTexture(matrices, left + 102, top + 1, 0, 30, defenseFill, 7);
this.drawTexture(matrices, left + 149, top + 1, 0, 37, xp, 7);
// Progress Texts
@@ -125,6 +129,9 @@ public class FancyStatusBars extends DrawableHelper {
this.value = Integer.parseInt(value);
this.max = Integer.parseInt(max);
}
+ public void add(int value) {
+ this.value += value;
+ }
public int getValue() {
return value;
}