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

Префиксы рангов LuckPerms со значками-картинками (ItemsAdder)

На многих серверах перед ником игрока стоит не цветной текст, а маленький пиксельный значок вроде VIP или ADMIN. За каждым значком – font image из серверного ресурспака, а LuckPerms хранит для него только плейсхолдер. Этот гайд показывает всю цепочку: конфиг ItemsAdder, команды LuckPerms, приоритеты и плагины чата и таба, которые делают значок видимым.

Обновлено:

Как работают префиксы-картинки

Чат Minecraft умеет показывать только текст. Ресурспак может добавить в шрифт новые символы, а ItemsAdder превращает любой PNG в такой символ – он называется font image. Когда пак загружен, значок – просто ещё один символ в строке.

Работу делят три плагина:

  • ItemsAdder собирает ресурспак и заменяет %img_<name>% (PlaceholderAPI) или свой тег :<name>: на символ значка.
  • LuckPerms хранит, какая группа носит какой префикс, и по приоритету решает, что показывать, если групп у игрока несколько.
  • Твои плагины чата и таба читают префикс LuckPerms через Vault или плейсхолдер PlaceholderAPI %luckperms_prefix% и выводят его. Сам LuckPerms чат не форматирует.

Шаг 1: сделай картинки значков

Нарисуй свои ранги в генераторе префиксов рангов. Каждый значок по умолчанию высотой 8 пикселей, как требует вики ItemsAdder, и шириной по тексту. Расставь ранги по порядку: верх списка получает самый высокий приоритет в LuckPerms. Задай namespace (имя папки, по умолчанию ranks) и нажми Скачать все в ZIP.

В ZIP лежит по одному PNG на ранг, ranks.yml и README со всеми командами:

ranks.zip
ranks/
  configs/ranks.yml
  textures/admin.png
  textures/vip.png
README.txt

Шаг 2: добавь font images в ItemsAdder

Скопируй папку ranks в plugins/ItemsAdder/contents/. Конфиг регистрирует каждый значок как font image:

plugins/ItemsAdder/contents/ranks/configs/ranks.yml
info:
  namespace: ranks
font_images:
  admin:
    permission: "ranks.admin"
    show_in_gui: true
    suggest_in_command: false
    path: "admin.png"
    scale_ratio: 8
    y_position: 7
  vip:
    permission: "ranks.vip"
    show_in_gui: true
    suggest_in_command: false
    path: "vip.png"
    scale_ratio: 8
    y_position: 7
  • scale_ratio: 8 соответствует картинке высотой 8 пикселей, так что один пиксель картинки – это один пиксель шрифта, а y_position: 7 ставит значок на строку текста. Если выбрать другую высоту, генератор меняет оба значения вместе с ней. ItemsAdder требует, чтобы y_position был меньше или равен scale_ratio.
  • Строка permission решает только то, кто может вводить значок как эмодзи в чате. Кто носит его перед ником, решает LuckPerms.
  • path указывает на PNG в папке textures этого namespace.

Выполни /iazip в консоли и дождись, пока ресурспак пересоберётся. Игроки увидят значки только после загрузки нового пака.

Шаг 3: задай префикс в LuckPerms

Создай группы, если их ещё нет, и задай префикс каждой группе. Генератор пишет эти строки сразу для всех рангов:

Консоль
lp creategroup admin
lp creategroup vip
lp group admin meta setprefix 20 "%img_admin% "
lp group vip meta setprefix 10 "%img_vip% "
lp user Steve parent add vip
  • Число – это приоритет. Если игрок состоит в нескольких группах, LuckPerms показывает префикс с самым высоким приоритетом. Генератор даёт верхнему рангу самое большое число, с шагом в десять.
  • setprefix заменяет существующие префиксы этой группы в том же контексте. addprefix добавил бы ещё один рядом с ними.
  • Кавычки нужны, потому что префикс заканчивается пробелом, который отделяет значок от ника.
  • Удалить префикс можно командой lp group vip meta removeprefix 10.

