Tags
Creators
Details
2.1.0
Compatibility
Changes
💾 v2.1.0 — Multi-Backend Storage & Paper-Native Library Loading
Major storage overhaul: choose between YAML, JSON, H2, MySQL and MariaDB directly from the config. Heavy JDBC dependencies are fetched at runtime via Paper's native library loader — keeping the JAR well under 3.5 MB.
🗄️ Storage Backend Selection
The plugin now supports five storage backends, configurable without recompiling or swapping JARs.
- ✨ Added
YAMLbackend — stores stats instats.yml, zero extra dependencies - ✨ Added
JSONbackend — stores stats instats.json, uses Gson already bundled by Paper - ✅ Existing
H2backend retained as the default (embedded, file-based, no remote setup) - ✨ Added
MYSQLbackend — full HikariCP connection pool, remote MySQL server - ✨ Added
MARIADBbackend — same as MySQL but uses the official MariaDB JDBC driver
Choose your backend in config.yml:
storage:
type: H2 # YAML | JSON | H2 | MYSQL | MARIADB
database:
host: localhost
port: 3306
name: minecraft
username: root
password: ""
pool-size: 5
connection-timeout: 5000
⚡ Paper-Native Library Loading (No JAR Bloat)
HikariCP and the JDBC drivers for MySQL/MariaDB are not shaded into the plugin JAR. Instead they are resolved at server startup using Paper's PluginLoader / MavenLibraryResolver API — the same mechanism used by other major plugins.
- 📉 JAR stays lean even with SQL support (H2 is the only shaded lib, ~2 MB)
- 📦 Libraries are cached by Paper in
libraries/and not re-downloaded on every restart - 🚫 Spigot support dropped — the plugin now targets Paper / Folia only (
paper-plugin.yml)
🎨 Startup Banner
A styled startup banner now prints to the console when the plugin loads, showing version, platform (Paper/Folia), active storage backend and spawner count.
🔧 Internal Changes
- New
StorageLibraryLoaderimplementsPluginLoader— declared underloader:inpaper-plugin.yml - New
StorageBackendFactoryselects the correct backend at runtime PluginConfigexposes aStorageTypeenum and full HikariCP connection parametersConfigUpdaterbumped to schema v3 with automatic migration — existing configs gain thestorage:section transparently (default:H2)- Removed legacy
plugin.yml(Spigot) — onlypaper-plugin.ymlremains
⚠️ Notes
- Existing installs: configs are migrated automatically on first boot; stats are preserved
- Default storage remains
H2— no action required if you are happy with the current behaviour - MySQL / MariaDB require a running database server and the
storage.database.*fields filled in - Safe drop-in update from v2.0.x
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:XwaSxcre:EYMszhk8"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:XwaSxcre:EYMszhk8"
}

