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

Cookbook

Четыре шаблона, которые можно адаптировать под себя. Для каждого указаны используемые раскладки (layouts) и поля, которые нужно задать в записи Open GUI.

1. Прокручиваемый список со стрелками​

Раскладки: composite, scrollable, две simple.

  1. Создайте раскладку simple с именем list_content, содержащую строки списка. Она может быть выше окна: размещайте предметы при y от 0 до 14.
  2. Создайте раскладку scrollable с именем list_scroll, где innerId равен list_content, virtualWidth равен 9, а virtualHeight равен 15.
  3. В её buttons добавьте кнопку с direction UP при x 8, y 0 и кнопку DOWN при x 8, y 5, каждую со step 1 и предметом-стрелкой.
  4. Создайте раскладку simple с именем border со стеклянной панелью при x 8, y 1, count 4, direction down, а в displayName укажите один пробел.
  5. Создайте раскладку composite с именем main, у которой в children сначала list_scroll, затем border, и задайте mainLayoutId равным main.

Кнопки остаются привязанными к окну и исчезают, когда в их направлении больше нечего прокручивать.

2. Список с пагинацией​

Раскладки: composite, simple, paginated.

  1. Создайте раскладку paginated с именем shop, где itemsPerPage равен 21, а slots включают 10–16, 19–25 и 28–34.
  2. Добавьте в items по одному предмету на каждый товар с взаимодействием LEFT_CLICK, которое выполняет вашу команду или триггер.
  3. В navigationButtons добавьте кнопку PREVIOUS при x 0, y 5, кнопку NEXT при x 8, y 5 и INDICATOR при x 4, y 5 с названием <gray>{page_indicator}.
  4. Поместите раскладку simple с рамкой в composite под ним.

Для настоящего магазина с ценами и запасами используйте Shops: он сам заполняет раскладку с пагинацией.

3. Меню подтверждения​

Показывает closeMenu, executeReturn и историю сессии.

  1. Откройте подтверждение с опасной кнопки: добавьте в её взаимодействие команду gui:open <confirm menu entry id> или свяжите запись Open GUI в triggers.
  2. Создайте Open GUI с guiType CUSTOM, size SIZE_27 и раскладкой simple.
  3. Добавьте зелёную шерсть при x 2, y 1 с взаимодействием LEFT_CLICK, которое выполняет команду, при включённом closeMenu.
  4. Добавьте красную шерсть при x 6, y 1 с взаимодействием LEFT_CLICK и включённым executeReturn. Она возвращает в то меню, из которого было открыто это.

4. Взнос по квоте​

Показывает слоты хранилища, требуемый предмет и триггер.

  1. Создайте артефакт GUI Storage.
  2. В storagePool записи Open GUI добавьте конфигурацию с id, например iron_bank, артефактом в entry, requiredItem равным железному слитку, requiredAmount равным 32 и записью разблокировки в onReachRequired. Задайте placeholder серой стеклянной панелью.
  3. В раскладке simple добавьте предмет при x 4, y 1 со storageId iron_bank. В его названии и описании (lore) можно использовать {stored_name}, {stored_amount} и {stored_max}.

Оставьте group пустым для хранилища отдельного игрока или выберите запись группы (остров, гильдия), чтобы хранилище было общим.

Советы​

  • Порядок слоёв в composite совпадает с порядком отрисовки: сначала фон, кнопки в конце.
  • Давайте каждой прокручиваемой раскладке и раскладке с пагинацией уникальный id.
  • Используйте criteria у предметов, чтобы показывать или скрывать кнопки для разных игроков.
  • Для декоративных панелей задавайте в displayName один пробел, чтобы скрыть ванильное название предмета.