生物交互

生物交互工具让 AI 可以处理与 Minecraft 世界中各类生物的关系,包括战斗模式切换、停止战斗、与实体交互以及拴绳牵引。

工具列表

工具功能参数返回值
set_combat_mode设置战斗模式mode, targetId(可选)战斗模式设置结果
stop_combat停止战斗无停止战斗结果
interact_entity与实体交互entityId, action, tradeIndex(可选)交互结果
lead_entity拴绳/释放实体entityId, action操作结果

工具详解

set_combat_mode — 设置战斗模式

切换假人的战斗行为模式。AI 可根据战况动态调整策略。

支持的模式:

  • melee — 近战模式:靠近目标使用剑/斧攻击
  • ranged — 远程模式:保持距离使用弓箭射击
  • defensive — 防御模式:以躲避和格挡为主
{
  "tool": "set_combat_mode",
  "params": { "mode": "melee", "targetId": "实体UUID" }
}

stop_combat — 停止战斗

立即停止当前战斗,清除战斗状态。

{
  "tool": "stop_combat",
  "params": {}
}

interact_entity — 与实体交互

与生物进行各类交互,支持多种动作。

支持的动作:

  • feed — 喂食(繁殖或驯服)
  • breed — 繁殖(需两只同种动物)
  • trade — 与村民交易
  • tame — 驯服(如狼、猫)
  • shear — 剪羊毛
  • milk — 挤牛奶
{
  "tool": "interact_entity",
  "params": { "entityId": "实体UUID", "action": "trade", "tradeIndex": 2 }
}

与村民交易指定索引的选项:

{
  "tool": "interact_entity",
  "params": { "entityId": "村民UUID", "action": "trade", "tradeIndex": 1 }
}

lead_entity — 拴绳/释放实体

用拴绳牵引生物移动,或释放已拴绳的生物。

支持的动作:

  • lead — 拴绳(需要手持拴绳)
  • release — 释放
{
  "tool": "lead_entity",
  "params": { "entityId": "实体UUID", "action": "lead" }
}

典型场景

驯服狼:

1. interact_entity(entityId: "狼的UUID", action: "feed")
   → 喂食骨头,有概率驯服
2. 重复喂食直到驯服成功

与村民交易:

1. interact_entity(entityId: "村民UUID", action: "trade", tradeIndex: 0)
   → 查看第一个交易选项
2. 选择最优交易进行兑换

战斗切换:

1. set_combat_mode("melee") → 切换到近战
2. 发现骷髅弓箭手 → set_combat_mode("ranged") → 切换到远程
3. 战斗结束 → stop_combat() → 停止战斗

错误处理

场景错误码说明
目标实体不存在NOT_FOUND实体 UUID 无效或已消失
距离太远TOO_FAR需要靠近目标才能交互
无效交互动作INTERACT_FAILED目标不支持该交互动作
不可拴绳LEAD_FAILED目标生物不能被拴绳