Введение в мод
ChatBox — это мод диалогового окна, разработанный для Minecraft, вдохновленный диалоговыми системами, встречающимися в Galgames. Его можно настраивать с использованием датапаков:
Предустановить несколько тем для диалоговых окон и переключаться между ними в любое время с помощью команд.
Настраивать внешний вид, позицию и размер диалоговых окон, окон выбора, кнопок истории и портретов персонажей.
Портреты персонажей поддерживают несколько типов: изображения, аватары игроков и текстуры предметов. Для этих портретов можно определить пользовательские анимации появления, причем для изображений предусмотрено 3 предустановленные анимации.
Настраивать текст диалога и несколько вариантов ответа для каждой реплики. Нажатие на варианты ответа может запускать пользовательские команды и переходить к другим диалогам.
Все текстовые элементы (диалоги, варианты ответа) поддерживают ключи перевода.
Поскольку все конфигурации диалогов реализованы через датапаки, вы можете перезагрузить все настройки диалогов непосредственно с помощью команды /reload. Создавайте красивые диалоговые системы без изменения какого-либо кода!
Встроенные команды
Переключение тем:
/chatbox theme
Переход к определенному диалогу:
/chatbox skip
Открытие диалогового окна:
/chatbox open
Система событий
Для пользователей KubeJS мод предоставляет предопределенные события:
//client_script
// Срабатывает ДО отрисовки диалога. Предоставляет GuiGraphics для пользовательской отрисовки. Отменяемое.
ChatBoxEvents.renderPre(event=>{
let getGuiGraphics = event.getGuiGraphics()
event.cancel()
})
// Срабатывает ПОСЛЕ отрисовки диалога. Предоставляет GuiGraphics для пользовательской отрисовки.
ChatBoxEvents.renderPost(event=>{
let getGuiGraphics = event.getGuiGraphics()
})
// Срабатывает при переходе к диалогу. Предоставляет метаданные диалога для пользовательского функционала.
ChatBoxEvents.skipChat(event => {
let { chatBoxScreen, resourceLocation, group, index } = event
})
Дополнительная информация
Примеры датапаков и документация доступны на GitHub. Предстоящая функция: автор разрабатывает веб-генератор JSON для упрощения конфигурации диалогов. Следите за новостями о его выпуске!