Цветной текст в чате

Версия Minecraft
1.16.3
API
Forge
96
2
6
Всем привет! Я хочу сделать мод, на разные команды, как Essentials и нужно отправлять фидбек в чат.
И как в Essentials, я хочу, что-бы фидбек был цветным, например У игрока Player001 починен предмет Stick.
У меня сейчас это сделано так source.sendFeedback(new TranslationTextComponent("commands.time.night", source.getDisplayName()), true);
А мне нужен цветной текст. Как его сделать?
 
Решение
Например, требуется вывести У игрока Player001 починен предмет Stick
В лэнг файл пихаем че-то вроде
"repair_message" : "У игрока %s починен предмет %s"
В коде делаем че-то вроде:
Java:
new TranslationTextComponent("modid.repair_message",
                             TextFormatting.RED + player.getDisplayName() + TextFormatting.GOLD,
                             TextFormatting.RED + itemStack.getDisplayName())
        .mergeStyle(TextFormatting.GOLD, TextFormatting.BOLD)

Чтобы код в говно не превращался можно сделать хелпер-методы, по типу:
Java:
public static TextComponent translation(String translationKey, TextFormatting[] generalFormat, String... chunks){
    String gf =...
7,099
324
1,510
Поставь нормальные маппинги(в билд-скрипте)
 
7,099
324
1,510
Это конечно решение, но локализовать строки может быть неудобно.
Чем не нравится вариант с плейсхолдерами?
 
96
2
6
Это конечно решение, но локализовать строки может быть неудобно.
Чем не нравится вариант с плейсхолдерами?
1608797925135.png
 
7,099
324
1,510
player.getDisplayName().getUnformattedComponentText()
~~~
Упс, ошибка, исправил
 
Последнее редактирование:
7,099
324
1,510
Покажи строку из лэнг-файла и код, которым отправляешь сообщение
 
Сверху