- Поддерживаемые версии
- 1.16
Всё очень кратко и понятно, а если не понятно, то читайте документацию, детки ?
Апи ядра обязательно должно быть версии 1.16
Перед тем, как запускать данный код, если вы будете добавлять его в публичный плагин, делайте проверку на версию сервера, иначе будет*срик-срик* в консольке сервера. Кто не послушается, тот увидит злых админов.
Не забывайте, что у игроков с версий ниже цвет будет серым при отображении hex'а.
Итак, первое, что нам надо, это паттерн, который разберёт hex.
Да прибудут с вами ошибки и слабость.
Апи ядра обязательно должно быть версии 1.16
Перед тем, как запускать данный код, если вы будете добавлять его в публичный плагин, делайте проверку на версию сервера, иначе будет
Не забывайте, что у игроков с версий ниже цвет будет серым при отображении hex'а.
Итак, первое, что нам надо, это паттерн, который разберёт hex.
private static final Pattern HEX_PATTERN = Pattern.compile("#([A-Fa-f0-9]){6}");
Java:
private String parseColors(String message) {
String parsed = message; //Надо блин
if (Сервер.гетВерсия() => 16) { //Получаем версию сервера, если 1.16 или выше - заменяем и хекс.
Matcher matcher = HEX_PATTERN.matcher(parsed); //Матчерим хекс в сообщении.
while (matcher.find()) { //Пока хексы есть в сообщении, делаем свои грязные делишки
ChatColor hexColor = ChatColor.of(matcher.group()); //Преобразуем эти ваши хештеги циферки и буковки в чатколор
String before = parsed.substring(0, matcher.start());
String after = parsed.substring(matcher.end());
parsed = before + hexColor + after; //Пук
}
}
return ChatColor.translateAlternateColorCodes('&', parsed); //Окончательно преобразуем цвета в сообщении.
}