
useTranslatedNames
Плагин для автоматического перевода названий предметов в сообщениях CoreProtect. Избавляет от английских ID и показывает понятные русские названия.
useTranslatedNames - перевод названий предметов для CoreProtect
Если вы используете CoreProtect на своём сервере Майнкрафт, то знаете, как неудобно видеть в логах английские ID вроде minecraft:diamond_sword. Особенно когда нужно быстро разобраться, что сломал или подобрал игрок. Плагин useTranslatedNames решает эту проблему - он перехватывает сообщения от CoreProtect (и любых других плагинов) и заменяет технические ID на переведённые названия на основе языковых файлов Minecraft.
Плагин работает на серверах с ProtocolLib и поддерживает версии Minecraft 1.20.4 и ниже. Настройка гибкая: можно задать свои правила замены через регулярные выражения, переводить названия мобов, предметов, блоков и даже подменять целые сообщения.
Функции и команды
/utn- выводит информацию о плагине и статистику./utn json <JSON>- тестирование строки JSON для проверки правил./utn reload- перезагружает конфигурацию./utn debug [Level]- включает режим отладки.
Плагин ловит сообщения от сервера и в реальном времени подменяет в них части текста по заданным шаблонам. Вся магия - в конфигурации.
Конфигурация
Основной файл - config.yml. Содержит блок list, где описываются правила замены. Каждое правило включает:
inspectLength- проверка длины сообщения (чтобы не обрабатывать слишком короткие или длинные).get- регулярное выражение для поиска совпадений.set- шаблон замены с переменными. Можно использовать встроенные функции:_$1_- подстановка захваченной группы._$1:TranslatedName_- переводит значение через языковой ключ Minecraft (например,minecraft:creeper→entity.minecraft.creeper)._$1:ItemType_- формирует NBT для hoverEvent (показывает предмет при наведении)._$1:Words:Group_- замена по словарю изwords.yml.- Если
setпустой - сообщение отменяется. set: '_USE_GET_'- оставляет исходный текст.
Дополнительно:
permission- обрабатывать сообщение только у игроков с правом (по умолчанию все).displayPlace- куда отправить:ACTION_BAR(в экшн-бар) или по умолчанию в чат.displayObject- кому отправить (только отправителю, всем, всем кроме отправителя, в консоль и т.д.).inherit- объединение правил для повышения производительности:LINKпередаёт результат следующему правилу,CLOSEостанавливает обработку.
Пример конфига из поставки:
# 更新插件后, 需要手动修改配置版本号, 才能使用一些具有较大改动的功能
# 更新发布页面会显示版本号和新功能示例
configVersion: 4
dev:
parser: ChatComponents # для 1.20.4 и ProtocolLib 5.2.0; GetStrings для 1.20.2-
serializedInput: NONE
convertPlayerMessages: NONE
list:
- inspectLength: [240, 1024]
get: '...'
set: '...'
inherit: LINK
- inspectLength: [240, 1024]
get: '...'
set: '...'
Кроме того, есть файл words.yml для простого словесного замещения. Например, можно переводить числа в прописные:
words:
中文数字:
- get: '1'
set: 'один'
lang: 'ru_ru'
- get: '2'
set: 'два'
lang: 'ru_ru'
Зависимости
Для работы нужен ProtocolLib. Убедитесь, что он установлен на сервере.
Итоги
useTranslatedNames - незаменимая вещь для администраторов, которые хотят видеть в логах CoreProtect русские названия вместо кучи minecraft:something. Настройка поначалу кажется сложной, но один раз прописав правила для своих нужд, вы забудете о неудобствах. Плагин лёгкий, не грузит сервер, а возможности кастомизации практически безграничны.
Скачайте плагин и настройте его под свой сервер - и логирование станет намного понятнее.
