COWMODSКаталог модов

CuriosPaper

Making the curios api for paper mc

Автор: Brothergaming523,9 тыс.15обновлён 3 авг. 2026 г.
Утилиты

Описание

CuriosPaper Banner

✦ CuriosPaper ✦

The Ultimate Custom Accessory Inventory System for Paper & Spigot

Version Minecraft Discord bStats Docs Ko-fi

Rings · Necklaces · Capes · Crowns · Belts · Charms — and more.
Fully server-side. No mods required. Bedrock Edition compatible. Powerful developer API.


Think of it as Baubles / Curios — but for Paper & Spigot, with 3D models, loot tables, GUI editors, Bedrock container support, and a full plugin API.


🧩 What is CuriosPaper?

CuriosPaper adds a complete accessory slot system to your Minecraft server. Players can equip rings, necklaces, capes, belts, charms, and more through a clean, tiered GUI — with full support for Java and Bedrock Edition players.

Main Accessory Menu

The main accessory menu with all 9 slot types


⚡ Features

🎒 Core Accessory System

FeatureDescription
💍9 Slot TypesHead, Necklace, Back, Body, Belt, Hands, Bracelet, Ring, Charm
✨Ability SystemPotion effects & player attribute modifiers with custom operations
⚡Quick EquipShift + Right-Click to instantly equip accessories from your hand
🎹Hotkey SystemConfigurable sneak keybind to open the accessory GUI — no commands needed
🪂Elytra Back SlotEquip elytra in the back accessory slot (1.21.3+)
☠️Death BehaviorKeep, drop, or auto-detect accessories on death — fully configurable
📱Bedrock SupportNative Geyser & Floodgate support with custom Anvil & Smithing GUIs

🎨 3D Model System

Attach custom 3D models directly to the player's body when accessories are equipped. Models are rendered using synchronized invisible armor stands — visible to all nearby players.

  • 🔄 Tracks player movement, rotation, sneaking, swimming, flying, and spectator mode
  • 👁️ Smart visibility culling — hide models from wearer's first-person view or during flight/dismount
  • 🔱 Trident & Elytra compatibility — models auto-hide during throws, riptide, and elytra flight
  • 🧟 Mob models — mobs can visually wear items they'll drop
  • 🎮 Per-item toggle — players can right-click to show/hide their models
  • 🚪 GUI Dismount Protection — models temporarily dismount when opening inventories to prevent visual overlap

🛠️ In-Game GUI Editors

Create and configure everything visually — no manual YAML editing required:

EditorWhat It Does
Item EditorSet name, material, lore, model data, slot type
Ability EditorConfigure potion effects & attribute modifiers with operations (ADD_NUMBER, ADD_SCALAR, MULTIPLY_SCALAR_1)
Recipe EditorShaped, shapeless, furnace, blast, smoker, anvil & smithing recipes
Loot Table EditorBrowse all server loot tables, add items to dungeon chests with presets
Mob Drop EditorConfigure which mobs drop your items and at what chance
Trade EditorSet up villager trades with professions and price ranges
3D Model EditorConfigure body-mounted 3D models with pitch limits

Slot Inventory

Slot inventory with accessories equipped

📦 Item Distribution

ChannelDescription
Crafting Recipes7 recipe types — shaped, shapeless, furnace, blast, smoker, anvil, smithing
Loot TablesItems appear in dungeon chests, mineshafts, temples, strongholds, and more
Mob DropsAny mob type can drop accessories with configurable chance & amount
Villager TradesAccessories appear in villager trade pools by profession and level
Commands/curios give <item> [player] [amount] for direct distribution

🔌 Developer API

A comprehensive API for other plugins to integrate with CuriosPaper:

CuriosPaperAPI api = CuriosPaper.getInstance().getCuriosPaperAPI();

// Tag any item as an accessory
ItemStack ring = api.tagAccessoryItem(myItem, "ring");

// Check what a player is wearing
List<ItemStack> rings = api.getEquippedItems(player, "ring");
boolean hasRing = api.hasEquippedItems(player, "ring");
int count = api.countEquippedItems(player, "ring");

