aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java41
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java2
6 files changed, 41 insertions, 15 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java
index c05afdbf..714ee9c9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java
@@ -5,7 +5,7 @@ import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
public class ComboFilter extends SimpleChatFilter {
public ComboFilter() {
- super("^(\\+\\d+ Kill Combo \\+\\d+(% ✯ Magic Find| coins per kill)" +
+ super("^(\\+\\d+ Kill Combo \\+\\d+(% ✯ Magic Find| coins per kill|% Combat Exp)" +
"|Your Kill Combo has expired! You reached a \\d+ Kill Combo!)$");
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index eea430ab..1862313b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -152,6 +152,8 @@ public class SkyblockerConfig implements ConfigData {
public ChatFilterResult hideCombo = ChatFilterResult.PASS;
@ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
public ChatFilterResult hideAutopet = ChatFilterResult.PASS;
+ @ConfigEntry.Gui.Tooltip()
+ public boolean hideMana = false;
}
public enum Info {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
index b1bb0d93..bd99f2d4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
@@ -47,8 +47,10 @@ public abstract class HandledScreenMixin extends Screen {
@Inject(at = @At("HEAD"), method = "keyPressed", cancellable = true)
public void keyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable<Boolean> cir) {
- if (keyCode != 256 && !MinecraftClient.getInstance().options.inventoryKey.matchesKey(keyCode, scanCode)){
- if (WikiLookup.wikiLookup.matchesKey(keyCode, scanCode)) WikiLookup.openWiki(focusedSlot);
+ if (focusedSlot != null){
+ if (keyCode != 256 && !MinecraftClient.getInstance().options.inventoryKey.matchesKey(keyCode, scanCode)){
+ if (WikiLookup.wikiLookup.matchesKey(keyCode, scanCode)) WikiLookup.openWiki(focusedSlot);
+ }
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
index 19e0d79e..b9e80bd6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
@@ -24,6 +24,9 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
@Environment(EnvType.CLIENT)
@Mixin(InGameHud.class)
public abstract class InGameHudMixin extends DrawableHelper {
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) {