参考手册Survival

生存与状态

生存工具帮助 AI 管理角色的基本生存需求:进食补充饥饿值、睡觉跳过夜晚、使用各种物品与环境互动。

工具列表

工具功能参数返回值
eat进食补充饥饿值food_name(可选)进食结果
sleep睡觉/起床/等待action, bed_pos(可选), wait_seconds(可选)操作结果
use_item使用物品item_name, mode(可选), target(可选)使用结果

工具详解

eat — 进食

自动选择背包中最佳食物进食,或指定特定食物。

{
  "tool": "eat",
  "params": {}
}

指定食物类型:

{
  "tool": "eat",
  "params": { "food_name": "apple" }
}

AI 会自动选择饥饿值回复效率最高的食物并食用。

sleep — 睡觉

支持多种睡眠相关操作:睡觉、起床、等待。

支持的操作:

  • sleep — 睡觉(需要附近有床)
  • wake — 起床
  • wait — 原地等待指定秒数
{
  "tool": "sleep",
  "params": { "action": "sleep", "bed_pos": { "x": 50, "y": 63, "z": -100 } }
}

等待模式(跳过时间):

{
  "tool": "sleep",
  "params": { "action": "wait", "wait_seconds": 60 }
}

use_item — 使用物品

按照不同模式使用背包中的物品。

支持的模式:

  • use — 正常使用(如放置、食用、投掷等)
  • drink — 饮用(如药水)
  • throw — 投掷(如雪球、末影珍珠)
{
  "tool": "use_item",
  "params": { "item_name": "ender_pearl", "mode": "throw" }
}
{
  "tool": "use_item",
  "params": { "item_name": "night_vision_potion", "mode": "drink" }
}

典型场景

夜间生存:

1. look_time_weather()
   → 发现已是夜晚,有怪物出没
2. sleep(action: "sleep", bed_pos: {x:50, y:63, z:-100})
   → 上床睡觉跳过夜晚
3. 醒来 → 继续白天的工作

战斗前准备:

1. eat(food_name: "steak") → 补充饥饿值
2. use_item(item_name: "night_vision_potion", mode: "drink") → 喝夜视药水
3. use_item(item_name: "strength_potion", mode: "drink") → 喝力量药水
4. 进入战斗...

错误处理

场景错误码说明
背包中无指定食物EAT_FAILED该物品不可食用或不存在
找不到床SLEEP_FAILED附近没有床或床被阻挡
物品不存在USE_ITEM_FAILED背包中无该物品