Tags
Creators
Details
Licensed ARR
Published 11 months ago
Updated 3 months ago
All versions
2.0.0
Release
CuriosPaper 2.0.04 months ago 515
Compatibility
Minecraft: Java Edition
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
๐๏ธ Multi-Database Storage Support
CuriosPaper now supports multiple robust database engines for player accessory storage alongside standard flat-file YAML:
- SQLite Backend: Perfect for single-server setups, storing accessory data in a local, optimized database file (
storage/curiospaper.db). - MySQL Backend: Recommended for BungeeCord/Velocity proxy networks to share accessory inventories across multiple server instances with HikariCP connection pooling.
- MongoDB Backend: Recommended for large-scale deployments, using a native document-oriented Mongo client.
- Automatic Migration: On first boot with a database backend configured, CuriosPaper will automatically parse and migrate all legacy
.ymlfiles in theplayerdata/folder into the database tables, renaming migrated files to.yml.migrated.
๐งฌ Dynamic Resource Pack & Model Customization
- Programmatic Custom Model Overrides: Added
CuriosPaperAPI#registerItemModelOverride(String material, int customModelData, String modelPath)allowing other plugins to dynamically inject model predicates (e.g. intocarrot_on_a_stick.json) without editing raw assets by hand. - Combined Elytra Asset Generator: If a custom Elytra item (possessing a custom equippable asset ID) is placed in the back slot, CuriosPaper scans the resource pack and automatically builds merged humanoid/wings JSON files combining chestplate textures with the custom wings layer. This ensures proper custom textures are displayed on the player model during flight.
๐ API & Event System Extensions
- New PlayerDeathCurioDropEvent: Fired when a player dies. Implements
Cancellable, permitting developers to prevent specific accessories from dropping on death, keeping them equipped (e.g., for keep-inventory perks or specific soulbound items). - Addon Storage API Hook: Added
CuriosPaperAPI#getStorageAPI()which returns theCuriosStorageAPIinstance. This allows third-party addon plugins to save, query, and delete custom data asynchronously using CuriosPaper's configured database backend.
โก Performance & Quality of Life
- Asynchronous Resource Pack Rebuilds: The
/curios rp rebuildcommand execution has been offloaded to an asynchronous Bukkit task to prevent main-thread freezing on servers with large packs or extensive asset overrides. - Enhanced Elytra Slot Listeners: Added additional
InventoryDragEventandInventoryCloseEventlogic to protect slot 38 (armor slot) from ghost items, duplications, and glitched secret elytras. - Paper AsyncScheduler Support: Uses Paper's native region-aware threaded
AsyncSchedulervia reflection on Minecraft 1.20.6+ servers, falling back to standard Bukkit schedulers on older servers. - Improved JVM Version Detection: Version utility improved to correctly resolve Java execution runtimes for compatibility handling.
- Mob Drop Model Cleanup: Fixed passenger armor stands occasionally leaving persistent ghost stands upon entity death.
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:JLMPHrRw:wajdc1FH"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:JLMPHrRw:wajdc1FH"
}