// Register slots, items, recipes, loot tables at runtime
api.registerSlot("earring", "Earring", "DIAMOND", 2);
api.registerItemLootTable("my_ring", new LootTableData("minecraft:chests/simple_dungeon", 0.25));
api.setItemModelConfig("my_cape", true, "LEATHER_HORSE_ARMOR", null, "myplugin:cape", 45f, 30f);

// Contribute resource pack assets from your plugin's JAR
api.registerResourcePackAssetsFromJar(myPlugin);

Custom Events:

EventWhen It Fires
AccessoryEquipEventPlayer equips, unequips, or swaps an accessory
CuriosLootGenerateEventCustom item generated in a loot container (cancellable)
CuriosMobDropEventCustom item dropped by a mob (cancellable)
CuriosRecipeTransferEventCustom item crafted via a recipe (data transfer)
CuriosCraftEventCustom item created via craft/smelt/smith (final)
CuriosModelEquipEvent3D model about to be displayed on player
CuriosMobModelEquipEvent3D model about to be displayed on mob
PlayerDeathCurioDropEventFired on player death to filter/cancel curio drops

🛠️ Configuration Showcase & Setup Instructions

⚙️ Click to Expand Setup & Configuration Files

1. Installation & Initial Setup

  1. Download CuriosPaper.jar and place it into your server's plugins/ directory.
  2. Start the server to generate default configuration files (config.yml, messages.yml, items.yml, etc.).
  3. Choose your desired Resource Pack Delivery Mode in config.yml:
    • SELF: CuriosPaper hosts the resource pack on an embedded HTTP server (port: 8080).
    • LINK: Serve your resource pack via an external URL (e.g. Modrinth, Dropbox, or web host).
    • NONE: Disable automatic resource pack prompt completely.

2. Bedrock & Geyser Integration Setup

CuriosPaper includes automatic detection and support for Bedrock Edition players connecting via GeyserMC / Floodgate.

  • Automatic Setup (Geyser on same server): CuriosPaper automatically detects Geyser, extracts CuriosPaper_Geyser.zip and CuriosPaper_mappings.json into plugins/CuriosPaper/geyser/, and copies them to Geyser's packs/ and custom_mappings/ folders.
  • Bedrock Custom Containers: Bedrock players cannot natively use Java Anvil/Smithing container packets without glitches. CuriosPaper provides native 3-row Chest GUIs (BedrockAnvilGUI and BedrockSmithingGUI) for Bedrock players, supporting 1.20+ template smithing and XP repair/renaming.

3. Main Plugin Config (/plugins/CuriosPaper/config.yml)

# Configuration for CuriosPaper Custom Accessory Slots
version: "2.0.1"

# Update Checker
updates:
  check-for-updates: true

# Storage Engine Settings
storage:
  # Selected engine: YAML (flatfile), SQLITE, MYSQL, or MONGODB
  engine: "YAML"
  mysql:
    host: "localhost"
    port: 3306
    database: "minecraft"
    username: "root"
    password: ""
    table-prefix: "curios_"
  mongodb:
    connection-string: "mongodb://localhost:27017"
    database: "minecraft"
    collection: "curios_playerdata"

# Resource Pack Settings
resource-pack:
  # Mode: SELF (embedded HTTP host), LINK (external URL), or NONE
  mode: SELF
  port: 8080
  host-ip: "123.45.67.89"
  url: ""
  hash: ""
  force-pack: false
  prompt-message: "Please accept the resource pack to view custom accessories!"

# Feature Toggles
features:
  # Allow elytra equipping in back slots
  allow-elytra-on-back-slot: true

  # Custom Bedrock GUIs for Anvils and Smithing Tables
  use-custom-smithing-gui: true
  use-custom-anvil-gui: true

  # Display empty accessory slots in GUI
  show-empty-slots: true

  # Keep Curios on Death: Always, Auto (follows keepInventory), or Never
  keep-curio-inventory:
    type: "Auto"

  # Sneak keybind hotkey to open accessory menu
  hotkey:
    enabled: true
    slot: 8
    sneak-type: "double" # single, double, or hold

4. Messages Configuration (/plugins/CuriosPaper/messages.yml)

# Message customization with legacy (&a) and HEX (<#FF5555>) color support
prefix: "&6[CuriosPaper] "

