PandaLib — библиотека для Minecraft, созданная для упрощения разработки модов с помощью различных API и утилит.
Описание:
Мод написан на Kotlin, из-за чего некоторые API могут работать не полностью в Java-среде.
Основные функции:
- Мультизагрузочный фреймворк (в разработке)
- API конфигурации
- Поддержка синхронизации
- Готовый формат JSON
- API событий и слушателей
- API отложенной регистрации
- Сетевая API
- Поддержка игровой фазы
- Поддержка фазы конфигурации
- Встроенные библиотеки
- Universal Serializer
- Стандартные библиотеки Kotlin
- Kotlin Reflect
- Coroutines
- Serialization
- IO
- DateTime
Планируемые функции:
| В планах | В разработке |
|---|---|
| Сериализаторы конфигураций (TOML, YAML, XML, Properties) | Мультизагрузочный фреймворк |
| API меню конфигурации | |
| Документация и вики |
Поддерживаемые версии и загрузчики модов:
| Загрузчик модов | Версии |
|---|---|
| Fabric | 1.20 – 1.21.10 |
| NeoForge | 1.20.5 – 1.21.10 |
| Forge | Поддержка завершена |
Центр разработки — версия 1.21.10.
Установка:
- Убедитесь, что установлен Fabric API, так как он необходим для Fabric-версий мода.
- Скачайте PandaLib, соответствующий вашей версии Minecraft и загрузчику модов.
- Поместите файл мода в папку mods вашего Minecraft-клиента.
Использование в разработке:
Для подключения PandaLib в проект на Kotlin используйте следующий пример конфигурации в build.gradle.kts:
repositories { mavenCentral() maven("")
} dependencies { modApi("dev.pandasystems:pandalib-common-<game version>:<version>") // Общие части api("dev.pandasystems:pandalib-neoforge-<game version>:<version>") // NeoForge modApi("dev.pandasystems:pandalib-fabric-<game version>:<version>") // Fabric // Для использования встроенных Kotlin-библиотек в NeoForge additionalRuntimeClasspath(kotlin("stdlib")) additionalRuntimeClasspath(kotlin("stdlib-jdk8")) additionalRuntimeClasspath(kotlin("stdlib-jdk7")) additionalRuntimeClasspath(kotlin("reflect", version = "2.2.0")) additionalRuntimeClasspath("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") additionalRuntimeClasspath("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.10.2") additionalRuntimeClasspath("org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.1") additionalRuntimeClasspath("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1") additionalRuntimeClasspath("org.jetbrains.kotlinx:kotlinx-serialization-cbor:1.8.1") additionalRuntimeClasspath("org.jetbrains.kotlinx:kotlinx-datetime:0.6.2") additionalRuntimeClasspath("org.jetbrains.kotlinx:kotlinx-io-core:0.7.0") additionalRuntimeClasspath("org.jetbrains.kotlinx:kotlinx-io-bytestring:0.7.0")
}





