Installation & modules
You can include SporeAPI in your project either via Gradle or Maven.
Replace the version with the latest API 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.
| Module | Use it for | Contains |
|---|---|---|
eu.sporedev:sporeapi-paper | Paper / Folia plugins | Everything Minecraft related and all of common |
eu.sporedev:sporeapi-velocity | Velocity proxy plugins | SporeVelocityPlugin, Cloud commands, listener scanning, /debug and all of common |
eu.sporedev:sporeapi-common | Discord bots, any JVM app | Logger, colors (CC), coroutines, repeat/delay, event bus, timings, rate limiter, debug/incidents, registries, repositories, serialization, cooldowns, webhooks |
eu.sporedev:sporeapi-extra | Add-on next to any of these | Heavier systems: Redis packets (SporeRedis, Packet) and Mongo (SporeMongo, MongoRepository) |
eu.sporedev:sporeapi-acf | Older plugins that use ACF | ACF 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.