Добавление hex-цветов в плагин.

NormalWalk_

Разработчик
Пользователь
Сообщения
63
Решения
1
Всем привет!

Написал свой плагин и хочу добавить поддержку градиентов, типа: #rrggbb
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Как добавить?
сам код:

JavaScript:
package ru.normalwalk.moscases.others;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;

public class Config {

    public static String Config(String config) {
        return ChatColor.translateAlternateColorCodes('&', config);
    }
}
 
Всем привет!

Написал свой плагин и хочу добавить поддержку градиентов, типа: #rrggbb
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Как добавить?
сам код:

JavaScript:
package ru.normalwalk.moscases.others;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;

public class Config {

    public static String Config(String config) {
        return ChatColor.translateAlternateColorCodes('&', config);
    }
}
Можешь использовать следующий код:
Думаю что за что отвечает понять будет не так сложно
 
Java:
private static final Pattern hexPatten = Pattern.compile("#[0-9A-Fa-f]{6}");
private static final LegacyComponentSerializer legacyAmpersand = LegacyComponentSerializer.legacyAmpersand();
private static final LegacyComponentSerializer legacySection = LegacyComponentSerializer.legacySection();

public static TextComponent convertHex(String input) {
        Matcher matcher = hexPatten.matcher(input);

        while (matcher.find()) {
            String hexColor = matcher.group();
            if (!hexColor.startsWith("&#")) {
                input = input.replace(hexColor, "&" + hexColor);
            }
        }

        return legacyAmpersand.deserialize(input);
    }

    public static String convertHexString(String input) {
        String serialize = LegacyComponentSerializer.legacySection().serialize(convertHex(input));
        return serialize;
    }
 
Назад
Сверху Снизу