2.0.1latestCuriosPaper 2.0.1Aug 3, 2026 v2.0.1
CuriosPaper now includes native container support and automatic detection for Bedrock Edition players connecting via GeyserMC and Floodgate: - Automatic Geyser Detection & Setup (`BedrockUtil`): Detects Bedrock players via Floodgate API, Geyser API, or offline Floodgate UUID prefixes (Bedrock Edition & Geyser Integration
00000000-0000-0000-...). On startup, CuriosPaper automatically extracts and copiesCuriosPaper_Geyser.zipandCuriosPaper_mappings.jsoninto Geyser'spacks/andcustom_mappings/folders. - Custom Bedrock Anvil GUI (`BedrockAnvilGUI`): Bedrock players opening an Anvil receive a dedicated 3-row Chest GUI allowing combination, repair, and renaming with accurate XP cost and level calculation. - Custom Bedrock Smithing GUI (`BedrockSmithingGUI`): Bedrock players opening a Smithing Table receive a dedicated 3-row Chest GUI supporting 1.20+ Template Smithing (Template + Base + Addition) and pre-1.20 legacy Smithing (Base + Addition). - New Feature Config Toggles: Addedfeatures.use-custom-anvil-gui(default:true) andfeatures.use-custom-smithing-gui(default:true) inconfig.yml.
- Attribute Operations Support:Attribute Modifier Operations & Lore Formatting
AbilityDataandAbilityEditorGUInow support three distinct attribute modifier operations: -ADD_NUMBER— Flat value addition/subtraction (e.g.+5or-5). -ADD_SCALAR— Percentage scalar based on base attribute (e.g.+0.20formats as+20%,-0.15formats as-15%). -MULTIPLY_SCALAR_1— Multiplier size (e.g.1.20formats asx1.20). - Lore Formatting & Message Customization: UpdatedupdateAbilityLoreto format positive and negative values according to the operation type, adding%for scalar operations andxmultiplier prefixes for multiply operations. - New Message Keys in `messages.yml`: Addeditems.ability-attribute-scalar-positive,items.ability-attribute-scalar-negative,items.ability-attribute-multiply-positive, anditems.ability-attribute-multiply-negative.
- Flight & Spectator Model Auto-Hiding: ArmorStand models automatically hide when players toggle flight (3D Model Display (ArmorStand) Improvements & Dismount Safety
isFlying(),PlayerToggleFlightEvent), enter Spectator mode (GameMode.SPECTATOR), or perform special poses (Pose.SWIMMING,Pose.FALL_FLYING,Pose.SPIN_ATTACK). - Inventory Dismount Safety: 3D models temporarily dismount when players open any inventory (InventoryOpenEvent) and automatically remount 2 ticks after inventory closure (InventoryCloseEvent), preventing visual model overlaps in GUIs.
- Flexible Version Parsing (`VersionUtil`): Upgraded version parsing regex (Compatibility, Performance & Bug Fixes
(\\d+)\\.(\\d+)(?:\\.(\\d+))?) to gracefully handle non-standard Paper build strings (e.g. Paper dev builds like26.2.build.48-alphaor custom server forks). - Case-Insensitive GUI Title Matching (`AccessoryGUI`): Fixed title comparison logic to use color-stripped case-insensitive matching (equalsIgnoreCase), preventing GUI title bugs caused by legacy color codes. - Give Command Target Message Fix (`CuriosCommand`): Fixed output message target calculation when giving items to other players. ---2.0.0CuriosPaper 2.0.0Jul 1, 2026
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 (Multi-Database Storage Support
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.
- Programmatic Custom Model Overrides: AddedDynamic Resource Pack & Model Customization
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.
- New PlayerDeathCurioDropEvent: Fired when a player dies. ImplementsAPI & Event System Extensions
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: AddedCuriosPaperAPI#getStorageAPI()which returns theCuriosStorageAPIinstance. This allows third-party addon plugins to save, query, and delete custom data asynchronously using CuriosPaper's configured database backend.
- Asynchronous Resource Pack Rebuilds: ThePerformance & Quality of Life
/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 additionalInventoryDragEventandInventoryCloseEventlogic to protect slot 38 (armor slot) from ghost items, duplications, and glitched secret elytras. - Paper AsyncScheduler Support: Uses Paper's native region-aware threadedAsyncSchedulervia 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.1.3.2CuriosPaper 1.3.2Jun 12, 2026
#### Admin Inspect Command (Administrative Improvements
/curios inspect) - NEW: Added/curios inspect <player> [slot]to inspect and manage other players' accessories (works for both online and offline players). - If no slot is specified, it opens a read-only Overview GUI showcasing all equipped slots and their item counts. Admins can click a slot button to open the detailed slot GUI. - If a slot is specified, opens a Slot Detail GUI where admins can add, remove, or swap accessories directly. Saving automatically invokes equip events and updates 3D models for online players. - Requirescuriospaper.adminpermission. #### Custom NBT & Enchants Editor GUI - NEW: Added an NBT & Enchants Editor button (Command Block) in the main Custom Item Editor (slot 21). - Manage NBT (PDC Keys): Interactively add or delete custom NBT tags stored in the item's Persistent Data Container (PDC) via simple chat input (key = type:value, e.g.,myplugin:power = int:42). - NBT Key Suggester: Browse and select existing NBT keys from standard Minecraft data components, other custom items, or the admin's inventory. - Supported PDC types:string,int,double,float,byte,short,long. - Manage Enchantments: Add or remove enchantments on the custom item with configurable levels. - Hide Enchantments: Toggle whether enchantment tooltips are hidden from lore (glint only) viaItemFlag.HIDE_ENCHANTS. - Unbreakable Toggle: Easily make the custom item unbreakable. - Placeable Toggle: Prevent players from placing custom blocks or custom player heads on the ground (cancelled viaBlockPlaceEvent).
#### Random Teleport (RTP) Compatibility / Dismount System - NEW: Added a temporary dismount mechanism to resolve passenger teleportation failures during random teleports (RTP) or portal transitions. - RTP Command Recording: Interactively record sequences (commands, stepped-on blocks, clicked levers/buttons, entity/NPC clicks, and GUI clicks) usingCompatibility & Networking
/curios recordrtp. - When a player triggers an RTP interaction, their 3D model armor stands are temporarily dismounted. Once the teleport completes and the player moves again, the armor stands are seamlessly remounted at the destination. - Configurable underfeatures.rtpinconfig.yml. Can be disabled entirely viafeatures.rtp.enabled: false. #### Resource Pack Hosting Modes - NEW: Addedresource-pack.modesetting supporting three hosting modes: -SELF— Host the pack locally on the Minecraft server using the built-in Netty HTTP server. -LINK— Provide a direct download link (resource-pack.url) for external hosting. -NONE— Completely disable automatic resource pack hosting/delivery. - Query Parameter Cache-Busting: On player join, the resource pack URL is automatically appended with?v=<hash>(or&v=<hash>if a query string already exists) to bust the client cache and force the Minecraft client to redownload the resource pack when it is updated.
#### Strict Crafting with ExactChoice - Upgraded custom recipe ingredient resolution to useCrafting & Recipe Logic
RecipeChoice.ExactChoicefor shaped, furnace, smoker, blasting, campfire, smithing, and shapeless recipes (if supported by server). - This ensures recipes strictly require the exact custom Curios item instead of just any item matching the base material. - Added strict crafting protection: custom Curios items can no longer be used in vanilla recipes (clears craft results or cancelsCraftItemEvent/PrepareItemCraftEvent).
#### Ability Modifier Reconciliation Task - NEW: Added a background task (Performance & API Enhancements
ModifierReconciliationTask) that runs every 5 seconds to automatically detect and remove orphaned/stale attribute modifiers from players. - Fully strips all CuriosPaper-related modifiers (curiospaper_ability_) from players on plugin shutdown/reload to prevent persistent attributes across reloads. - Upgraded item ID lookup inAbilityListenerto prioritize PDC metadata (curiospaper:item_id) over display name lookup, making tracking much more robust. #### Custom PLAYER_HEAD Skin Support - NEW: Settingitem-modelto a base64 skin texture or skin URL on aPLAYER_HEADcustom item now automatically downloads and applies the texture using reflection (supporting 1.14-1.21+). - AddedItemStack createBase64Skull(String base64)toCuriosPaperAPIfor developers to programmatically create player heads with custom skins.1.3.1CuriosPaper 1.3.1May 16, 2026
#### Consolidated Command System - NEW: TheAdministrative Improvements
/editcommand has been merged into/curiosfor a more unified administrative experience. - All management actions are now subcommands of/curios: -/curios list— Opens the new Paginated Item Browser -/curios create <id>— Create a new custom item -/curios edit <id>— Open the editor for an existing item -/curios delete <id>— Delete a custom item -/curios give <id> [player] [amount]— Distribute custom items -/curios reload— Reload configuration and messages - Command aliases updated:/cp,/curiospaper. - Permission nodecuriospaper.edithas been merged intocuriospaper.admin. #### Paginated Item Browser (ItemListGUI) - NEW: A dedicated GUI to browse all custom items in a paginated view. - Supports left-click to view item recipes and right-click to jump directly into the item editor. - Navigation buttons for previous/next pages and a close button. #### Localization & Messaging (MessagesManager) - NEW: Addedmessages.ymlfor full customization of all plugin messages and GUI titles. - Supports Hex colors and legacy color codes. - Messages can be reloaded on the fly using/curios reload. #### Auto-Update Checker (UpdateChecker) - NEW: Built-in update checker that notifies administrators of new releases on startup and login. - Can be toggled inconfig.yml.
#### New Events - NEW:API & Event Enhancements
CuriosCraftEvent— Fired when a custom item is created via crafting, smelting, smithing, or anvil repair. Allows final modification of the result item. - NEW:CuriosModelEquipEvent— Fired when a 3D model is about to be displayed on a player. Allows modifying the model material, CMD, or item model on the fly. - NEW:CuriosMobModelEquipEvent— Fired when a 3D model is about to be displayed on a mob. #### API Improvements - AddedCuriosPaperAPI#reload()to trigger a full plugin reload from other plugins. - EnhancedItemDatawith visibility flags to support hidden items in the browser.
#### New Config File:Configuration Changes
messages.yml- Contains all user-facing strings, categorized by system (commands, GUI, errors, etc.). #### Updatedconfig.yml- Addedfeatures.update-checkertoggle. - Removed hardcoded message strings (moved tomessages.yml).
- Fixed an issue where the Elytra model would occasionally fail to sync after teleportation. - ImprovedBug Fixes & Refinement
ModelStandManagerperformance during high-frequency movement. - Standardized all GUI titles to use the new messaging system. - RefactoredCuriosCommandto handle the expanded subcommand set with better tab-completion. ---1.3.0CuriosPaper 1.3.0Apr 27, 2026 ---CuriosPaper v1.3.0
Release Date: 2026-04-27
- 3D Model System — Accessories now render as 3D models on players using invisible armor stands. Supports sneaking, swimming, gliding, scaling, and trident compatibility. Players can toggle visibility per-item. - Quick Equip — Shift + Right-Click to instantly equip accessories into the first available slot. - Accessory Hotkey — Configurable sneak-based hotkey to open the accessory GUI (single, double, or hold sneak modes). - Keep Curio Inventory on Death — Three modes:New Features
Always,Auto(follows keepInventory gamerule), orNever. - Loot Table Editor GUI — Complete 3-screen rewrite with browsing, filtering, and quick config presets. - 3D Model Config GUIs — In-game editors for item and mob drop 3D model settings. - Custom Events —CuriosLootGenerateEventandCuriosMobDropEventfor intercepting and modifying generated items.
-API Additions
countEquippedItems,unregisterSlot,registerItemRecipe,registerItemLootTable,registerItemMobDrop,registerItemVillagerTrade-getItemData,createItem,saveItemData,deleteItem-setItemModelConfig,setMobDropModelConfig-registerResourcePackAssets,registerResourcePackAssetsFromJar- New/updated data classes:LootTableData,MobDropData,ItemData
- New:Configuration
features.hotkey,features.keep-curio-inventory,resource-pack.combine-external-rp- Simplified slot display names (removed decorative Unicode) - GUI size is now auto-calculated (gui.main-slotsandgui.main-layoutremoved)
- Improved loot table injection and mob drop logic - Better external resource pack combining - Codebase reformatted to 2-space indentation ---Fixes & Improvements
1.2.1CuriosPaper 1.2.1Mar 7, 2026 Critical bug Fixes
- fixed smithing table recipe related bugs - fixed the broken resource pack pipeline - fixed a error in the api - optimized the plugin for better performance1.2.0CuriosPaper 1.2.0Feb 25, 2026 <div align="center">✦ CuriosPaper ✦
Custom Accessory Inventory System for Spigot & Paper1.14.4 — 1.21+· Lightweight · Developer API · Fully Configurable </div> --- * Added support for MC version 1.14 to 1.21 * Works with spigot, paper, and purpur * Added a new /curios editmenu command to rearrange the bbag menu as you wish * Updated the documentation with latest info * Minor API changes you can check the documentation for it * Minor bug fixes report by our respected Discord members1.1.2CuriosPaper 1.1.2Jan 21, 2026 ---
Fixed 🛠️ Resolved issues in the recipe system* that could cause incorrect behavior or failures. 🪂 Fixed bugs in the Elytra back slot system* to ensure proper equipping and functionality. Credits Huge thanks to Vague Ideas for reporting these bugs and helping improve the plugin. Your feedback directly made this update possible.CuriosPaper v1.1.2 – Bug Fix Update
Help Improve CuriosPaper If you find any bugs, weird behavior, or have feature suggestions, join the Discord and report them. The faster issues are reported, the faster they get fixed.
Join the Discord & help make CuriosPaper better. ---
1.1.1CuriosPaper 1.1.1Dec 16, 2025 CuriosPaper v1.1.1 — Advanced Recipe System & API Expansion
This update expands CuriosPaper beyond basic crafting by introducing full vanilla recipe support, safer item upgrades, and tighter server control over in-game editors. ---Major Features
Expanded Recipe System
CuriosPaper now supports non-crafting recipe mechanics, enabling real progression and upgrade systems. New supported recipe types: FURNACE* — Smelting with configurable time & XP BLAST_FURNACE* — Fast smelting SMOKER* — Food cooking ANVIL* — Item combination & upgrade recipes with XP cost SMITHING* — Base / addition / template based upgrades This unlocks: * Tiered item upgrades * Anvil-based enhancements * Smithing-table item evolution * Smelting-based custom materials ---NEW: CuriosRecipeTransferEvent
A new cancelable event fired whenever CuriosPaper transfers custom item data during any recipe operation. Purpose: Vanilla recipes normally discard custom metadata. This event gives addons full control over how data moves from source → result. Key points: Fires for ALL recipe types* * ProvidessourceandresultItemStack* Allows safe upgrades (e.g. backpack tiers) * Can cancel crafting if transfer fails ---API Enhancements
RecipeData Expansion
RecipeDatanow supports all recipe types with strict validation. New fields include: Furnace / Smoker / Blast Furnace *inputItem*cookingTime(ticks, default 200) *experienceAnvil *leftInput*rightInput*experience(XP cost) Smithing *baseItem*additionItem*templateItem(optional, version-safe) Validation *isValid()now validates per recipe type * Prevents invalid or partial registrations ---CuriosPaperAPI Improvements
* New registration methods for all recipe types * Stronger validation & error feedback * Automatic integration withCuriosRecipeTransferEvent* Safer addon-facing API boundaries ---Configuration Changes
Item Editor Toggle (NEW)
A new config option allows server owners to completely disable all in-game item editors.
When set to `false`: *item-editor: enabled: true/editand related item editor commands are disabled * All item editor GUIs are blocked * API functionality remains fully usable for addons * Ideal for production servers that only want addon-defined items ---Commands & Permissions
Commands
*/edit* Alias:itemedit* Opens the in-game item editor (if enabled)Permissions
*curiospaper.admin— Full admin access *curiospaper.edit— Item editor access (default: OP) ---Internal Improvements
RecipeListener (Refactored)
* Unified handling for all recipe types * Reliable data transfer pipeline * Safer failure handling (no silent corruption) * Faster recipe lookupsRecipeEditorGUI
* Support for all new recipe types * Furnace time & XP configuration * Anvil input & XP cost handling * Smithing base/addition/template UI * Improved validation feedbackItemDataManager
* Improved serialization & deserialization * More reliable autosave logic * Better external plugin compatibility ---
* Fixed recipe data persistence issues * Fixed edge cases in recipe validation * Improved slot manager stability * More reliable autosave behavior ---Fixes & Stability
* Faster recipe lookup & caching * Optimized inventory event handling * Reduced memory footprint for recipe data * Improved async save operations ---Performance Improvements
Fully backward compatible with v1.1.0* * Existing SHAPED & SHAPELESS recipes continue to work * No migration required * Addons automatically benefit from new recipe handling ---Compatibility
`CuriosRecipeTransferEvent` now fires for all recipe types* * UseAddon Developer Notes
event.getRecipeType()if logic differs per recipe * Source & result items are always initialized ---1.1.0CuriosPaper 1.1.0Dec 8, 2025 v1.1.0 — Major Rewrite & Feature Expansion
This update completely transforms CuriosPaper into a full in-game custom item creation framework — no more manual configs, no more external editors. Everything can now be created, edited, and managed directly inside the game. ---Major Additions
✔ Full In-Game Custom Item Editor
A complete GUI-driven system for creating and editing custom items: * Set name, material, slot type, model * Edit lore * Real-time item previews * Save or cancel changes safely✔ New Data Systems
New modular data models powering the editor: ItemData* – Core container for everything about a custom item RecipeData* – Shaped & shapeless recipes LootTableData* – Chest loot integration MobDropData* – Entity drop configuration VillagerTradeData* – Profession & level-based trading AbilityData* – Triggers & effects for equipped items ---New Editors / GUIs
Item Editing System
EditGUI* — Central editor hub RecipeEditorGUI* — Drag-and-drop recipe builder LootTableBrowser* — Browse, add, and configure loot sources MobDropEditor* — Configure drops for every entity type TradeEditor* — Build villager trades with full control AbilityEditorGUI* — Add potion effects or attribute modifiers with EQUIP/UNEQUIP/WHILE_EQUIPPED triggers ---New Gameplay Systems
Ability System
Items can now apply: * Potion effects * Attribute modifiers (health, armor, speed, etc.) Full trigger support: EQUIP* DE_EQUIP* WHILE_EQUIPPED* (auto-refreshing every second)Loot Table Injection
* Works with all vanilla & custom tables * Smart matching ("dungeon" → all dungeon loot) * Fully configurable chance & amountMob Drop System
* Supports all mobs * Chance, min/max amounts * Looting enchantment supportVillager Trade System
* Profession & level filtering * Wandering trader support * 1–2 cost items * Prevents duplicate trades ---
CuriosPaperAPI now includes:API Expansion
Item Management
*getItemData(id)*createItem(id)*saveItemData(id)*deleteItem(id)Integration Registration
*registerItemRecipe*registerItemLootTable*registerItemMobDrop*registerItemVillagerTradeAccessory Utilities
* Tagging & validation for accessory slot types ---
* Better error handling & validation * Improved CustomModelData + NamespacedKey model support * Cleanup tasks on plugin shutdown * New event listeners for abilities, recipes, mob drops, trades ---Improved Infrastructure
* More reliable accessory slot tagging * Fixed duplicate registrations for trades/drops/loot * Better debug logging across all systems * File saving/loading is now far more robust ---Fixes & Stability Improvements
* All custom items now stored cleanly inFile System Changes
/items/* Automatic serialization via YAML * No breaking changes — older setups continue to work ---1.0.2CuriosPaper 1.0.2Nov 28, 2025
The entire resource pack pipeline has been redesigned for stability, performance, and extensibility.Major Resource Pack System Overhaul
✔ Dirty-Flag Build System
Pack now builds only once* after plugins finish registering. * No more multiple rebuilds spamming your server startup. */curios rp rebuildforces a rebuild when needed.✔ Proper Namespace Enforcement
Reserved namespace `curiospaper`* is now locked. Only CuriosPaper itself can use it. * Addons attempting to use it are rejected (no crashes). * Minecraft namespace (minecraft:) is only allowed when enabled in config.✔ Namespace Conflict Logging
New conflict categories are now visible via:
Logs include: * Reserved namespace violations * Minecraft namespace violations * Duplicate namespace owners * Allowed (config-enabled) conflicts/curios rp conflicts✔ File Conflict Handling
* Only curated files support JSON merging: *curios_item_base.json*curios_combined_override.jsonAll other files use strict copy-or-skip* logic. * Conflicting files are logged cleanly without stopping the build. ---
Rebuilds now automatically re-send* the updated pack to all online players. * Clients receive the correct updated assets without needing to relog. * Pack SHA1 hash is recalculated and applied correctly. ---Resource Pack Delivery Improvements
New Admin Commands
`/curios rp info`
Shows: * RP server status * Host + port * Pack size * Hash * Dirty state * Registered namespaces * Registered sources`/curios rp rebuild`
* Forces full rebuild * Sends the updated pack to all online players`/curios rp conflicts`
* Shows namespace + file conflicts in one place ---
* Plugin no longer crashes when addons misuse namespaces. * CuriosPaper no longer blocks itself from usingFixes
curiospaperorminecraft. * Rebuild now correctly refreshes the pack for all players. * Removed unsafe deep JSON merging everywhere except curated overrides. ---
* Added new getters for debugging and integration. * Enforced consistent namespace ownership model. * Simplified addon RP registration behavior. * Removed fragile merging code in favor of predictable behavior. ---Developer Improvements
CuriosPaper v1.0.2 is a massive stability overhaul, especially in how resource packs are validated, built, and distributed. Addons are now safer, conflicts are predictable, and server owners have better control + visibility. ---Update Summary
1.0.1CuriosPaper 1.0.1Nov 25, 2025 Added Elytra support for the back slot now you can use the elytra and your chestplate at the same time enable this in the config1.0.0CuriosPaper 1.0.0Nov 24, 2025 First Release of the CuriosPaper Api 1. Custom Gui 2. Automatic resource pack generation and server 3. Configurable slots 4. easy to use api [check the example pack for help with the api usage]
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta