PandaLib
ModLGPL-3.0-only

PandaLib

A Library mod used by The Panda Oliver

1.7M
Downloads
68
Followers
3 months ago
Updated
📦
30
Versions

📖About PandaLib

banner.png

Discord
Modrinth
Curseforge
GitHub

Fabric API

About:

PandaLib is a library mod for Minecraft that provides various APIs and utilities to simplify mod development.

The library is written in Kotlin, and some APIs might not be fully supported by Java.

Current Features:

  • Multi-Loader Framework (WIP)
  • Config API
    • Synchronization API
    • Premade formats: JSON
  • Event/Listener API
  • Deferred registration API
  • Networking API
    • Play phase support
    • Configuration phase support
  • Embedded libraries
    • Universal Serializer
    • Embedded Kotlin libraries
      • Kotlin Standard Library
      • Reflect
      • Coroutines
      • Serialization
      • IO
      • DateTime

Future Features:

Planned In development
Config Serializers (TOML, YAML, XML, Properties) Multi-Loader Framework
Config Menu API
Wiki / Docs

Supported versions and mod loaders:

Mod loader Versions
Fabric 1.20 – 1.21.10
NeoForge 1.20.5 – 1.21.10
Forge Support has ended

Development is targeted 1.21.10


Development:

Looking for a specific version's codebase

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

    // Only needed if you want to use the embedded Kotlin libraries in NeoForge environments.
    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")
}

Advertisement:

Thanks to Kinetic Hosting for supporting this project

Partner Banner

Every purchased server via my affiliate link will help support me and my work.

License

The project is licensed under the GNU LGPLv3