Плагин для серверов Майнкрафт, который превращает команды в настраиваемые графические окна. Администратор описывает меню в YAML без разработки: игроки смогут выбирать действия кнопками, полями ввода, переключателями и списками вместо команд и сообщений в чате.
Возможности
- Создание диалогов с надписями, кнопками, флажками, выпадающими списками, ползунками и текстовыми полями.
- Показ предметов с названием, описанием, текстурой головы, свечением и другими свойствами; расширенная настройка предметов доступна на Paper.
- Выполнение консольных и игровых команд в зависимости от выбора игрока.
- Подстановка данных через PlaceholderAPI в заголовках, тексте, предметах и командах.
- Хранение меню в YAML-файлах внутри
interfaces/; подпапки помогают разделить большое количество интерфейсов. - Настраиваемый доступ к отдельным интерфейсам через быстрое меню и меню паузы.
Подходит для меню варпов, подтверждения покупки, принятия правил, переключателя пвп, выбора ранга, настроек и инструментов администрации.



Команды
/dwreload— перечитывает конфиг, сообщения и все интерфейсы без перезапуска сервера./dwreport— создаёт диагностический отчёт./dwopen— открывает настроенный диалог; удобно для командных блоков, NPC и других плагинов./dwclose— закрывает открытое диалоговое окно.
Каждый YAML-файл в interfaces/ также задаёт собственную команду для открытия меню.
Права
dialogwindow.reload—/dwreloaddialogwindow.report—/dwreportdialogwindow.open—/dwopendialogwindow.close—/dwclose
Для команды конкретного интерфейса право задаётся в его YAML-файле, например dialogwindow.warpui.
Настройка
После запуска создаются config.yml, messages.yml и папка interfaces/ с примерами. В файле интерфейса указываются команда, заголовок, элементы окна и действия кнопок. Элементы выводятся сверху вниз в том порядке, в котором записаны в YAML.
Поддерживаются поля text, checkbox, single_option и number_range. Встроенные переменные: %playername%, %uuid%, %world%.
Требования
Работает на Paper и Spigot, использующих встроенный Dialog API Майнкрафт. Требуется Java 17 или новее. PlaceholderAPI необязателен, но нужен для его переменных.
