▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/PandaLib
PandaLib

PandaLib

Библиотека модов для Minecraft от Panda Oliver. Упрощает разработку - предоставляет API для конфигов, событий, сети и многого другого. Написана на Kotlin.

Оцените первым
2.2M
88

PandaLib - библиотека для создания модов в Minecraft, которую разработал Panda Oliver. По сути, это набор инструментов, который сильно упрощает жизнь разработчику: не нужно изобретать велосипед с каждой новой механикой. Библиотека написана на Kotlin, так что если ты работаешь на Java, учти - некоторые API могут быть не fully совместимы, но в целом ничего критичного.

Что внутри?

  • Multi-Loader Framework (в разработке) - обещает поддержку Fabric, NeoForge и других загрузчиков из одного кода.
  • Config API - стандартная система конфигов с синхронизацией, пока только JSON, но в планах TOML, YAML и т.д.
  • Event/Listener API - удобные события для реакций на действия игрока или мира.
  • Deferred registration - отложенная регистрация объектов, чтобы избежать конфликтов загрузки.
  • Networking API - работа с сетью на фазах Play и Configuration.
  • Embedded libraries - встроенные Kotlin-библиотеки: стандартная, отражатели, корутины, сериализация, ввод-вывод, работа с датами.

Планы на будущее

Разработка не стоит на месте:

ЗапланированоВ разработке
Конфиги в TOML, YAML, XML, PropertiesMulti-Loader Framework
API для конфигурационного меню
Wiki и документация

Поддерживаемые версии и загрузчики

Мод-лоадерВерсии
Fabric1.20 - 1.21.10
NeoForge1.20.5 - 1.21.10
ForgeПоддержка прекращена

Основной фокус сейчас на Minecraft 1.21.10.

Для разработчиков: как подключить

Если хочешь использовать PandaLib в своём проекте, вот типичная настройка через Kotlin DSL:

repositories {
    mavenCentral()
    maven("https://repo.pandasystems.dev/repository/maven-public/")
}

dependencies {
    modApi("dev.pandasystems:pandalib-common-<game version>:<version>") // Common
    api("dev.pandasystems:pandalib-neoforge-<game version>:<version>")  // NeoForge
    modApi("dev.pandasystems:pandalib-fabric-<game version>:<version>") // Fabric

    // Для NeoForge понадобятся ещё встроенные Kotlin-библиотеки
    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")
}

Лицензия

Проект распространяется под лицензией GNU LGPLv3 - можно использовать и в коммерческих модах, главное не забыть указать авторство и открыть изменения библиотеки, если они вносятся.

Короче, если ты создаёшь мод на Fabric или NeoForge и не хочешь заморачиваться с базовыми вещами вроде конфигов и сети - PandaLib очень даже пригодится. Штука молодая, но уже функциональная, да и автор активно допиливает. Скачать мод PandaLib можно на Modrinth или CurseForge (поищи по названию).

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x1.20.x1.19.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки

Детали

Лицензия:
Опубликован:2 года назад
Обновлён:2 месяца назад
Главная