items:
  quick-equip-lore: "&8▶ Shift + Right Click to equip"
  slot-lore: "&6Slot: &e{slots}"
  ability-when-worn: "&7When worn:"
  ability-potion-effect: "&9{effect} {level}"
  
  # Attribute Modifier Operation Lore Formatting (v2.0.1)
  ability-attribute-positive: "&9+{value} {attribute}"
  ability-attribute-negative: "&c-{value} {attribute}"
  ability-attribute-scalar-positive: "&9+{value}% {attribute}"
  ability-attribute-scalar-negative: "&c-{value}% {attribute}"
  ability-attribute-multiply-positive: "&9x{value} {attribute}"
  ability-attribute-multiply-negative: "&cx{value} {attribute}"

🎮 How It Works

1. /baubles              →  Opens the accessory menu
2. Click a slot icon     →  Opens that slot's inventory
3. Place an accessory    →  Abilities activate instantly!

Or use Quick Equip: Hold a tagged item + Shift + Right-Click to equip instantly.

Or use the Hotkey: Select a hotbar slot + Double-Sneak to open the menu.


📊 Stats


🔧 Compatibility

Requirements
Minecraft1.14.4 — 1.21+
ServerSpigot, Paper, Purpur, Folia*
Java8+
GeyserMCSupported (custom Bedrock resource pack & mappings included)
DependenciesNone (standalone)

*Folia support is experimental

🌐 Geyser & Bedrock Edition Support

CuriosPaper provides full GUI slot icon and custom container support for Bedrock Edition players joining via GeyserMC.

  • Automatic Setup: If Geyser is running on the same server, CuriosPaper will automatically detect Geyser's folder on startup, extract the mappings and resource pack, and copy them directly to Geyser's packs/ and custom_mappings/ folders.
  • Custom Bedrock GUIs (Anvil & Smithing): Bedrock players get dedicated 3-row chest interfaces for Anvils (repair, rename, combine) and Smithing Tables (supports 1.20+ Netheriite templates and legacy recipes).
  • Manual Setup (Proxy/Separate Server):
    1. Retrieve files from your server's plugins/CuriosPaper/geyser/ directory.
    2. Copy CuriosPaper_Geyser.zip into your Geyser packs/ folder.
    3. Copy CuriosPaper_mappings.json into your Geyser custom_mappings/ folder.
    4. Ensure enable-custom-content is set to true in Geyser's config.yml and restart Geyser.

📥 Quick Start

# 1. Download CuriosPaper.jar from Modrinth or GitHub Releases
# 2. Drop it into your server's plugins/ folder
# 3. Start the server
# 4. Done! Use /baubles in-game

First Accessory in 60 Seconds

/curios create speed_ring          # Create a new item

In the GUI: set the name, material, slot type → add a Speed ability → add a recipe → done.

/curios give speed_ring             # Get the item
/baubles                          # Open accessory menu

Place it in a ring slot — Speed I activates! 🏃


📖 Documentation

The full documentation site covers:

SectionTopics
Getting StartedInstallation, concepts, first accessory walkthrough
ConfigurationSlots, features, abilities, performance, databases & Bedrock GUIs
SystemsAccessories, abilities, recipes, loot tables, mob drops, trades, 3D models, Bedrock support, hotkeys, death behavior
GUI EditorsItem, ability, recipe, loot table, mob drop, trade, 3D model editors
Developer APIGetting the API, accessories, loot tables, 3D models, resource packs, events
ExamplesComplete plugin examples with loot tables, abilities, and recipes

🆕 What's New in v2.0.1

  • 📱 Bedrock Anvil & Smithing GUIs — Dedicated 3-row chest interfaces for Bedrock Edition players to access Anvil (combining, repairing, renaming with XP cost) and Smithing Tables (1.20+ templates & legacy smithing).
  • 📊 Attribute Modifier Operations — Configure player modifier abilities with specific operations: ADD_NUMBER (flat value), ADD_SCALAR (percentage %), and MULTIPLY_SCALAR_1 (multiplier x).
  • ✈️ Flight & Spectator Model Auto-Hiding — ArmorStand 3D models automatically hide when players toggle flight (isFlying), enter spectator mode, or enter special poses (SWIMMING, FALL_FLYING, SPIN_ATTACK).
  • 🚪 Inventory Dismount Safety — 3D models temporarily dismount when opening inventories and auto-remount 2 ticks after close to eliminate visual GUI overlaps.
  • 🛠️ Flexible Server Version Parsing — Improved version parsing regex in VersionUtil for non-standard Paper dev builds (e.g. 26.2.build.48-alpha).
  • 💬 Command & GUI Improvements — Fixed give command messaging targeting and case-insensitive color-stripped GUI title matching.

