Как работают префиксы-картинки
Чат 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/
configs/ranks.yml
textures/admin.png
textures/vip.png
README.txtШаг 2: добавь font images в ItemsAdder
Скопируй папку ranks в plugins/ItemsAdder/contents/. Конфиг регистрирует каждый значок как font image:
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: 7scale_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.
- Установи PlaceholderAPI и расширение LuckPerms:
/papi ecloud download LuckPerms, затем/papi reload. - Используй
%luckperms_prefix%в формате чата или пусть плагин чата читает префикс через Vault. - Для таб-листа вики ItemsAdder показывает плагин TAB с плейсхолдером картинки прямо в префиксе группы и затем
/tab reload:
Admin:
tabprefix: '%img_admin% '
tagprefix: '%img_admin% 'Собственный тег ItemsAdder :admin: работает там, где ItemsAdder сам заменяет текст. Плагинам, которые понимают только PlaceholderAPI, нужен %img_admin% – поэтому генератор использует форму с плейсхолдером.
Текстовые префиксы без ресурспака
Если ресурспак не нужен, подойдут и цветные текстовые префиксы. Генератор пишет и их – с hex-цветами через &# и жирным шрифтом:
lp group vip meta setprefix 10 "ɗAD&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 показывает, как их выдавать.