pluginiPlugin

行为配置


结构与配置

支持无限嵌套目录
example.yml
hello.yml
world.yml

节点

确保每个行为编号都是唯一的标识符

action:
  # 行为编号
  look:
    taskTime: 0
    shouldExecute: |
        false
    startTask: |
        tell 执行
    continueExecute: |
        false
    updateTask: |
        tell 执行
    resetTask: |
        tell 执行

行为配置的脚本是需要应用 Kether

节点类型默认值描述备注
taskTimeint0任务时长指定任务执行的时间,单位为tick,20 ticks 等于 1 秒。
shouldExecuteKether Boolean执行此行为任务所需条件结果为 true则开始执行
startTaskKether开始执行时做什么
continueExecuteKether Boolean继续执行所需条件结果为 true 则执行 updateTask,否则执行 resetTask
updateTaskKether执行什么执行后会运行判断 continueExecute
resetTaskKether执行什么执行后结束本次任务

示例

action:
  # 行为编号为 lookowner
  look_owner:
    # 4 秒
    taskTime: 80
    # 满足条件:宠物和主人距离小于 2.0
    shouldExecute: |
      check distance pet entity to pet owner < 2.0
    # # 开始观察时的消息
    startTask: |
      tell "宠物准备观察你。"
    # taskTime 大于 0,宠物和主人距离小于 2.0,宠物没有被乘坐
    continueExecute: |
      all [ check distance pet entity to pet owner < 2.0
      check taskTime > 0
      check pet drive has == false ]
    # 宠物看向主人
    updateTask: |
      pet look pet owner
      tell "宠物在观察你。"
    # 观察结束时的消息
    resetTask: |
      tell "宠物结束观察。"

提示

你也许观察到行为配置的 Kether 语句中含有 taskTime,这是行为配置特有的语句。

它能获取到当前 taskTime 的值。Kether 的 taskTime 默认值与节点中的 taskTime 相关联,每次执行 updateTask 时,taskTime 的值会递减。

这意味着在每个滴答(tick)中,updateTask 被执行时,taskTime 就会减少一。

目录