跳到主要内容

回收兑换商店

recycle_shop / recycle-shop 会被解析为独立的 RECYCLE_SHOP 模式,但当前实际打开后仍复用 回收商店 的同一套回收会话。

适用场景

  • 你希望在配置中保留 recycle_shop 这个模式值,用来区分“回收入口”和普通 recycle 入口。
  • 你希望强制该回收入口必须配置 currency,让展示、余额占位或自定义脚本有明确货币上下文。
  • 你从旧配置迁移而来,已有 mode: recycle_shop / recycle-shop 的写法。

recycle 的真实差别

项目recyclerecycle_shop
会话实现RecycleShopSessionRecycleShopSession
recycle.* 配置生效生效
goods.*.id指向 recycle/*.yml 规则 ID指向 recycle/*.yml 规则 ID
图标动作单条/一键/同类/预览/撤回单条/一键/同类/预览/撤回
currency当前可以省略必须配置,否则商店序列化失败
默认示例shop/recycle_shop.yml 默认写的是 mode: RECYCLE默认资源没有单独 mode: RECYCLE_SHOP 示例

推荐配置方式

默认 shop/recycle_shop.yml 是推荐回收商店模板。如果你确实需要进入 RECYCLE_SHOP 模式,只需要在该模板基础上把模式行改成:

mode: recycle_shop

currency:
mode: vault

其余 recyclelayoutgoodsicons 写法继续沿用 回收商店

必备配置

字段说明
moderecycle_shoprecycle-shopRECYCLE_SHOP
currency必填;这是它和 recycle 当前最重要的差异
goods必填;每个 goods.*.id 指向 recycle/*.yml 规则 ID
recycle.*recycle 模式完全共用,包括保护、撤回、消息、商店级限制等
target_inventory可选;指定回收目标背包源

当前实现注意点

  • recycle_shop 不是普通购买商店,也不会读取 goods/*.yml 商品。
  • price 仍主要用于展示层变量,最终奖励以回收规则 rewards 为准。
  • 当前没有单独的 RECYCLE_SHOP UI、结算链路或专属动作;它只是模式值不同且强制要求 currency
  • 规则匹配能力与 recycle 完全一致,当前同样支持 source / item_sourcenbt 匹配。
  • 如果你不需要这个“必须配置货币”的边界,直接使用默认 mode: RECYCLE 更简单。

相关页面