-
Notifications
You must be signed in to change notification settings - Fork 0
Composite Conditions
Noogear edited this page Mar 9, 2026
·
1 revision
any 和 all 节点用于组合多个条件,实现 OR / AND 逻辑。
# ANY(OR):任一子条件成立即通过
- any:
- check: <variable1>
op: "<operator>"
value: <value>
- check: <variable2>
op: "<operator>"
value: <value>
on_fail:
- # 所有条件都不满足时执行的节点
# ALL(AND):全部子条件成立才通过
- all:
- check: <variable1>
op: "<operator>"
value: <value>
- check: <variable2>
op: "<operator>"
value: <value>
on_fail:
- # 任一条件不满足时执行的节点| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
any / all
|
List | 是 | 子条件节点列表 |
on_fail |
List | 否 | 条件不满足时执行的节点列表 |
- any:从上到下逐个检查,一旦某个条件成立,跳过剩余条件
- all:从上到下逐个检查,一旦某个条件不成立,跳过剩余条件
支持任意深度的嵌套组合,可以用 any 和 all 自由搭配:
# (damage > 100 AND rank >= 5) OR weaponName == "legendary_sword"
- any:
- all:
- check: damage
op: ">"
value: 100
- check: rank
op: ">="
value: 5
- check: weaponName
op: "=="
value: "legendary_sword"- any:
- check: damage
op: ">"
value: 50
- check: weaponName
op: "=="
value: "sword"
on_fail:
- action: "log"
args: ["所有条件都不满足"]- all:
- check: damage
op: ">"
value: 10
- check: weaponName
op: "=="
value: "sword"
on_fail:
- return- all:
- check: entity
op: "!null"
- any:
- check: damage
op: "between"
value: [100, 999]
- check: weapon
op: "starts_with"
value: "NETHERITE"
on_fail:
- action: "sendMessage"
args: ["条件不满足"]
- returnflow:
- all:
- check: damage
op: ">"
value: 5
- check: weapon
op: "in"
value: ["DIAMOND_SWORD", "IRON_SWORD", "NETHERITE_SWORD"]
- check: entity
op: "!null"
on_fail:
- return
- action: "processPvP"
args: ["{entity}", "{damage}"]