diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-05-25 17:58:00 -0400 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-06-22 11:32:59 +0800 |
commit | 3ecd4afc187a69c174fa4dfa1622e705700f674c (patch) | |
tree | 6322c22a5aecb72156939aa3ccf52e0aced14547 /src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java | |
parent | 131d3afe215d1236a46c209569f6b4b0c5bb493e (diff) | |
download | Skyblocker-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.java | 18 |
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(); |