参考手册Movement

移动系统

移动工具让 AI 能在 Minecraft 世界中自由移动。通过参数组合的设计,move_to 工具可以智能推断目标类型,适配不同的移动需求。

设计理念

参数组合推断目标类型 — move_to 工具通过参数的组合方式自动推断用户意图:

  • 传 x/y/z → 目标为坐标位置
  • 传 entity → 目标为实体跟随
  • 传 y 仅调整高度 → 目标为高度调整

工具列表

工具功能参数返回值
move_to移动到目标位置x(可选), y(可选), z(可选), entity(可选), break(可选), distance(可选)移动结果
ride骑乘实体entity_id骑乘结果
dismount脱离骑乘无脱离结果

工具详解

move_to — 移动

移动分为三种模式,通过参数组合推断:

坐标模式 — 移动到指定坐标点:

{
  "tool": "move_to",
  "params": { "x": 100, "y": 64, "z": 200 }
}

实体跟随模式 — 跟随指定实体:

{
  "tool": "move_to",
  "params": { "entity": "player_uuid", "distance": 3 }
}

高度调整模式 — 仅调整 Y 轴高度:

{
  "tool": "move_to",
  "params": { "y": 80 }
}

破坏模式 — 允许破坏方块以通过(适用于被阻挡时):

{
  "tool": "move_to",
  "params": { "x": 100, "y": 64, "z": 200, "break": true }
}

ride — 骑乘

骑乘一个可骑乘的实体(如马、猪、船等):

{
  "tool": "ride",
  "params": { "entity_id": "实体UUID" }
}

dismount — 脱离骑乘

从当前骑乘的实体上下来:

{
  "tool": "dismount",
  "params": {}
}

底层的执行 AI

移动工具由执行 AI 层的 MovementController 和 AStarPathfinder 协同完成:

  • AStarPathfinder — 3D A* 寻路算法,计算最优路径,自动避障
  • MovementController — 控制假人沿路径移动,处理跳跃、攀爬、游泳等动作
  • VeinScanner — 矿脉扫描器(配合 area_operation 使用)

错误处理

场景错误码说明
无法找到路径NO_PATH目标位置被完全封锁或不可达
目标距离过远TOO_FAR超出最大移动距离
移动超时TIMEOUT指定时间内未到达目标位置
参数无效INVALID_PARAMS未提供任何目标参数
不可骑乘实体RIDE_FAILED目标实体不支持骑乘
未在骑乘DISMOUNT_FAILED当前没有骑乘任何实体