Этот мод предоставляет API для создания и управления диалоговыми окнами в Minecraft. Он поддерживает как Kotlin, так и Java, что делает его универсальным инструментом для разработчиков модов. API позволяет создавать диалоговые окна с различными настройками, включая текст, иконки, цвета, размеры и многое другое.
- Скачайте последнюю версию мода с релизов GitHub.
- Поместите мод в папку для библиотек, например,
libsв вашем проекте. - Настройте
build.gradleдля подключения локальной библиотеки:
repositories {
mavenCentral()
flatDir {
dirs("libs")
}
}
dependencies {
implementation(":lololowkaui:0.0.0")
}repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
dependencies {
implementation ':lololowkaui:0.0.0'
}API поддерживает форматирование текста с использованием XML-подобных тегов. Доступны следующие возможности:
- HEX цвета в формате ARGB:
<color=#ff4500>Текст</color> - Заложенные цвета:
<color=red>Текст</color> - Жирный текст:
<b>Текст</b> - Курсивный текст:
<i>Текст</i>
val text = """
<color=#ff4500>Красный текст</color>
<color=blue>Синий текст</color>
<b>Жирный текст</b>
<i>Курсивный текст</i>
""".trimIndent()String formattedText = "<color=#ff4500>Красный текст</color>" +
"<color=blue>Синий текст</color>" +
"<b>Жирный текст</b>" +
"<i>Курсивный текст</i>";API предоставляет несколько типов диалоговых окон, каждый из которых имеет свои особенности:
- DYNAMIC - Динамическое окно, которое автоматически подстраивается под размер текста.
- STATIC - Статическое окно с фиксированной позицией и размером.
- TEXT_ADAPTIVE - Окно, которое адаптируется под длину текста.
- LIMITED - Полностью настраиваемое окно.
DialogAPI.showDialog(player) {
setText("""
<color=#FFD700><b>Добро пожаловать в Волшебный магазин!</b></color>
<color=#E6E6FA>Особые предметы сегодняшнего дня:</color>
<color=#FF69B4>• Зачарованный меч – 500 г</color>
<color=#87CEEB>• Волшебное зелье – 250 г</color>
<color=#98FB98>• Свиток телепортации – 100 г</color>
<i>Нажмите на товар, чтобы купить!</i>
""".trimIndent())
setIcon("icons/shop")
setType(DialogType.TEXT_ADAPTIVE)
setBackgroundColor(25, 25, 112, 200)
setBorderColor(255, 215, 0, 255)
setMinSize(350, 200)
setPadding(20, 20, 20, 20)
setIconSize(64)
}DialogAPI.showDialog(player,
"<color=#FFD700><b>Добро пожаловать в Волшебный магазин!</b></color>\n" +
"<color=#E6E6FA>Особые предметы сегодняшнего дня:</color>\n" +
"<color=#FF69B4>• Зачарованный меч – 500 г</color>\n" +
"<color=#87CEEB>• Волшебное зелье – 250 г</color>\n" +
"<color=#98FB98>• Свиток телепортации – 100 г</color>\n" +
"<i>Нажмите на товар, чтобы купить!</i>",
"icons/shop",
new DialogAPI.DialogBuilder()
.setType(DialogType.TEXT_ADAPTIVE)
.setBackgroundColor(25, 25, 112, 200)
.setBorderColor(255, 215, 0, 255)
.setMinSize(350, 200)
.setPadding(20, 20, 20, 20)
.setIconSize(64)
.build()
);| Версия Minecraft | Поддерживаемые версии мода |
|---|---|
| 1.19.2 | 0.0.0 |
| 1.20+ | В планах |
- Поддержка новых версий Minecraft.
- Расширение функционала диалогов.
- сделать дебаг команды по типу: сброс до первого диалога, закрыть диалоги, узнать сколько диалогов в ожидании и тд
- сделать проверки по типу: есть ли диалоги в очереди, у каких игрок открыты диалоги и тд
- сделать сетку интерфейсов иначе говоря есть разные диалоги и при разных параметрах они отличаются, а если изменять интерфейс, то так же меняется размер и позиция в зависимости от задач, так что думаю хорошей практикой сделать адаптацию что бы не настраивать каждый интерфейс отдельно(ну или на оборот)
- сделать историю диалогов, что бы при выходе с мира диалоги не слетали
- Для работы с API мод должен быть установлен в проекте. Если он используется в коде, необходимо скачать мод, сам же он будет являться зависимостью.
- Вопросы и предложения можно оставлять в разделе Issues на GitHub.