Перейти к основному содержимому

Устройство меню GUI

Запись Open GUI содержит всё, что нужно меню: тип окна, заголовок, пул макетов и параметры сессии. На этой странице объясняется терминология и порядок, в котором стоит собирать меню.

Терминология​

ТерминЗначение
layoutPoolИменованные макеты меню.
mainLayoutIdid макета, который рисуется первым (корневого).
Макет (layout)Правило, размещающее слоты: сетка, строки, страницы, прокручиваемая область, фреймы или слои.
Предмет (item)Описание одного слота: предмет, название, описание (lore), позиция, права и действия по клику.
Взаимодействие (interaction)Что происходит для одного типа клика: команды, триггеры, закрытие или возврат назад.
Сессия (session)Состояние открытого меню для одного игрока: история, текущая страница, позиция прокрутки и активное представление.
Видимая область (viewport)Часть прокручиваемого макета, которая видна в данный момент.

Порядок сборки​

  1. Создайте запись Open GUI, затем выберите guiType, size и title.
  2. Добавьте макет simple с id и впишите этот id в mainLayoutId.
  3. Сначала добавьте декоративные предметы (рамки, фоны), затем кнопки.
  4. Добавьте записи interactionList к кнопкам.
  5. И только после этого добавляйте 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 завершает сессию.

Дальнейшие шаги​