aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils')
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/ItemUtils.java14
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Utils.java12
2 files changed, 23 insertions, 3 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
index 880ebe76..70a8c241 100644
--- a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
@@ -25,6 +25,7 @@ import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Predicate;
+import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal;
@@ -186,6 +187,19 @@ public class ItemUtils {
return null;
}
+ @Nullable
+ public static Matcher getNbtTooltip(ItemStack item, Pattern pattern) {
+ for (Text line : getNbtTooltips(item)) {
+ String string = line.getString();
+ Matcher matcher = pattern.matcher(string);
+ if (matcher.matches()) {
+ return matcher;
+ }
+ }
+
+ return null;
+ }
+
public static List<Text> getNbtTooltips(ItemStack item) {
NbtCompound displayNbt = item.getSubNbt("display");
if (displayNbt == null || !displayNbt.contains("Lore", NbtElement.LIST_TYPE)) {
diff --git a/src/main/java/de/hysky/skyblocker/utils/Utils.java b/src/main/java/de/hysky/skyblocker/utils/Utils.java
index 08d0b167..3e3bc4af 100644
--- a/src/main/java/de/hysky/skyblocker/utils/Utils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Utils.java
@@ -37,6 +37,8 @@ public class Utils {
private static final String ALTERNATE_HYPIXEL_ADDRESS = System.getProperty("skyblocker.alternateHypixelAddress", "");
private static final String PROFILE_PREFIX = "Profile: ";
+ private static final String PROFILE_MESSAGE_PREFIX = "§aYou are playing on profile: §e";
+ public static final String PROFILE_ID_PREFIX = "Profile ID: ";
private static boolean isOnHypixel = false;
private static boolean isOnSkyblock = false;
private static boolean isInjected = false;
@@ -424,10 +426,14 @@ public class Utils {
return shouldFilter;
}
- if (isOnSkyblock && message.startsWith("Profile ID: ")) {
- profileId = message.replace("Profile ID: ", "");
+ if (isOnSkyblock) {
+ if (message.startsWith(PROFILE_MESSAGE_PREFIX)) {
+ profile = message.substring(PROFILE_MESSAGE_PREFIX.length()).split("§b")[0];
+ } else if (message.startsWith(PROFILE_ID_PREFIX)) {
+ profileId = message.substring(PROFILE_ID_PREFIX.length());
- MuseumItemCache.tick(profileId);
+ MuseumItemCache.tick(profileId);
+ }
}
return true;