Для тех, кто ставит DeluxeMenus впервые и хочет быстро получить рабочее меню. В итоге будет окно на три кнопки, которое открывается командой /menu.
Сам файл кладём в plugins/DeluxeMenus/gui_menus/main_menu.yml.
Что здесь что:Кроме left_click_commands есть right_click_commands, shift_left_click_commands и click_commands, последний срабатывает на любой клик.
group.vip - право, которое LuckPerms автоматически даёт всем участникам группы vip. Если добавляете кнопку в меню выше, уберите слот 22 из заполнителя: вместо 16-26 укажите 16-21 и 23-26, иначе два предмета займут одну ячейку.
Проверить конкретный плейсхолдер: /papi parse me %player_name%. Если команда вернула сам текст с процентами, расширения нет. Подробнее: PlaceholderAPI в справочнике.
Частые причины:
Вопросы по теме — пишите ниже, ответим.
Что нужно
- DeluxeMenus и PlaceholderAPI: DeluxeMenus работает поверх него;
- Vault и плагин экономики, если кнопки будут стоить денег.
Где живут меню
Меню можно описать прямо в config.yml, но удобнее держать каждое в своём файле. В plugins/DeluxeMenus/config.yml регистрируем меню в блоке gui_menus:Код
gui_menus:
main_menu:
file: main_menu.ymlСамо меню
Код
menu_title: '&8Меню сервера'
open_command:
- menu
- m
size: 27
items:
'filler':
material: GRAY_STAINED_GLASS_PANE
slots:
- 0-10
- 12
- 14
- 16-26
display_name: ' '
'spawn':
material: COMPASS
slot: 11
display_name: '&aСпавн'
lore:
- '&7Телепорт на спавн'
left_click_commands:
- '[player] spawn'
- '[close]'
'profile':
material: head-%player_name%
slot: 13
display_name: '&e%player_name%'
lore:
- '&7Баланс: &f%vault_eco_balance_formatted%'
- '&7Онлайн: &f%server_online%'
'bread':
material: BREAD
slot: 15
display_name: '&6Хлеб x16'
lore:
- '&7Цена: 100 монет'
left_click_requirement:
requirements:
money:
type: has money
amount: 100
deny_commands:
- '[message] &cНе хватает монет'
left_click_commands:
- '[takemoney] 100'
- '[console] give %player_name% bread 16'- menu_title - заголовок окна, цвета через &;
- open_command - команда открытия, одна строкой или несколько списком;
- size - размер, кратен 9, максимум 54;
- slot - номер ячейки, счёт с нуля слева направо и сверху вниз: верхний ряд 0-8, второй 9-17 и так далее;
- slots - сразу несколько ячеек, можно диапазоном;
- material - предмет как в игре, заглавными буквами: DIAMOND_SWORD, OAK_LOG. Голова игрока задаётся как head-ник;
- left_click_requirement - условие клика. Если денег меньше 100, выполнятся deny_commands, а покупка не пройдёт.
Действия по клику
Каждая строка в списке команд начинается с действия в квадратных скобках:Код
[player] spawn команда от имени игрока, без слеша
[console] give %player_name% bread 16 команда от консоли
[close] закрыть меню
[message] &aГотово сообщение игроку
[openguimenu] shop_menu открыть другое меню из gui_menus
[takemoney] 100 списать деньги через VaultКнопка только для своих
view_requirement прячет предмет, если условие не выполнено. Например, кнопка, которую видят только игроки группы vip из LuckPerms:Код
'vip_hat':
material: GOLDEN_HELMET
slot: 22
display_name: '&6Шляпа из блока'
view_requirement:
requirements:
is_vip:
type: has permission
permission: group.vip
left_click_commands:
- '[player] hat'PlaceholderAPI
Плейсхолдеры вроде %player_name% подставляются, только когда установлены нужные расширения:Код
/papi ecloud download Player
/papi ecloud download Server
/papi ecloud download Vault
/papi reloadПрименить и проверить
После правок выполните /dm reload. Открыть меню себе: /menu, другому игроку: /dm open main_menu Nick. Если меню не открывается, смотрите консоль сразу после reload: DeluxeMenus пишет, в каком файле ошибка.Частые причины:
- табы вместо пробелов в YAML;
- строки, начинающиеся с &, без кавычек. Для YAML это спецсимвол, файл не прочитается;
- старые названия материалов из 1.12, вроде STAINED_GLASS_PANE:7;
- файл меню не зарегистрирован в gui_menus в config.yml;
- два предмета в одном слоте без priority.
Вопросы по теме — пишите ниже, ответим.