🔥New GUIs / Dialogue - Революция, которую вы пропустили.

Руководство 🔥New GUIs / Dialogue - Революция, которую вы пропустили.

Поддерживаемые версии
  1. 1.21
Итак, случилось то, чего мы ждали больше десяти лет. В Minecraft 1.21.6/1.21.7 наконец-то добавили Новый GUI - систему диалогов, которая обещает похоронить эпоху "GUI через сундуки". Но не без подводных камней, ахахах. А как блин иначе, вот например что сказали Mojang.
"Диалоги не должны полностью заменять любой внутриигровой пользовательский интерфейс, а лишь позволять отображать простые сообщения и получать ввод от пользователей. Эта функция намеренно ограничена."

Но вот в чем рофл. Как только сообщество начало делать крутые штуки с диалогами (Смотрите Reddit и Chest Commands Discord), разработчики потихоньку стали улучшать и переобулись, по этому вполне возможно что в след обнове (1.22.x) мы получим больше возможностей.
1751481294775.png

Классика жанра - Doom. Если что-то существует - значит в нем можно сделать дум.​

Почему диалоги это прорыв?
Давайте честно - GUI через сундуки это был настоящий кошмар для разработчиков серверов на протежении всего времени.

Преимущества новых диалогов:
  • Встроенная поддержка клиента (никаких костылей!).
  • Защита из коробки.
  • Красивый внешний вид без текстур-паков. Расширяется ресурспаком.
  • Простая реализация.

Три Супер-фичи
  1. Диалоги до входа в мир - можете показать интерфейс еще в фазе конфигурации. Селектор сервера, проверка белого списка, регистрация - все это ДО входа игрока в мир! Это просто космос.
  2. Быстрые действия (клавиша G) - игроки могут мгновенно вызвать ваш интерфейс нажатием G. Да, сервер не видит само нажатие, но можно настроить контекстные меню заранее.
  3. Кнопка в меню паузы - добавьте свою кнопку прямо в игровое меню. Теперь админ-панель может быть всегда под рукой!
  4. Через ресурспак можно удалить предупреждение путем замены текстуры на невидимую и смешению её в самый край. Так же вы можете спокойно отображать модели и кастомные Юникоды с заменой на текстуру.


Основные ограничения
  • Статичная позиция: диалоги не крепятся к координатам на экране, они рендерятся друг за другом в своей области. Но всё равно большие возможности в верстке по сравнению с 54 слотами сундуков.
  • Нельзя масштабировать или задавать точную позицию элементов.
  • Нет динамического обновления: для изменения содержимого нужно полностью перезапускать диалог.
  • Дорого по производительности: постоянное переоткрытие диалогов могут создавать нагрузки. Но при грамотной оптимизации решаеться.
  • Единственный способ полностью контролировать визуал кнопок и всего диалога - это сделать их полностью неведомыми и прорисовывать текстуру самим ПОД каждый размер и позицию, затем накладывать юникодом, так ещё и выравнивать текст. Вы так же можете удалить все ассеты и сделать невидимыми, затем накладывая текстуру как с обычными GUI. И да, после этого все кнопки в игре станут невозможными, по этому надо в lang для каждого ключа перевода делать текстуру с размером для этой кнопки и текстом на одном языке, что убивает весь перевод в игре и поддержку модов.​
Что это означает на практике
  • Забудьте о производительных интерфейсах типа аукционов с обновлением (Например появление предметов не закрывая диалог) в реальном времени. Используйте GUI.
  • Нельзя сделать HUD-элементы которые висят в углу экрана или умеют определенные значения по X и Y.
  • Интерактивные мини-игры с постоянным обновлением - не вариант. Большая нагрузка. Хотя судя по тому что создало сообщество в это уже не вериться.


Но вот что МОЖНО сделать!
Несмотря на ограничения, вот РЕАЛЬНЫЕ примеры того ЧТО УЖЕ можно сделать. Я не смогу все примеры скинуть сюда, но большинство я взял из Reddit, Twitter и Discord по типу Chest Commands. Можете сами изучить по ключевым словами. Могу скинуть только вот эти пару примеров.

Ниже я приведу список идей, которые можно воплотить в диалогах. Большая часть из них частично уже сделано сообществом, т.к большинство увидел у других.

90% Описанных идей можно сделать через плагины, которые скинул ниже.

Администрирование серверов:
  • Система подачи заявок на белый список с фотографиями и подробными формами.
  • Тикет-система для жалоб на игроков.
  • Двухфакторная аутентификация с QR-кодами (ппц).
  • Система капчи с математическими примерами или вопросами (втф?).
  • Интерфейс управления банами с историей нарушений и возможностью апелляций.
  • Система голосований среди игроков по важным вопросам сервера.
Игровая механика:
  • Продвинутый селектор с описаниями, статистикой и превью способностей.
  • Система квестов с трекингом прогресса, наградами и цепочками заданий.
  • Редактор деревьев навыков с визуализацией веток развития.
  • Менеджер гильдий со всем контентом.
  • Переключатель каналов чата (локальный, глобальный, гильдии, торговый).
  • Система достижений с красивыми иконками и описаниями.
  • Магазин косметики. Аля кристаликс не будет, но что-то похоже сделать можно.
Творческие серверы и строительство:
  • Конфигуратор стоек для брони с сохранением шаблонов. Что-то подобное можно сделать, но пока ограничено немного.
  • Помощник WorldEdit/FAWE с готовыми шаблонами и макросами.
  • Система участков с покупкой, продажей и настройкой приватности.
  • Библиотека построек с возможностью скачивания и оценки.
  • Поиск схематик по тегами.
Мини-игры и развлечения:
  • Система матчей с рейтингом и подбором по скиллу.
  • Менеджер приватных миров с настройкой доступа для друзей.
  • Очередь для переполненных серверов с оценкой времени ожидания.
  • Страница статуса с информацией о работе серверов в сети.
  • Система турниров с регистрацией, сетками и призами. У меня уже есть наработки на это под мой сервер по дуэлям.
  • Мини-викторины с вопросами о сервере или игре.
  • Калькулятор игровых ресурсов (сколько нужно руды для полного алмазного набора?).
Совсем безумные:
  • Рендер видео в диалогах - АХАХАХАХ. Но можно сделать ещё круче, чем в примерах выше.
  • Подгрузка текста/контента из сайта/веба прямо в игре. Кто-то уже сделал, но я не смог найти пример.
  • Интерактивные карты подземелий с отметками сокровищ.
  • Система знакомств для поиска тиммейтов/друзей на сервере.
  • Система "Найти игрока" с картой и телепортацией.
  • Встроенный редактор вики.
  • Интеграция с Discord/Telegram/Vk.

Создание диалогов и удобные плагины

Генератор диалогов
Позволяет гибко создавать интерфейсы, значительно функциональнее других GUI плагинов и имеет ПОЛНУЮ поддержку диалогов.
Оба позволяют интегрировать интерфейсов в любые ситуации на сервере. Один из самых полезных инструментов. Второй плагин поможет хранить переменные в базе данных, так вы сможете создавать намного больше.​

Так же рекомендую взглянуть на эти ресурсы, через которые вы тоже можете создавать много интересного. Все предлагаемые плагины можно использовать вместе.​
Автор
Mioji
Просмотры
1 489
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Mioji

Поделиться ресурсом

Назад
Сверху Снизу