Skip to content

Commit

Permalink
[Code style] Move method into a different class
Browse files Browse the repository at this point in the history
  • Loading branch information
NEZNAMY committed Feb 22, 2025
1 parent ac7e2a9 commit cba7655
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 31 deletions.
26 changes: 0 additions & 26 deletions component/src/main/java/me/neznamy/chat/EnumChatFormat.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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];
Expand Down Expand Up @@ -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();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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, ""};
Expand Down

0 comments on commit cba7655

Please sign in to comment.