- 支持版本
- 1.20.X
- 1.21.X
CuriosPaper v1.1.1 — 高级配方系统与API扩展
此次更新不仅扩展了CuriosPaper的基础制作,还引入了完整的原版配方支持、更安全的物品升级,以及更严格的服务器对游戏内编辑器的控制。
主要特色
扩展配方系统
CuriosPaper 现在支持非合成配方机制,实现真实的进度和升级系统。新增支持的配方类型:
- 炉子 — 可配置时间和经验值的冶炼
- BLAST_FURNACE — 快速冶炼
- SMOKER — 烹饪食品
- 铁砧——带有经验值的物品组合和升级配方
- SMITHING — 基于基础/添加/模板的升级
- 分级物品升级
- 基于铁砧的增强
- 锻造台物品进化
- 基于冶炼的定制材料
CuriosRecipeTransferEvent
每当CuriosPaper在任何配方作中传输自定义物品数据时,都会触发一个新的可取消事件。目的:
原版配方通常会丢弃自定义元数据。
该事件赋予插件对数据从源→结果的传输方式的完全控制。
重点:
- 所有配方类型的火
- 提供 和sourceresult ItemStack
- 允许安全升级(例如背包等级)
- 如果转移失败,可以取消制作
API 增强
RecipeData 扩展
炉 / 烟炉 / 高炉- inputItem
- cookingTime(滴答声,默认200)
- experience
- leftInput
- rightInput
- experience(经验值消耗)
- baseItem
- additionItem
- templateItem(可选,版本安全)
- isValid()现在可以根据配方类型验证
- 防止无效或部分注册
CuriosPaperAPI 改进
- 所有配方类型的新注册方法
- 更强的验证和错误反馈
- 与CuriosRecipeTransferEvent
- 更安全的面向插件的API边界
⚙ 配置变更
物品编辑器切换(新)
新增了一个配置选项,允许服务器所有者完全禁用所有游戏内的物品编辑器。item-editor:
enabled: true
当设置为false时:
- /edit相关的编辑器命令被禁用
- 所有物品编辑器的图形界面都被屏蔽了
- API 功能依然完全可用
- 非常适合仅使用插件定义项目的生产服务器
命令与权限
指挥
- /edit(别名:) — 打开游戏内物品编辑器(如果启用)itemedit
权限
- curiospaper.admin—— 完全管理员权限
- curiospaper.edit— 物品编辑器访问(默认:OP)
🛠 内部改进
RecipeListener(重构)
- 所有配方类型的统一处理
- 可靠的数据传输流水线
- 更安全的故障处理(无无声损坏)
- 更快的配方查询
RecipeEditorGUI
- 支持所有新配方类型
- 炉子时间与XP配置
- 铁砧输入与经验值成本管理
- 锻造底座/添加/模板界面
- 改进的验证反馈
ItemDataManager
- 改进序列化与反序列化
- 更可靠的自动保存逻辑
- 更好的外部插件兼容性
修复与稳定性
- 修复了配方数据持久化问题
- 配方验证中的固定边缘情况
- 槽管理器稳定性提升
- 更可靠的自动保存行为
性能改进
- 更快的配方查找和缓存
- 优化库存事件处理
- 减少配方数据的内存占用
- 改进的异步保存作
兼容性
- 完全向下兼容v1.1.0
- 现有的SHAPED and SHAPELESS配方依然有效
- 无需迁移
- 插件会自动受益于新配方处理
插件开发者说明
- CuriosRecipeTransferEvent所有配方类型的火
- 行为不同时的使用情况event.getRecipeType()
- 源和结果s总是被初始化ItemStack
发布:
升级类型:安全更新(无破坏性更改)v1.1.1