Use components instead of ChatColor in more places (#12507)

This commit is contained in:
Epic
2025-05-02 01:11:25 +01:00
committed by GitHub
parent 1acf3b3837
commit b9b3cd652e
5 changed files with 29 additions and 25 deletions

View File

@ -7,7 +7,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Set;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameRule;
import org.bukkit.Location;
import org.bukkit.Server;

View File

@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.regex.Matcher; // Paper
import java.util.regex.Pattern; // Paper
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
import org.jetbrains.annotations.NotNull;
@ -27,7 +29,7 @@ public class FormattedCommandAlias extends Command {
if (throwable instanceof IllegalArgumentException) {
sender.sendMessage(throwable.getMessage());
} else {
sender.sendMessage(org.bukkit.ChatColor.RED + "An internal error occurred while attempting to perform this command");
sender.sendMessage(Component.text("An internal error occurred while attempting to perform this command", NamedTextColor.RED));
}
return false;
}

View File

@ -10,8 +10,11 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.help.HelpMap;
@ -78,31 +81,29 @@ public class HelpCommand extends BukkitCommand {
}
if (topic == null || !topic.canSee(sender)) {
sender.sendMessage(ChatColor.RED + "No help for " + command);
sender.sendMessage(Component.text("No help for" + command, NamedTextColor.RED));
return true;
}
ChatPaginator.ChatPage page = ChatPaginator.paginate(topic.getFullText(sender), pageNumber, pageWidth, pageHeight);
StringBuilder header = new StringBuilder();
header.append(ChatColor.YELLOW);
header.append("--------- ");
header.append(ChatColor.WHITE);
header.append("Help: ");
header.append(topic.getName());
header.append(" ");
TextComponent.Builder header = Component.text()
.append(Component.text("--------- ", NamedTextColor.YELLOW))
.append(Component.text("Help: ", NamedTextColor.WHITE))
.append(Component.text(topic.getName()))
.append(Component.empty());
if (page.getTotalPages() > 1) {
header.append("(");
header.append(page.getPageNumber());
header.append("/");
header.append(page.getTotalPages());
header.append(") ");
header.append(Component.text(" ("))
.append(Component.text(page.getPageNumber()))
.append(Component.text("/"))
.append(Component.text(page.getTotalPages()))
.append(Component.text(") "));
}
header.append(ChatColor.YELLOW);
for (int i = header.length(); i < ChatPaginator.GUARANTEED_NO_WRAP_CHAT_PAGE_WIDTH; i++) {
header.append("-");
}
sender.sendMessage(header.toString());
final TextComponent headerComponent = header.build();
final int headerSize = PlainTextComponentSerializer.plainText().serialize(headerComponent).length();
final int headerEndingCount = Math.max(0, ChatPaginator.GUARANTEED_NO_WRAP_CHAT_PAGE_WIDTH - headerSize);
sender.sendMessage(headerComponent.append(Component.text("-".repeat(headerEndingCount), NamedTextColor.YELLOW)));
sender.sendMessage(page.getLines());