Перейти к содержимому

Теги

На многих серверах рядом с ником в чате показывается тег - небольшой символ, который читается из ключа LuckPerms meta. Это меню позволяет игроку выбрать нужный тег: меню записывает выбранный символ в этот meta-ключ. Подключи плагин форматирования чата, который читает %luckperms_meta_ame_tag% (или другой плейсхолдер, который ждёт твой форматтер), и тег появится в чате.

  • Действие lpMetaSet со списком пар ключ/значение metaList
  • Действие lpMetaRemove для очистки тега
  • Совмещение бесплатных тегов и тегов под пермишеном в одном меню
  • Паттерн с двумя ветками действий: actions { ... } denyActions: ${denyNoPerm} для VIP-тега

lpMetaSet записывает одно или несколько meta-значений в профиль игрока в LuckPerms:

lpMetaSet {
metaList: [
{ key: "ame_tag", value: "&c♥" }
]
}

Имя meta-ключа (здесь ame_tag) выбираешь сам - бери что-то специфичное для своего сервера. Значение - это то, что попадёт в чат (в примере - цветной символ). За один вызов можно установить сразу несколько ключей:

metaList: [
{ key: "prefix", value: "&7[Member]" },
{ key: "ame_tag", value: "&c♥" },
{ key: "show_role", value: "true" }
]

lpMetaRemove принимает список ключей для удаления:

lpMetaRemove: ["ame_tag"]

Эти действия работают только если в качестве провайдера прав активен LuckPerms. Если активен другой провайдер, действие выведет предупреждение в лог и ничего не сделает - меню не сломается, просто тег не применится.

Установить meta - это половина дела. Форматтер чата должен его прочитать. Большинство плагинов чата (DeluxeChat, ChatFormatter и т.д.) принимают плейсхолдеры PlaceholderAPI вида %luckperms_meta_<key>% в строке формата:

chatformat: "&8[%luckperms_meta_ame_tag%&8] &f%player_name%: %message%"

Добавь это в конфиг плагина чата, перезапусти - и тег появится рядом с ником.

  1. Положи бандл в plugins/AbstractMenus/menus/example/.
  2. Выполни /am reload.
  3. Введи /ame_tags в игре.
  4. Кликни на любой бесплатный тег - meta установится. Проверь через /lp user <ты> meta info (увидишь ame_tag в списке).