跳到主要内容

分解商店

decompose 模式提供“把物品拖入槽位,再点击确认分解”的交互。它复用 recycle/*.yml 的规则来判断物品和发放奖励,但不是回收商店会话,不读取 recycle.* 配置块。

适用场景

  • RPG 装备分解台、材料拆解工坊。
  • 需要玩家手动放入物品,而不是扫描整包回收的场景。
  • 根据权限开放不同分解规则,例如 VIP 可分解高级装备。

关键配置

字段说明
modedecomposeDECOMPOSE
currency必填;商店序列化阶段要求存在货币配置
goods必填;goods.*.id 指向 recycle/*.yml 规则 ID,用作可用分解规则白名单
goods.*.if可选;控制玩家是否可用某条分解规则
decompose.key_sell布局中可放入待分解物品的槽位字符
decompose.key_confirm配置中的确认按钮字符;实际按钮还需要图标动作配合
decompose.filters.whitelist允许放入的文本关键词,空列表表示不限制
decompose.filters.blacklist禁止放入的文本关键词,命中后拒绝放入
icons确认按钮需要绑定 malkuth decompose confirm

玩家能做什么

功能说明
放入物品把背包物品拖入 decompose.key_sell 对应的槽位
取回物品从放入槽位取回尚未分解的物品
确认分解点击绑定 malkuth decompose confirm 的按钮
自动匹配规则系统按 goods.*.id 限定的回收规则匹配物品
返还未匹配物品未匹配任何规则的物品不会被吞掉,会返还给玩家

配置示例

下面节选自默认 shop/decompose_example.yml

mode: DECOMPOSE
title: '&b分解商店'

layout:
- '#########'
- '#1111111#'
- '#1111111#'
- '#1111111#'
- '####c####'

goods:
diamond_equipment:
id: 钻石装备分解
iron_equipment:
id: 铁装备分解

decompose:
key_sell: '1'
key_confirm: 'c'
filters:
whitelist: []
blacklist:
- '不可分解'
- '绑定'

icons:
'c':
material: CRAFTING_TABLE
name: '&a确认分解'
lore:
- '&7点击分解放入槽位的所有物品'
- '&7未匹配规则的物品将返还'
actions:
left:
- 'malkuth decompose confirm'

currency:
mode: vault

高级用法

默认 shop/decompose_advanced.yml 展示了按权限开放规则的写法:

goods:
diamond_equipment:
id: 钻石装备分解
if: 'perm malkuth.decompose.diamond'

iron_equipment:
id: 铁装备分解

decompose:
filters:
whitelist:
- '可分解'
- '装备'
blacklist:
- '不可分解'

当前实现注意点

  • goods.*.id 指向回收规则 ID,不是 goods/*.yml 商品 ID。
  • 如果你想允许所有已加载回收规则参与匹配,可以使用空的 goods: {};如果写了规则列表,就只匹配列表中的规则。
  • decompose.key_confirm 只是配置中的按钮字符;实际确认按钮必须在对应 icons 中绑定 malkuth decompose confirm
  • DECOMPOSE 不读取 recycle.*,所以 rollbackshop_level_limitrecycle.messages 这类配置只适用于 recycle / recycle_shop
  • 过滤器是文本关键词过滤,适合做“包含可分解/装备才允许放入”这类规则;复杂检测仍应写在 recycle/*.yml 规则中。

相关页面