生物交互
生物交互工具让 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 | 目标生物不能被拴绳 |