From c6442bc88f40ff2d3babe69ced36b0ade59c1596 Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Tue, 30 Dec 2025 13:48:47 +0100 Subject: [PATCH] fix: chatcolor now works when player doesn't use color codes --- .../com/loki/lochat/utils/ChatFormatter.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/loki/lochat/utils/ChatFormatter.java b/src/main/java/com/loki/lochat/utils/ChatFormatter.java index ecb3e17..84fd958 100644 --- a/src/main/java/com/loki/lochat/utils/ChatFormatter.java +++ b/src/main/java/com/loki/lochat/utils/ChatFormatter.java @@ -167,14 +167,22 @@ public class ChatFormatter { // Заменяем смайлики result = replaceEmojis(result, player); - // Если есть право на цвета - конвертируем - if (hasColorPermission) { + // Проверяем есть ли цветовые коды в сообщении + boolean hasColorCodes = LEGACY_COLOR_PATTERN.matcher(result).find() + || SECTION_COLOR_PATTERN.matcher(result).find() + || HEX_PATTERN.matcher(result).find() + || MINIMESSAGE_HEX_PATTERN.matcher(result).find(); + + // Если есть право на цвета И есть цветовые коды - конвертируем + if (hasColorPermission && hasColorCodes) { result = convertAllColors(result); } else { - // Убираем цветовые коды - result = stripLegacyColors(result); + // Убираем цветовые коды если нет прав + if (!hasColorPermission) { + result = stripLegacyColors(result); + } - // Применяем цвет чата если установлен + // Применяем цвет чата если установлен (когда нет своих цветов) LoChat plugin = LoChat.getInstance(); if (plugin != null && plugin.getChatColorManager() != null) { result = plugin.getChatColorManager().applyChatColor(player.getUniqueId(), result);