加权选择
saturn:choice
按权重随机选择一项动作执行。
上下文包含 actor(发起者)与 target(目标)。同一个 ID 在实体动作和双实体动作注册表中可能有不同字段,不能跨种类替换。
JSON 字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type | 资源 ID | 是 | — | saturn:choice |
actions | 加权条目数组(value、weight) | 是 | — | 子动作数组;顺序类型依次执行,加权类型按 value 和 weight 选择。 |
每项包含 value 与 weight,见加权条目。负权重按 0 处理;总权重为 0 时从非空动作列表均匀选择。空动作列表不执行。
JSON 示例
{
"type": "saturn:choice",
"actions": [
{
"value": {
"type": "saturn:no_op"
},
"weight": 1
}
]
}
这是可嵌入相应字段的值,不是单独可加载的数据包文件。示例中的 example: 引用需要替换为已定义的条目。
Java 入口
com.iafenvoy.saturn.data.action.builtin.bientity.meta.ChoiceAction。本页按当前 26.1.2 源码的 Codec 整理。