Посібник
Як створити плагін GUI-меню для Minecraft
Оновлено 18 жовтня 2026 р.
Серверні меню (варпи, магазини, набори, налаштування) - це інвентарі-скрині, які плагін відкриває й контролює. Кожен слот містить предмет, що працює як кнопка. Вони здаються простими, але меню, яке не скасовує кожен тип кліку, дає гравцям забрати кнопки собі. У цьому посібнику пояснено, як працюють меню і як отримати зібране й протестоване меню.
Почніть із цього прикладу.
Згенерувати це в CodexeКрок за кроком
1.Накидайте ескіз меню
Меню-скриня має від 1 до 6 рядів по 9 слотів (від 9 до 54). Запишіть, який предмет у якому слоті, що робить кожен клік і які слоти лише декоративні, як-от скляні панелі.
2.Створіть інвентар із власником
Відкривайте його через
Bukkit.createInventory(holder, size, title)з власним класомInventoryHolder. Саме за власником плагін розуміє, що клік стався в його меню, а не у звичайній скрині.3.Обробіть кліки
У
InventoryClickEventперевірте власника, скасуйте подію, а потім виконайте дію для цього слота. Після дії закрийте меню або оновіть його.4.Заблокуйте всі інші способи переміщати предмети
Скасовуйте також
InventoryDragEventі обробляйте шифт-кліки, цифрові клавіші та кліки у власному інвентарі гравця, поки меню відкрите.5.Додайте сторінки, якщо список довгий
Для варпів або товарів магазину, що не вміщуються, відведіть нижній ряд під кнопки «назад», «далі» й «закрити».
6.Відкривайте його командою
Наприклад,
/warps, або з предмета чи NPC. Дайте команді дозвіл, якщо меню не для всіх.7.Зберіть і проклікайте його
Дайте Codexe скомпілювати плагін, зайдіть на тестовий сервер і натисніть кожну кнопку. Тестові гравці теж можуть відкрити меню й клікнути слоти за вас.
Правила, що роблять меню безпечним
- Розпізнавайте меню за його власником, ніколи за назвою: назву може скопіювати будь-яка перейменована скриня.
- Скасовуйте клік до будь-яких інших дій, щоб помилка в дії ніколи не залишила предмет на курсорі гравця.
- Скасовуйте перетягування й шифт-кліки з інвентарю гравця, інакше предмети можна заштовхати в меню.
- Не довіряйте предмету в слоті: шукайте дію за номером слота або за тегом на предметі.
- Виконуйте повільну роботу (читання з бази даних, вебзапити) поза головним потоком і оновлюйте меню, коли вона завершиться.
Меню з конфігурації
Власники серверів люблять змінювати меню без нової збірки. Попросіть, щоб кожне меню описувалося у файлі конфігурації з розміром, назвою, а для кожної кнопки - зі слотом, матеріалом, назвою, описом і дією:
| Ключ | Приклад | Що робить |
|---|---|---|
size | 27 | Кількість слотів, кратна 9 |
slot | 13 | Де стоїть кнопка, рахуючи від 0 |
material | ENDER_PEARL | Предмет, який показано |
action | warp:spawn | Що робить клік: варп, команда, інше меню |
Приклад опису
«Плагін для Paper 1.21.4 під назвою WarpMenu. /warps відкриває меню на 6 рядів з однією кнопкою на варп, 45 на сторінку, з кнопками «назад», «далі» й «закрити» в нижньому ряду. Адміністратори додають варпи через /setwarp <name> <material> і видаляють через /delwarp. Клік по варпу телепортує після 3-секундної підготовки, яка скасовується, якщо гравець рухається. Гравці не можуть забрати чи перемістити жоден предмет у меню. Варпи зберігаються в warps.yml, назва меню, назви кнопок і повідомлення в config.yml.»
Тестування меню тестовими гравцями
Тестові гравці Codexe можуть відкрити меню й клікнути слот, а потім перевірити, що відкрилося меню, з'явилося повідомлення або видано предмет. Додайте тест своїми словами, наприклад «звичайний гравець виконує /warps, клікає слот 0 і бачить повідомлення про телепортацію», і він запускатиметься щоразу, коли Codexe доставляє зміну.
Запитання
Чи працює це на 1.8?
Меню-скрині є в усіх версіях від 1.8. API відрізняється в деталях (назви матеріалів, заголовки), тож вкажіть версію в запиті.
Чи можна зробити меню на Skript?
Так, з доповненням skript-gui, яке встановлено на тестовому сервері Codexe для Skript. Для великих або навантажених меню краще підходить плагін.
Чи може меню мати власну текстуру?
Лише з пакетом ресурсів, який змінює предмети або фон інвентарю. З боку плагіна все те саме: слоти, предмети й кліки.
Створіть своє меню
Цей запит відкривається готовим до надсилання:
“Плагін для Paper 1.21.4 під назвою WarpMenu: /warps відкриває меню на 6 рядів з однією кнопкою на варп, 45 на сторінку, кнопки «назад»/«далі»/«закрити» в нижньому ряду, /setwarp з назвою й матеріалом і /delwarp для адміністраторів, 3-секундна підготовка до телепортації, що скасовується при русі, жоден предмет не можна забрати чи перемістити, варпи зберігаються в warps.yml, заголовки й повідомлення в config.yml.”
Згенерувати це в Codexe