方块操作
方块操作工具是 AI 改造世界的核心。通过 5 个工具,AI 可以挖掘、放置、使用方块,以及执行批量区域操作。
工具列表
| 工具 | 功能 | 参数 | 返回值 |
|---|---|---|---|
mine_block | 挖掘方块 | x, y, z, options(可选) | 挖掘结果 |
place_block | 放置方块 | x, y, z, block_name, facing(可选) | 放置结果 |
use_block | 使用方块 | x, y, z | 使用结果 |
area_operation | 区域批量操作 | mode, from, to, block_name(可选), radius(可选) | 操作结果 |
collect_block | 收集掉落物 | x, y, z, radius(可选) | 收集结果 |
工具详解
mine_block — 挖掘方块
挖掘指定坐标的方块,支持精准采集等选项。
{
"tool": "mine_block",
"params": { "x": 100, "y": 64, "z": 200 }
}带精准采集选项:
{
"tool": "mine_block",
"params": {
"x": 100, "y": 64, "z": 200,
"options": { "silk_touch": true }
}
}place_block — 放置方块
在指定坐标放置方块,可指定朝向。
{
"tool": "place_block",
"params": { "x": 100, "y": 64, "z": 200, "block_name": "stone" }
}指定朝向:
{
"tool": "place_block",
"params": { "x": 100, "y": 64, "z": 200, "block_name": "stone", "facing": "up" }
}use_block — 使用方块
与可交互方块进行交互(如拉杆、按钮、门、工作台等)。
{
"tool": "use_block",
"params": { "x": 100, "y": 64, "z": 200 }
}area_operation — 区域批量操作
在指定区域内执行批量操作,支持四种模式:
fill(填充) — 用指定方块填满区域:
{
"tool": "area_operation",
"params": {
"mode": "fill",
"from": { "x": 10, "y": 64, "z": 10 },
"to": { "x": 15, "y": 65, "z": 15 },
"block_name": "stone"
}
}clear(清除) — 清除区域内的所有方块:
{
"tool": "area_operation",
"params": {
"mode": "clear",
"from": { "x": 10, "y": 64, "z": 10 },
"to": { "x": 15, "y": 65, "z": 15 }
}
}break(挖掘) — 挖掘区域内的所有方块并收集掉落:
{
"tool": "area_operation",
"params": {
"mode": "break",
"from": { "x": 10, "y": 64, "z": 10 },
"to": { "x": 15, "y": 65, "z": 15 }
}
}vein(矿脉) — 使用 BFS 算法扫描并挖掘相连的同类型方块(如矿脉):
{
"tool": "area_operation",
"params": {
"mode": "vein",
"from": { "x": 0, "y": 10, "z": 0 },
"to": { "x": 15, "y": 20, "z": 15 },
"radius": 5
}
}collect_block — 收集掉落物
收集指定位置附近的掉落物物品实体:
{
"tool": "collect_block",
"params": { "x": 100, "y": 64, "z": 200, "radius": 5 }
}典型场景
搭建简易矿洞入口:
1. mine_block(x: 100, y: 65, z: 200) → 挖开门洞
2. place_block(x: 100, y: 64, z: 201, "door") → 放置门
3. place_block(x: 100, y: 65, z: 201, "torch") → 插火把批量挖掘矿脉:
1. look_around(radius: 16, filter: {blocks: ["iron_ore"]})
→ 发现铁矿脉位置
2. area_operation(mode: "vein", from: {x:80,y:30,z:180}, to: {x:90,y:40,z:190}, radius: 5)
→ 批量挖掘铁矿脉错误处理
| 场景 | 错误码 | 说明 |
|---|---|---|
| 方块不可破坏 | MINE_FAILED | 目标方块无法被挖掘(如基岩) |
| 背包中无该方块 | PLACE_FAILED | 需要先收集目标方块 |
| 方块不可交互 | USE_FAILED | 目标方块不是可交互方块 |
| 区域参数无效 | AREA_OP_FAILED | 区域范围或 mode 无效 |