CuriosPaper icon

CuriosPaper -----

Making the curios api for paper mc




️ Administrative Improvements

Admin Inspect Command (/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.
  • Requires curiospaper.admin permission.

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) via ItemFlag.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 via BlockPlaceEvent).

Compatibility & Networking

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) using /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 under features.rtp in config.yml. Can be disabled entirely via features.rtp.enabled: false.

Resource Pack Hosting Modes
  • NEW: Added resource-pack.mode setting 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.

Crafting & Recipe Logic

Strict Crafting with ExactChoice
  • Upgraded custom recipe ingredient resolution to use RecipeChoice.ExactChoice for 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 cancels CraftItemEvent/PrepareItemCraftEvent).

⚡ Performance & API Enhancements

Ability Modifier Reconciliation Task
  • NEW: Added a background task (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 in AbilityListener to prioritize PDC metadata (curiospaper:item_id) over display name lookup, making tracking much more robust.

Custom PLAYER_HEAD Skin Support
  • NEW: Setting item-model to a base64 skin texture or skin URL on a PLAYER_HEAD custom item now automatically downloads and applies the texture using reflection (supporting 1.14-1.21+).
  • Added ItemStack createBase64Skull(String base64) to CuriosPaperAPI for developers to programmatically create player heads with custom skins.
----------, Jun 11, 2026

️ Administrative Improvements

Consolidated Command System
NEW: The /edit command has been merged into /curios for 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 node curiospaper.edit has been merged into curiospaper.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: Added messages.yml for 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 in config.yml.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​

✨ API & Event Enhancements

New Events
NEW: 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
• Added CuriosPaperAPI#reload() to trigger a full plugin reload from other plugins.
• Enhanced ItemData with visibility flags to support hidden items in the browser.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​

⚙️ Configuration Changes

New Config File: messages.yml
• Contains all user-facing strings, categorized by system (commands, GUI, errors, etc.).

Updated config.yml
• Added features.update-checker toggle.
• Removed hardcoded message strings (moved to messages.yml).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​

Bug Fixes & Refinement
• Fixed an issue where the Elytra model would occasionally fail to sync after teleportation.
• Improved ModelStandManager performance during high-frequency movement.
• Standardized all GUI titles to use the new messaging system.
• Refactored CuriosCommand to handle the expanded subcommand set with better tab-completion.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​
----------, May 16, 2026

CuriosPaper v1.3.0

Release Date: 2026-04-27

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​

✨ New Features

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 modes).

Keep Curio Inventory on Death
Modes: Always, Auto (follows keepInventory gamerule), or Never.

Loot Table Editor GUI
Full 3-screen rewrite with browsing, filtering, and presets.

3D Model Config GUIs
In-game editors for item and mob 3D model settings.

Custom Events
CuriosLootGenerateEvent
CuriosMobDropEvent

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​

API Additions

• countEquippedItems
• unregisterSlot
• registerItemRecipe
• registerItemLootTable
• registerItemMobDrop
• registerItemVillagerTrade

• getItemData
• createItem
• saveItemData
• deleteItem

• setItemModelConfig
• setMobDropModelConfig

• registerResourcePackAssets
• registerResourcePackAssetsFromJar

New / updated data classes:
• LootTableData
• MobDropData
• ItemData

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​

⚙️ Configuration

• Added: features.hotkey
• Added: features.keep-curio-inventory
• Added: resource-pack.combine-external-rp

• Simplified slot display names
• GUI size now auto-calculated

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​

Fixes & Improvements

• Improved loot table injection
• Improved mob drop logic
• Better resource pack combining
• Codebase reformatted to 2-space indentation

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━​
----------, Apr 27, 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 performance
----------, Mar 7, 2026

Resource Information
Author:
----------
Total Downloads: 83
First Release: Feb 25, 2026
Last Update: Jun 11, 2026
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings