diff options
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java index 2267cbea..1ee24ec8 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java @@ -57,6 +57,7 @@ import net.minecraft.network.play.client.C0DPacketCloseWindow; import net.minecraft.util.ChatComponentText; import net.minecraft.util.ChatStyle; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IChatComponent; import net.minecraft.util.Matrix4f; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; @@ -1999,4 +2000,20 @@ public class Utils { public static String getLastOpenChestName() { return SBInfo.getInstance().lastOpenChestName; } + + public static String getNameFromChatComponent(IChatComponent chatComponent) { + String unformattedText = cleanColour(chatComponent.getSiblings().get(0).getUnformattedText()); + String username = unformattedText.substring(unformattedText.indexOf(">") + 2, unformattedText.indexOf(":")); + // If the first character is a square bracket the user has a rank + // So we get the username from the space after the closing square bracket (end of their rank) + if (username.charAt(0) == '[') { + username = username.substring(unformattedText.indexOf(" ") + 2); + } + // If we still get any square brackets it means the user was talking in guild chat with a guild rank + // So we get the username up to the space before the guild rank + if (username.contains("[") || username.contains("]")) { + username = username.substring(0, unformattedText.indexOf(" ")); + } + return username; + } } |
