跳到主要内容

加权选择

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 整理。