Как реализовать поддержку цветов в формате HEX в плагине для Spigot?

Можете поделиться кодом или ссылкой на код, который позволяет изменять цвет текста в формате HEX, чтобы создавать градиентный эффект? Хотелось бы использовать этот код, вставляя его между каждой буквой текста в формате <#1-HEX>Текст<#2-HEX>. Буду признателен за ссылки на статьи или примеры кода на Java (версия 8), которые могут помочь реализовать это на версии игры 1.16+.
  • 25 сентября 2023 г. 12:47
Ответы на вопрос 1
Вот пример кода на Java для реализации поддержки цветов в формате HEX в плагине для Spigot:

```java
import net.md_5.bungee.api.ChatColor;

public class ChatColorUtils {

    public static String colorize(String text) {
        StringBuilder coloredText = new StringBuilder();
        StringBuilder hexCode = new StringBuilder();
        boolean isColorCode = false;

        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);

            if (isColorCode) {
                hexCode.append(c);

                if (hexCode.length() == 6) {
                    String hexColor = "#" + hexCode.toString();
                    coloredText.append(hexColorize(hexColor));
                    hexCode.setLength(0);
                    isColorCode = false;
                }
            } else if (c == '<' && text.charAt(i + 1) == '#') {
                isColorCode = true;
                i++;
            } else {
                coloredText.append(c);
            }
        }

        return coloredText.toString();
    }

    private static String hexColorize(String hexColor) {
        ChatColor hexChatColor = ChatColor.of(hexColor);
        return hexChatColor.toString();
    }
}
```

Вы можете использовать этот класс `ChatColorUtils` для изменения цвета текста в формате HEX. Например:

```java
String text = "<#FF0000>T<#00FF00>e<#0000FF>x<#FF0000>t";
String coloredText = ChatColorUtils.colorize(text);
```

В результате получится текст с градиентным эффектом, где каждая буква будет окрашена в указанный цвет.

Данный код использует класс `ChatColor` из библиотеки BungeeCord, поэтому вам потребуется добавить эту библиотеку в зависимости вашего плагина.

Надеюсь, это поможет вам реализовать поддержку цветов в формате HEX в вашем плагине для Spigot!
Похожие вопросы