Собираем меню в DeluxeMenus от первого файла до рабочей кнопки: где лежат конфиги, как считать слоты, как повесить команду на клик и почему меню молча не открывается.
Меню на сервере открывают чаще любой другой команды: /menu, донат, варпы, киты. DeluxeMenus делает такие меню без программиста, но платить приходится YAML-ом. Один лишний пробел, и меню молча не грузится. Ниже рабочий порядок: как собрать меню руками, где оно обычно ломается и как сделать то же быстрее.
plugins, затем полный перезапуск.%player_name% или баланса в описании кнопки./papi ecloud download Player, /papi ecloud download Vault, затем /papi reload.Если плагины ставите впервые, сначала загляните в разбор обязательных плагинов: там порядок установки и частые конфликты.
После первого запуска появятся plugins/DeluxeMenus/config.yml и папка gui_menus. Каждое меню лучше держать отдельным файлом в этой папке. Но плагин увидит файл только тогда, когда он прописан в config.yml:
gui_menus:
main_menu:
file: main_menu.yml
shop_menu:
file: shop_menu.ymlmain_menu здесь внутреннее имя. По нему меню открывают командой /dm open main_menu и ссылаются на него из других меню.
plugins/DeluxeMenus/gui_menus/main_menu.yml.items.config.yml, как показано выше./dm reload и сразу посмотреть консоль.menu_title: '&8Главное меню'
open_command:
- menu
- m
size: 27
items:
spawn:
material: COMPASS
slot: 11
display_name: '&aНа спавн'
lore:
- '&7Телепорт на точку спавна'
left_click_commands:
- '[player] spawn'
- '[close]'
shop:
material: EMERALD
slot: 13
display_name: '&eМагазин'
left_click_commands:
- '[openguimenu] shop_menu'
profile:
material: head-%player_name%
slot: 15
display_name: '&b%player_name%'
lore:
- '&7Баланс: &f%vault_eco_balance_formatted%'Кнопка профиля покажет голову самого игрока и его баланс. Для этого и нужны расширения Player и Vault из списка выше.
Размер меню кратен девяти: от 9 до 54, то есть от одного до шести рядов. Слоты нумеруются с нуля, слева направо и сверху вниз. Формула простая: ряд × 9 + столбец, оба тоже с нуля.
| Ряд | Слоты | Середина ряда |
|---|---|---|
| 1 | 0–8 | 4 |
| 2 | 9–17 | 13 |
| 3 | 18–26 | 22 |
| 4 | 27–35 | 31 |
| 5 | 36–44 | 40 |
| 6 | 45–53 | 49 |
Рамку из стекла не надо расписывать по кнопке на слот. Один предмет можно поставить сразу в несколько ячеек списком: slots: [0, 1, 2, 3, 4, 5, 6, 7, 8].
| Действие | Что делает |
|---|---|
[player] команда | команда от имени игрока, пишется без слеша |
[console] команда | команда от консоли: выдать предмет, группу, деньги |
[message] текст | сообщение игроку в чат |
[openguimenu] имя | открыть другое меню по внутреннему имени |
[close] | закрыть меню |
[refresh] | перерисовать меню, например после покупки |
Списки действий разделены по кнопкам мыши: left_click_commands, right_click_commands и click_commands, который срабатывает на любой клик. Действия выполняются по порядку сверху вниз.
Условие показа задаётся через view_requirement. Если условие не выполнено, кнопки не видно. Чтобы обычный игрок видел не пустоту, а замок с подсказкой, в тот же слот ставят вторую кнопку с меньшим приоритетом. В DeluxeMenus главнее та, у которой число priority меньше.
vip_kit:
material: DIAMOND
slot: 22
priority: 1
display_name: '&6Набор VIP'
view_requirement:
requirements:
is_vip:
type: has permission
permission: group.vip
left_click_commands:
- '[player] kit vip'
- '[close]'
vip_kit_locked:
material: BARRIER
slot: 22
priority: 2
display_name: '&cТолько для VIP'group.vip это право, которое LuckPerms сам даёт каждому участнику группы vip. Как устроить донат-группы, разобрали в статье про LuckPerms. Набор выдаётся от имени игрока, а не консолью: так Essentials сам проверит перезарядку и право на кит.
Для платной кнопки есть click_requirement с типом has money и списком deny_commands: что сказать игроку, если денег не хватает. Нужен Vault и эконом-плагин.
gui_menus. Файл лежит в папке, а /dm open отвечает, что такого меню нет.'Don't' ломает весь файл. Апостроф удваивают или берут строку в двойные кавычки.[player]. Пишите [player] spawn, без слеша перед командой.priority. Показывается не та, и кажется, что условие не работает./menu уже есть у другого плагина, откроется чужое. Возьмите другую команду или уберите дубль./reload всего сервера. Для меню хватает /dm reload.Перед /dm reload прогоните файл через любой онлайн-валидатор YAML. Это быстрее, чем искать лишний пробел глазами по консоли.В Cloud Panel меню собирается мышкой. Перетаскиваете предмет в ячейку, кликаете по нему и задаёте название, описание и что происходит при нажатии: ничего, закрыть меню или выполнить команду. Число рядов выбирается переключателем, лишний предмет вытаскивается за край окна. Цвета в названии и описании видно сразу, как в игре. Слоты считать не нужно.
Файл DeluxeMenus панель пишет сама, остальные строки не трогает. Каждая правка попадает в журнал, откат возвращает файл байт в байт. Меню можно повесить на клик по НПС из той же панели. А сам конструктор можно потрогать без установки: на странице панели меню собирается в браузере, готовый конфиг DeluxeMenus забираете бесплатно.
Хотите сначала попробовать без установки? Бесплатный генератор меню DeluxeMenus собирает кнопки в браузере и отдаёт готовый YAML.
gui_menus в config.yml.size кратен девяти, слоты посчитаны с нуля.[player] без слеша.view_requirement и запасную кнопку в том же слоте./dm reload консоль без ошибок.Хотите собирать меню мышкой на своём сервере: 3 дня бесплатно, без карты.
Мы делаем сборки, плагины и сайты для серверов Minecraft с 2022 года. Готовое решение ставится на ваш хостинг за вечер, установку делаем бесплатно.