Устройство меню GUI
Запись Open GUI содержит всё, что нужно меню: тип окна, заголовок, пул макетов и параметры сессии. На этой странице объясняется терминология и порядок, в котором стоит собирать меню.
Терминология
| Термин | Значение |
|---|---|
layoutPool | Именованные макеты меню. |
mainLayoutId | id макета, который рисуется первым (корневого). |
| Макет (layout) | Правило, размещающее слоты: сетка, строки, страницы, прокручиваемая область, фреймы или слои. |
| Предмет (item) | Описание одного слота: предмет, название, описание (lore), позиция, права и действия по клику. |
| Взаимодействие (interaction) | Что происходит для одного типа клика: команды, триггеры, закрытие или возврат назад. |
| Сессия (session) | Состояние открытого меню для одного игрока: история, текущая страница, позиция прокрутки и активное представление. |
| Видимая область (viewport) | Часть прокручиваемого макета, которая видна в данный момент. |
Порядок сборки
- Создайте запись Open GUI, затем выберите
guiType,sizeиtitle. - Добавьте макет
simpleсidи впишите этотidвmainLayoutId. - Сначала добавьте декоративные предметы (рамки, фоны), затем кнопки.
- Добавьте записи
interactionListк кнопкам. - И только после этого добавляйте
frame,scrollable,paginatedилиviews.
Повторение слотов
count, direction, gap и repeatY повторяют предмет. Один предмет с count 9 и direction right заполняет ряд. Эти поля размещают слоты и никогда не меняют размер стопки предмета. gap — это шаг: 1 размещает слоты вплотную, а 2 оставляет один пустой слот между копиями. Без direction эти три поля игнорируются и размещается один слот.
Слоты, которые оказались бы за пределами сетки, отбрасываются и выводятся в консоль с id макета и координатами.
Видимость и клики
criteriaскрывает слот от игроков, которые не соответствуют условию.viewPermissionскрывает слот от игроков без права.clickPermissionотображает слот, но делает его неактивным.allowPickupпозволяет игроку забрать предмет из меню; по умолчанию выключено.
Все они необязательны, а пустое право ничего не ограничивает.
Открытие, возврат и закрытие
- Open GUI может запустить любая запись, способная вызывать действие.
executeReturnво взаимодействии возвращает к предыдущему меню сессии.closeMenuво взаимодействии закрывает окно.- Закрытие клавишей Escape завершает сессию.