Skip to content

分解

配置由用户 3012235075 提供

功能介绍

放入目标物品后,可通过点击按钮自动分解来自背包、灵魂空间或离渊仓库的匹配物品。分解可获得奖励,并支持自定义增幅机制

效果展示

配置文件

yaml


# 配置由用户 3012235075 提供



title: "&c&n简易分解"

layout:
  - "#########"
  - "#A##B##C#"
  - "####R####"
  - "#########"
entry:
  分解物品名: "&a绿玄晶"
  分解奖励: "下阶装备核心"
  分解物品名2: "&b蓝玄晶"
  分解奖励2: "下阶装备核心"
  分解一次分解类型: "name" #物品检测类型,你也可以指定
  分解十次分解类型: "name"
  分解一组分解类型: "name"
  分解是否精确识别: "true"
  vip: "%tempvar_info_vip%"
  概率: "0.5" #只做演示
    #概率增幅: |-
    # if({vip}>=1){
    #   return 2;
    # }
  # return 1;
  v增幅: |-
    if({vip}>=1){
      return 1;
    }
    return 0;
  分解一次增幅: "${{v增幅}+1}" #不需要vip增幅改成统一+0就行了
  分解十次增幅: "${{v增幅}+10}"
  分解一组增幅: "${{v增幅}+64}"
on-open:
  rules:
    - condition:
        - ""
      action:
        - 消息('&7[&a分解系统&7] &f您打开了分解界面')
    - condition:
        - "permission('vip') then '&7[&a合成系统&7] &f您是尊贵的&evip&f,&f您分解可以获得额外&a+1&f材料获取'"
      action:
        - "tempvar.set('vip',1)"
on-close:
  action:
    - ""
  rules:
    - condition:
        - ""
      action:
        - "tempvar.set('A是否放入',0)"
        - "tempvar.set('B是否放入',0)"
        - "tempvar.set('C是否放入',0)"
