🔗 自定义物品与 CraftEngine
A. custom:xxx 基准体系
custom:xxx 是 PrismMarket 自带的基准物品机制。
它的目标是:保证展示、发放、校验使用同一份物品基准。
数据存储模型
基准表 pm_item_benchmark 主要字段:
item_id:基准 IDhash:归一化 NBT 哈希,用于校验material:兜底材质nbt:SNBT 文本(用于重建)
运行时恢复逻辑
- 先查内存缓存
- 缓存不存在时读数据库
- 优先用
nbt重建完整 ItemStack - 若重建失败,回退到
material
如何录入基准
- 管理员手持目标物品
- 执行:
/pm debug saveitem <itemId> - 商店中引用:
material: custom:<itemId>
校验机制
- 出售/收购物品时可按基准
hash校验 - 若当前物品与基准不匹配,将拒绝交易,降低伪造风险
默认示例基准
为避免首次安装 custom:example 无数据,系统会在缺失时自动写入一条默认示例基准。
B. CraftEngine 物品接入
PrismMarket 支持直接使用 CraftEngine 物品:
material: craftengine:namespace:id
示例:
material: craftengine:internal:cooking_info
对 CE 物品:
- 显示与匹配优先走 CE 提供能力
- 不依赖
custom:xxx基准表 - 可与 CE 资源包生态并行使用
C. 使用场景建议
- 要由 PrismMarket 统一管理物品基准:用
custom:xxx - 已在 CraftEngine 内管理完整资源:用
craftengine:... - 两者可并存:按商品来源拆分