Вопрос Как сделать hex цвета в плагине

Писать парсер, в котором можно преобразовать цветовой код из любого формата в формат §x§r§r§g§g§b§b
Либо используй готовый вариант
Код:
public static String color(String from) {
        Pattern pattern = Pattern.compile("&#[a-fA-F\0-9]{6}");
        Matcher matcher = pattern.matcher(from);
        while (matcher.find()) {
            String hexCode = from.substring(matcher.start(), matcher.end());
            String replaceSharp = hexCode.replace("&#", "x");
            char[] ch = replaceSharp.toCharArray();
            StringBuilder builder = new StringBuilder();
            for (char c : ch)
                builder.append("&").append(c);
            from = from.replace(hexCode, builder.toString());
            matcher = pattern.matcher(from);
        }
        return ChatColor.translateAlternateColorCodes('&', from);
    }
 
Последнее редактирование:
Пропускаешь String через этот метод, получаешь String с нужным форматом цветовых кодов, уже выводишь этот String игроку
Пример:
Код:
player.sendMessage(color(Plugin.getConfig().getString("message")));
Я конечно против такого использования, но мне явно не нужно учить как правильно делать, а ты уже сделаешь как тебе необходимо
 
Использовать – единственный вариант, имеющий право на дальнейшее существование.

Pattern pattern = Pattern.compile("&#[a-fA-F\0-9]{6}");

А вот компайлить паттерны при каждом вызове неэффективно.
 
Последнее редактирование:
Назад
Сверху Снизу