function:
  "玻璃板":
    char: "#"
    display:
      material: BLACK_STAINED_GLASS_PANE
      name: "&c调试变量"
      lore:
        - "&f分解槽位是否放入了材料:%tempvar_info_是否放入%"
        - "&fA分解槽位是否放入了材料:%tempvar_info_A是否放入%"
        - "&fB分解槽位是否放入了材料:%tempvar_info_B是否放入%"
        - "&fC分解槽位是否放入了材料:%tempvar_info_C是否放入%"
  "R":
    char: "R"
    display:
      material: ANVIL
      name: "§c开始分解"
      lore:
        - "&f放入需要分解的物品在指定分解次数槽位"
        - "&f如果需要分解多次,请将材料放入其他槽位"
        - "&f点击此处开始分解"
    condition:
      "%tempvar_info_A是否放入% != 0 || %tempvar_info_B是否放入% != 0 || %tempvar_info_C是否放入% != 0 else '&7[&a分解系统&7] &c你没有放入任何可分解的材料'"
    rules:
      - condition:
          - 物品目标('chest', '10')
          - "%tempvar_info_B是否放入% == 0 && %tempvar_info_C是否放入% == 0" #判断是否单次分解
        action:
          - "function('cx分解-H')"
      - condition:
          - 物品目标('chest', '13')
          - "%tempvar_info_A是否放入% == 0 && %tempvar_info_C是否放入% == 0" #判断是否为十次分解
        action:
          - "function('cx分解-I')"
      - condition:
          - 物品目标('chest', '16')
          - "%tempvar_info_A是否放入% == 0 && %tempvar_info_B是否放入% == 0" #判断是否为十次分解
        action:
          - "function('cx分解-J')"

  "A":
    char: "A"
    display:
      material: ORANGE_STAINED_GLASS_PANE
      name: "§c分解一次"
      lore:
        - "&f放入需要分解的物品在此槽位,点击分解即可分解一次"
        - "&f如果需要分解多次,请将材料放入其他槽位"
    slot:
      match:
        - "match.name('&a绿玄晶',true)"
        - "match.name('&b蓝玄晶',true)"
        - "match.name('&d紫玄晶',true)"
      condition:
        - "%tempvar_info_B是否放入% == 0 && %tempvar_info_C是否放入% == 0 else '&7[&a分解系统&7] &f无法放置分解材料,因为你已经放置了其他在别的槽位'"
      action:
        - "sound('note_pling')"
        - "tempvar.add('A是否放入',1)"
      take:
        action:
          - "tempvar.set('A是否放入',0)"
          - "sound('note_pling')"
        condition:
          - ""
  "B":
    char: "B"
    display:
      material: ORANGE_STAINED_GLASS_PANE
      name: "§c分解&a10&c次"
      lore:
        - "&f分解操作详情:"
        - "&f放入你需要分解的物品到上方任意槽位&7(&a必须要放入,用来指定你要分解什么物品&7)"
        - "&f快速分解您&e背包&7/&a灵魂空间&7/&e离渊仓库&f的物品"
        - "&f物品优先级:&a灵魂空间&7>&6离渊仓库&7>&e背包"
    slot:
      match:
        - "match.name('&a绿玄晶',true)"
        - "match.name('&b蓝玄晶',true)"
        - "match.name('&d紫玄晶',true)"
      condition:
        - "%tempvar_info_A是否放入% == 0 && %tempvar_info_C是否放入% == 0 else '&7[&a分解系统&7] &f无法放置分解材料,因为你已经放置了其他在别的槽位'"
      action:
        - "sound('note_pling')"
        - "tempvar.add('B是否放入',1)"
      take:
        action:
          - "tempvar.set('B是否放入',0)"
          - "sound('note_pling')"
        condition:
          - ""
  "C":
    char: "C"
    display:
      material: ORANGE_STAINED_GLASS_PANE
      name: "§c分解&a64&c次"
      lore:
        - "&f分解操作详情:"
        - "&f放入你需要分解的物品到上方任意槽位&7(&a必须要放入,用来指定你要分解什么物品&7)"
        - "&f点击铁砧快速分解您&e背包&7/&a灵魂空间&7/&e离渊仓库&f的物品"
        - "&dVIP&f可以额外获得&a+1&7(自定义)&f分解物品增幅"
        - "&f物品优先级:&a灵魂空间&7>&6离渊仓库&7>&e背包"
    slot:
      match:
        - "match.name('&a绿玄晶',true)"
        - "match.name('&b蓝玄晶',true)"
        - "match.name('&d紫玄晶',true)"
      condition:
        - "%tempvar_info_A是否放入% == 0 && %tempvar_info_B是否放入% == 0 else '&7[&a分解系统&7] &f无法放置分解材料,因为你已经放置了其他在别的槽位'"
      action:
        - "sound('note_pling')"
        - "tempvar.add('C是否放入',1)"
      take:
        action:
          - "tempvar.set('C是否放入',0)"
          - "sound('note_pling')"
        condition:
          - ""










  "H":
    char: "H"
    display:
      material:
      name: "§c单次分解"
      lore:
        - "&f您可以复制粘贴此槽位用来写自己需要的分解条件"
    rules:
      - condition:
          - 物品目标('chest', '10')
          - "match.{分解一次分解类型}('{分解物品名}',{分解是否精确识别})" #示例匹配完整物品名,如果需要更多可以继续加规则,继续增加变量即可
          - "%tempvar_info_B是否放入% == 0 && %tempvar_info_C是否放入% == 0" #判断是否单次分解
        action:
          - 物品目标('chest', '10')
          - 扣除数量(1)
          - addItem('mm','{分解奖励}',{分解一次增幅})
          - 消息('&7[&a分解系统&7] &f分解完成')
          - "tempvar.set('A是否放入',0)"
        break: true
      #比如我想单次分解的物品还有一个蓝玄晶,就现在最开始变量增加这两个 {任意你想要物品变量},    {任意你想要物品库id变量} 即可
      #这样或许能够方便你修改?或许
      - condition:
          - 物品目标('chest', '10')
          - "match.{分解一次分解类型}('{分解物品名2}',{分解是否精确识别})" #示例匹配完整物品名,如果需要更多可以继续加规则,继续增加变量即可
          - "%tempvar_info_B是否放入% == 0 && %tempvar_info_C是否放入% == 0" #判断是否单次分解
        action:
          - 物品目标('chest', '10')
          - 扣除数量(1)
          - addItem('mm','{分解奖励2}',{分解一次增幅})
          - 消息('&7[&a分解系统&7] &f分解完成')
          - "tempvar.set('A是否放入',0)"
        break: true

  "I":
    char: "I"
    display:
      material:
      name: "§c十次分解"
      lore:
        - "&f您可以复制粘贴此槽位用来写自己需要的分解条件"
    rules:
      - condition:
          - 物品目标('chest', '13')
          - "match.{分解十次分解类型}('{分解物品名}',{分解是否精确识别})"
          - 物品统计.仓库('{分解十次分解类型}','{分解物品名}')>=10 else '&7[&a分解系统&7] §f您没有这么多可以分解的材料' #示例匹配完整物品名,需要继续加往后面加条件和要求即可
        action:
          - addItem('mm','{分解奖励}',{分解十次增幅})
          - 物品扣除.仓库('{分解十次分解类型}','{分解物品名}',10,{分解是否精确识别})
          - 消息('&7[&a分解系统&7] &f分解完成')
        break: true
      - condition:
          - 物品目标('chest', '13')
          - "match.{分解十次分解类型}('{分解物品名2}',{分解是否精确识别})"
          - 物品统计.仓库('{分解十次分解类型}','{分解物品名2}')>=10 else '&7[&a分解系统&7] §f您没有这么多可以分解的材料' #示例匹配完整物品名,需要继续加往后面加条件和要求即可
        action:
          - addItem('mm','{分解奖励2}',{分解十次增幅})
          - 物品扣除.仓库('{分解十次分解类型}','{分解物品名2}',10,{分解是否精确识别})
          - 消息('&7[&a分解系统&7] &f分解完成')
        break: true
  "J":
    char: "J"
    display:
      material:
      name: "§c一组分解"
      lore:
        - "&f您可以复制粘贴此槽位用来写自己需要的分解条件"
    rules:
      - condition:
          - 物品目标('chest', '16')
          - "match.{分解一组分解类型}('{分解物品名}',{分解是否精确识别})"
          - 物品统计.仓库('{分解一组分解类型}','{分解物品名}')>=64 else '&7[&a分解系统&7] §f您没有这么多可以分解的材料' #示例匹配完整物品名,需要继续加往后面加条件和要求即可
        action:
          - addItem('mm','{分解奖励}',{分解一组增幅})
          - 物品扣除.仓库('{分解一组分解类型}','{分解物品名}',64,{分解是否精确识别})
          - 消息('&7[&a分解系统&7] &f分解完成')
        break: true
      - condition:
          - 物品目标('chest', '16')
          - "match.{分解一组分解类型}('{分解物品名2}',{分解是否精确识别})"
          - 物品统计.仓库('{分解一组分解类型}','{分解物品名2}')>=64 else '&7[&a分解系统&7] §f您没有这么多可以分解的材料' #示例匹配完整物品名,需要继续加往后面加条件和要求即可
        action:
          - addItem('mm','{分解奖励2}',{分解一组增幅})
          - 物品扣除.仓库('{分解一组分解类型}','{分解物品名2}',64,{分解是否精确识别})
          - 消息('&7[&a分解系统&7] &f分解完成')
        break: true


message:
  slot_match_false: "§c此物品无法分解"
  money_false: "§7你没有足够的金币分解"
  desc:
    icon:
      enough: §a✔§r
      insufficient: §c✘§r
    demand:
      item: '§7[%icon%§7] §f%name% §r× %demand%'
      money: '§7[%icon%§7] §f金币 §r× %demand%'
      points: '§7[%icon%§7] §f点券 §r× %demand%'
      currency: '§7[%icon%§7] §f%name% §r× %demand%'