Pages: Installation & modules

Installation & modules

You can include SporeAPI in your project either via Gradle or Maven.

Replace the version with the latest API version.

Latest Version

You can find the repository and dependency here

Modules

SporeAPI is split into modules. Pick the one for your platform. Each one brings everything it needs with it, so you never have to add ACF, Cloud, InvUI, Caffeine, Mongo etc. yourself.

ModuleUse it forContains
eu.sporedev:sporeapi-paperPaper / Folia pluginsEverything Minecraft related and all of common
eu.sporedev:sporeapi-velocityVelocity proxy pluginsSporeVelocityPlugin, Cloud commands, listener scanning, /debug and all of common
eu.sporedev:sporeapi-commonDiscord bots, any JVM appLogger, colors (CC), coroutines, repeat/delay, event bus, timings, rate limiter, debug/incidents, registries, repositories, serialization, cooldowns, webhooks
eu.sporedev:sporeapi-extraAdd-on next to any of theseHeavier systems: Redis packets (SporeRedis, Packet) and Mongo (SporeMongo, MongoRepository)
eu.sporedev:sporeapi-acfOlder plugins that use ACFACF support (SporeAcfPlugin, SporeCommand) and all of paper
repositories {
    maven("https://repo.sporedev.eu/releases")
}

dependencies {
    implementation("eu.sporedev:sporeapi-paper:VERSION")
    // implementation("eu.sporedev:sporeapi-extra:VERSION") // only if you need Mongo etc.
}

You only ever need one of common, paper, velocity or acf: acf includes paper, and paper and velocity include common. Shade it into your plugin (and relocate it) as usual.

common, velocity and extra are built for Java 21, paper and acf for Java 25 (what Paper 26 needs).

Not on Paper or Velocity?

You tell SporeAPI where it is running once at startup:

SporeCore.init(StandalonePlatform("MyBot", MyBot::class.java))
Logger.initialize("MyBot")

Override StandalonePlatform.log to forward console lines to your own logger, and call SporeCoroutines.useMainDispatcher(...) if your platform has a main thread.