
Список изменений
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
sourceandresultItemStack - 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
inputItemcookingTime(ticks, default 200)experience
Anvil
leftInputrightInputexperience(XP cost)
Smithing
baseItemadditionItemtemplateItem(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.
item-editor:
enabled: true
When set to false:
/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)
- Alias:
Permissions
curiospaper.admin— Full admin accesscuriospaper.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
CuriosRecipeTransferEventnow fires for all recipe types- Use
event.getRecipeType()if logic differs per recipe - Source & result items are always initialized