Full changelog → CHANGELOGS.md


💬 Community

Discord

discord.gg/r5YXqgrGya

Get help · Report bugs · Suggest features · Stay updated


☕ Support the Project

If CuriosPaper has been useful to you, consider leaving a tip — it helps keep the project alive!

Ko-fi

ko-fi.com/brothergaming52


🤝 For Developers

Maven

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>

<dependency>
    <groupId>com.github.Brothergaming52</groupId>
    <artifactId>CuriosPaper</artifactId>
    <version>2.0.1</version>
    <scope>provided</scope>
</dependency>

plugin.yml

depend: [CuriosPaper]

Full API docs → curiospaper.run.place/api


Made with ❤️ by Brothergaming52

Documentation · Discord · Ko-fi · Changelog · bStats · GitHub

Галерея

main menuslotexample pack ringElytra equipped in back slot

Последние версии

Все версии →
release

CuriosPaper 2.0.1

2.0.1
3 авг. 2026 г.2 тыс.Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2paper, purpur, spigot
Скачать
Что нового
## v2.0.1 ### 📱 Bedrock Edition & Geyser Integration 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 (`00000000-0000-0000-...`). On startup, CuriosPaper automatically extracts and copies `CuriosPaper_Geyser.zip` and `CuriosPaper_mappings.json` into Geyser's `packs/` and `custom_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:** Added `features.use-custom-anvil-gui` (default: `true`) and `features.use-custom-smithing-gui` (default: `true`) in `config.yml`. ### 📊 Attribute Modifier Operations & Lore Formatting - **Attribute Operations Support:** `AbilityData` and `AbilityEditorGUI` now support three distinct attribute modifier operations: - `ADD_NUMBER` — Flat value addition/subtraction (e.g. `+5` or `-5`). - `ADD_SCALAR` — Percentage scalar based on base attribute (e.g. `+0.20` formats as `+20%`, `-0.15` formats as `-15%`). - `MULTIPLY_SCALAR_1` — Multiplier size (e.g. `1.20` formats as `x1.20`). - **Lore Formatting & Message Customization:** Updated `updateAbilityLore` to format positive and negative values according to the operation type, adding `%` for scalar operations and `x` multiplier prefixes for multiply operations. - **New Message Keys in `messages.yml`:** Added `items.ability-attribute-scalar-positive`, `items.ability-attribute-scalar-negative`, `items.ability-attribute-multiply-positive`, and `items.ability-attribute-multiply-negative`. ### ✈️ 3D Model Display (ArmorStand) Improvements & Dismount Safety - **Flight & Spectator Model Auto-Hiding:** ArmorStand models automatically hide when players toggle flight (`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. ### 🛠️ Compatibility, Performance & Bug Fixes - **Flexible Version Parsing (`VersionUtil`):** Upgraded version parsing regex (`(\\d+)\\.(\\d+)(?:\\.(\\d+))?`) to gracefully handle non-standard Paper build strings (e.g. Paper dev builds like `26.2.build.48-alpha` or 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. ---
release

CuriosPaper 2.0.0

2.0.0
1 июл. 2026 г.515Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
Скачать
Что нового
### 🗄️ 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 `.yml` files in the `playerdata/` 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. into `carrot_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 the `CuriosStorageAPI` instance. 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 rebuild` command 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 `InventoryDragEvent` and `InventoryCloseEvent` logic to protect slot 38 (armor slot) from ghost items, duplications, and glitched secret elytras. - **Paper AsyncScheduler Support:** Uses Paper's native region-aware threaded `AsyncScheduler` via 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.
release

CuriosPaper 1.3.2

1.3.2
12 июн. 2026 г.288Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
Скачать
Что нового
### 🛠️ 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.
release

CuriosPaper 1.3.1

1.3.1
16 мая 2026 г.338Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur, spigot
Скачать
Что нового
### 🛠️ 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. ---
release

