diff --git a/component/src/main/java/me/neznamy/chat/EnumChatFormat.java b/component/src/main/java/me/neznamy/chat/EnumChatFormat.java index d587fd626..060be7f33 100644 --- a/component/src/main/java/me/neznamy/chat/EnumChatFormat.java +++ b/component/src/main/java/me/neznamy/chat/EnumChatFormat.java @@ -59,30 +59,4 @@ public enum EnumChatFormat { } return new String(b); } - - /** - * Code taken from bukkit, which returns last color codes used in provided text. - * - * @param input - * text to get last colors from - * @return last colors used in provided text or empty string if nothing was found - */ - public static @NotNull String getLastColors(@NotNull String input) { - StringBuilder result = new StringBuilder(); - int length = input.length(); - for (int index = length - 1; index > -1; index--) { - char section = input.charAt(index); - if ((section == '§' || section == '&') && (index < length - 1)) { - char c = input.charAt(index + 1); - if ("0123456789AaBbCcDdEeFfKkLlMmNnOoRr".contains(String.valueOf(c))) { - result.insert(0, '§'); - result.insert(1, c); - if ("0123456789AaBbCcDdEeFfRr".contains(String.valueOf(c))) { - break; - } - } - } - } - return result.toString(); - } } \ No newline at end of file diff --git a/shared/src/main/java/me/neznamy/tab/shared/features/scoreboard/lines/ScoreboardLine.java b/shared/src/main/java/me/neznamy/tab/shared/features/scoreboard/lines/ScoreboardLine.java index 26fa320ec..5db78749b 100644 --- a/shared/src/main/java/me/neznamy/tab/shared/features/scoreboard/lines/ScoreboardLine.java +++ b/shared/src/main/java/me/neznamy/tab/shared/features/scoreboard/lines/ScoreboardLine.java @@ -2,12 +2,11 @@ import lombok.Getter; import lombok.NonNull; +import me.neznamy.chat.TextColor; import me.neznamy.tab.api.scoreboard.Line; import me.neznamy.tab.shared.Limitations; import me.neznamy.tab.shared.TAB; import me.neznamy.tab.shared.TabConstants; -import me.neznamy.chat.EnumChatFormat; -import me.neznamy.chat.TextColor; import me.neznamy.tab.shared.cpu.ThreadExecutor; import me.neznamy.tab.shared.features.scoreboard.ScoreRefresher; import me.neznamy.tab.shared.features.scoreboard.ScoreboardImpl; @@ -206,7 +205,7 @@ protected String[] splitText(@NonNull String playerNameStart, @NonNull String te String[] prefixOther = split(text, Limitations.TEAM_PREFIX_SUFFIX_PRE_1_13); prefixValue = prefixOther[0]; String other = prefixOther[1]; - other = playerNameStart + EnumChatFormat.getLastColors(prefixValue) + other; + other = playerNameStart + getLastColors(prefixValue) + other; String[] nameSuffix = split(other, maxNameLength); nameValue = nameSuffix[0]; suffixValue = nameSuffix[1]; @@ -285,4 +284,31 @@ public String getFeatureName() { public String getRefreshDisplayName() { return "Updating Scoreboard lines"; } + + /** + * Returns last color codes used in provided text. + * + * @param input + * text to get last colors from + * @return last colors used in provided text or empty string if nothing was found + */ + @NotNull + protected String getLastColors(@NotNull String input) { + StringBuilder result = new StringBuilder(); + int length = input.length(); + for (int index = length - 1; index > -1; index--) { + char section = input.charAt(index); + if ((section == '§' || section == '&') && (index < length - 1)) { + char c = input.charAt(index + 1); + if ("0123456789AaBbCcDdEeFfKkLlMmNnOoRr".contains(String.valueOf(c))) { + result.insert(0, '§'); + result.insert(1, c); + if ("0123456789AaBbCcDdEeFfRr".contains(String.valueOf(c))) { + break; + } + } + } + } + return result.toString(); + } } \ No newline at end of file diff --git a/shared/src/main/java/me/neznamy/tab/shared/features/scoreboard/lines/StableDynamicLine.java b/shared/src/main/java/me/neznamy/tab/shared/features/scoreboard/lines/StableDynamicLine.java index 71f44c7af..338f71616 100644 --- a/shared/src/main/java/me/neznamy/tab/shared/features/scoreboard/lines/StableDynamicLine.java +++ b/shared/src/main/java/me/neznamy/tab/shared/features/scoreboard/lines/StableDynamicLine.java @@ -4,7 +4,6 @@ import me.neznamy.tab.shared.Limitations; import me.neznamy.tab.shared.Property; import me.neznamy.tab.shared.TAB; -import me.neznamy.chat.EnumChatFormat; import me.neznamy.tab.shared.features.scoreboard.ScoreboardImpl; import me.neznamy.tab.shared.platform.TabPlayer; import org.jetbrains.annotations.NotNull; @@ -120,7 +119,7 @@ private String[] split(@NonNull TabPlayer p, @NonNull String text) { suffix.insert(0, '§'); } String prefixString = prefix.toString(); - suffix.insert(0, EnumChatFormat.getLastColors(parent.getManager().getCache().get(prefixString).toLegacyText())); + suffix.insert(0, getLastColors(parent.getManager().getCache().get(prefixString).toLegacyText())); return new String[] {prefixString, suffix.toString()}; } else { return new String[] {text, ""};