Хочешь несколько значков подряд, например значок ранга и значок донатера? LuckPerms умеет складывать префиксы через раздел meta-formatting в своём config.yml (format, duplicates, start-spacer, middle-spacer, end-spacer).

Шаг 4: покажи значок в чате и табе

Теперь префикс содержит %img_admin%. Что-то должно заменить этот плейсхолдер на значок. Плагин чата или таба должен показывать префикс LuckPerms и обрабатывать внутри него плейсхолдеры PlaceholderAPI.

  1. Установи PlaceholderAPI и расширение LuckPerms: /papi ecloud download LuckPerms, затем /papi reload.
  2. Используй %luckperms_prefix% в формате чата или пусть плагин чата читает префикс через Vault.
  3. Для таб-листа вики ItemsAdder показывает плагин TAB с плейсхолдером картинки прямо в префиксе группы и затем /tab reload:
plugins/TAB/config.yml (groups)
  Admin:
    tabprefix: '%img_admin%  '
    tagprefix: '%img_admin%  '

Собственный тег ItemsAdder :admin: работает там, где ItemsAdder сам заменяет текст. Плагинам, которые понимают только PlaceholderAPI, нужен %img_admin% – поэтому генератор использует форму с плейсхолдером.

Текстовые префиксы без ресурспака

Если ресурспак не нужен, подойдут и цветные текстовые префиксы. Генератор пишет и их – с hex-цветами через &# и жирным шрифтом:

Консоль
lp group vip meta setprefix 10 "&#0599AD&lVIP &r"

Для hex-цветов нужен Minecraft 1.16 или новее и плагин чата, который понимает &#RRGGBB. Для плагинов чата, читающих MiniMessage, копируй строки MiniMessage с <gradient>. Подробнее о форматах цвета – в гайде цвета MOTD, hex и градиенты.

Типичные ошибки и их решение

Что ты видишьПричина и решение
%img_vip% отображается текстомПлагин чата или таба не обрабатывает PlaceholderAPI в префиксе, или PlaceholderAPI не установлен.
Пустой квадрат вместо значкаПак не пересобран через /iazip, или у игрока всё ещё старый пак. Перезайди после пересборки.
Префикса нет совсемПлагин чата не показывает префикс LuckPerms. Проверь Vault или %luckperms_prefix% в его формате.
Показывается не тот значокПриоритеты. Побеждает самое большое число – проверь их через lp group <name> meta info.
У игрока два значкаУ группы два префикса из-за addprefix. Используй setprefix или настрой складывание осознанно.
Значок стоит слишком высоко или низкоДругой ресурспак сдвигает шрифт чата. Поменяй y_position (не выше scale_ratio) и снова выполни /iazip.

Та же техника font images рисует и целые фоны меню – смотри свой фон GUI в DeluxeMenus с ItemsAdder. А если к твоим рангам прилагаются бонусы за голоса, гайд награды за голоса с VotingPlugin показывает, как их выдавать.

Частые вопросы

Как серверы показывают картинки рангов в чате?

С помощью ресурспака. Каждый значок – это font image, свой символ. ItemsAdder встраивает его в пак и заменяет плейсхолдер вроде %img_vip%, который ты ставишь в префикс LuckPerms.

Нужно ли игрокам что-то скачивать?

Значкам-картинкам нужен серверный ресурспак, который ItemsAdder может отправлять при входе игрока. Текстовым префиксам с цветовыми кодами не нужно ничего.

Какой префикс побеждает, если у игрока несколько групп?

По умолчанию тот, у которого самый высокий приоритет – число в meta setprefix. С разделом meta-formatting в конфиге LuckPerms можно показывать и несколько префиксов подряд.

Какого размера должны быть иконки рангов?

Вики ItemsAdder требует картинки высотой 8 пикселей. Генератор ставит scale_ratio равным высоте картинки (8), а y_position – 7, так что картинка рисуется 1:1 и остаётся чёткой. Ширина зависит от текста.

Источники

Сверено с официальной документацией: