aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-05-25 17:58:00 -0400
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-06-22 11:32:59 +0800
commit3ecd4afc187a69c174fa4dfa1622e705700f674c (patch)
tree6322c22a5aecb72156939aa3ccf52e0aced14547 /src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
parent131d3afe215d1236a46c209569f6b4b0c5bb493e (diff)
downloadSkyblocker-3ecd4afc187a69c174fa4dfa1622e705700f674c.tar.gz
Skyblocker-3ecd4afc187a69c174fa4dfa1622e705700f674c.tar.bz2
Skyblocker-3ecd4afc187a69c174fa4dfa1622e705700f674c.zip
Add profile updating from player list
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
index 40c96660..6f238b44 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
@@ -11,6 +11,7 @@ import net.fabricmc.fabric.api.networking.v1.PacketSender;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.network.ClientPlayerEntity;
+import net.minecraft.client.network.PlayerListEntry;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.scoreboard.ScoreboardObjective;
import net.minecraft.scoreboard.ScoreboardPlayerScore;
@@ -26,6 +27,7 @@ import java.util.List;
* Utility variables and methods for retrieving Skyblock related information.
*/
public class Utils {
+ private static final String PROFILE_PREFIX = "§r§e§lProfile: §r§a";
private static boolean isOnSkyblock = false;
private static boolean isInDungeons = false;
private static boolean isInjected = false;
@@ -102,6 +104,7 @@ public class Utils {
SkyblockEvents.LEAVE.invoker().onSkyblockLeave();
}
isInDungeons = isOnSkyblock && string.contains("The Catacombs");
+ updateFromPlayerList(client);
updateLocRaw();
}
@@ -192,6 +195,21 @@ public class Utils {
}
}
+ private static void updateFromPlayerList(MinecraftClient client) {
+ if (client.getNetworkHandler() == null) {
+ return;
+ }
+ for (PlayerListEntry playerListEntry : client.getNetworkHandler().getPlayerList()) {
+ if (playerListEntry.getDisplayName() == null) {
+ continue;
+ }
+ String name = playerListEntry.getDisplayName().getString();
+ if (name.startsWith(PROFILE_PREFIX)) {
+ profile = name.substring(PROFILE_PREFIX.length());
+ }
+ }
+ }
+
public static void onClientWorldJoin(ClientPlayNetworkHandler handler, PacketSender sender, MinecraftClient client) {
clientWorldJoinTime = System.currentTimeMillis();
resetLocRawInfo();