CuriosPaper 1.3.0

1.3.0
27 апр. 2026 г.135Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur, spigot
Скачать
Что нового
--- ## 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 sneak modes). - **Keep Curio Inventory on Death** — Three modes: `Always`, `Auto` (follows keepInventory gamerule), or `Never`. - **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** — `CuriosLootGenerateEvent` and `CuriosMobDropEvent` for 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` ### ⚙️ Configuration - New: `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-slots` and `gui.main-layout` removed) ### 🐛 Fixes & Improvements - Improved loot table injection and mob drop logic - Better external resource pack combining - Codebase reformatted to 2-space indentation ---
release

CuriosPaper 1.2.1

1.2.1
7 мар. 2026 г.245Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
# 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
release

CuriosPaper 1.2.0

1.2.0
25 февр. 2026 г.63Minecraft: 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
<div align="center"> # ✦ CuriosPaper ✦ **Custom Accessory Inventory System for Spigot & Paper** `1.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 members
release

CuriosPaper 1.1.2

1.1.2
21 янв. 2026 г.119Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, spigot
Скачать
Что нового
--- ## ✅ CuriosPaper v1.1.2 – Bug Fix Update **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. 🙌 **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.* ---
release

CuriosPaper 1.1.1

1.1.1
16 дек. 2025 г.85Minecraft: 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, spigot
Скачать
Что нового
# **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** * Provides `source` and `result` `ItemStack` * Allows safe upgrades (e.g. backpack tiers) * Can cancel crafting if transfer fails --- ## 🔧 **API Enhancements** ### **RecipeData Expansion** `RecipeData` now supports **all recipe types** with strict validation. **New fields include:** **Furnace / Smoker / Blast Furnace** * `inputItem` * `cookingTime` (ticks, default 200) * `experience` **Anvil** * `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 with `CuriosRecipeTransferEvent` * 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**. ```yml item-editor: enabled: true ``` **When set to `false`:** * `/edit` and 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 lookups ### **RecipeEditorGUI** * Support for all new recipe types * Furnace time & XP configuration * Anvil input & XP cost handling * Smithing base/addition/template UI * Improved validation feedback ### **ItemDataManager** * Improved serialization & deserialization * More reliable autosave logic * Better external plugin compatibility --- ## 🐛 **Fixes & Stability** * Fixed recipe data persistence issues * Fixed edge cases in recipe validation * Improved slot manager stability * More reliable autosave behavior --- ## ⚡ **Performance Improvements** * Faster recipe lookup & caching * Optimized inventory event handling * Reduced memory footprint for recipe data * Improved async save operations --- ## 🔄 **Compatibility** * Fully backward compatible with **v1.1.0** * Existing SHAPED & SHAPELESS recipes continue to work * No migration required * Addons automatically benefit from new recipe handling --- ## 🧭 **Addon Developer Notes** * `CuriosRecipeTransferEvent` now fires for **all recipe types** * Use `event.getRecipeType()` if logic differs per recipe * Source & result items are always initialized ---
release

CuriosPaper 1.1.0

1.1.0
8 дек. 2025 г.45Minecraft: 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10paper
Скачать
Что нового
## **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 & amount ### **Mob Drop System** * Supports all mobs * Chance, min/max amounts * Looting enchantment support ### **Villager Trade System** * Profession & level filtering * Wandering trader support * 1–2 cost items * Prevents duplicate trades --- ## ⭐ **API Expansion** CuriosPaperAPI now includes: ### **Item Management** * `getItemData(id)` * `createItem(id)` * `saveItemData(id)` * `deleteItem(id)` ### **Integration Registration** * `registerItemRecipe` * `registerItemLootTable` * `registerItemMobDrop` * `registerItemVillagerTrade` ### **Accessory Utilities** * Tagging & validation for accessory slot types --- ## ⭐ **Improved Infrastructure** * Better error handling & validation * Improved CustomModelData + NamespacedKey model support * Cleanup tasks on plugin shutdown * New event listeners for abilities, recipes, mob drops, trades --- ## 🐛 **Fixes & Stability Improvements** * 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 --- ## 📁 **File System Changes** * All custom items now stored cleanly in `/items/` * Automatic serialization via YAML * No breaking changes — older setups continue to work ---