Installable skillApache-2.0

Blockbench Modeling

Create and edit 3D models in Blockbench using MCP tools. Use when building geometry with cubes, creating meshes, placing spheres/cylinders, editing vertices, extruding faces, or organizing models with groups. Covers both cube-based Minecraft modeling and freeform mesh editing.

BY David-Li0406UPDATED Oct 27, 2026
INTENDED FOR◈OpenClawInstall in a listed agent.

instructions.md

---
name: blockbench-modeling
description: Create and edit 3D models in Blockbench using MCP tools. Use when building geometry with cubes, creating meshes, placing spheres/cylinders, editing vertices, extruding faces, or organizing models with groups. Covers both cube-based Minecraft modeling and freeform mesh editing.
---

# Blockbench Modeling

Build 3D models using cubes and meshes in Blockbench.

## Available Tools

### Cube Tools
| Tool | Purpose |
|------|---------|
| `place_cube` | Create cubes with position, size, texture |
| `modify_cube` | Edit cube properties (position, rotation, UV, etc.) |

### Mesh Tools
| Tool | Purpose |
|------|---------|
| `place_mesh` | Create mesh with vertices |
| `create_sphere` | Create sphere mesh |
| `create_cylinder` | Create cylinder mesh |
| `extrude_mesh` | Extrude faces/edges/vertices |
| `subdivide_mesh` | Add geometry detail |
| `select_mesh_elements` | Select vertices/edges/faces |
| `move_mesh_vertices` | Move selected vertices |
| `delete_mesh_elements` | Remove geometry |
| `merge_mesh_vertices` | Weld nearby vertices |
| `create_mesh_face` | Create face from vertices |
| `knife_tool` | Cut edges into faces |

### Element Tools
| Tool | Purpose |
|------|---------|
| `add_group` | Create bone/group |
| `list_outline` | View model hierarchy |
| `duplicate_element` | Copy elements |
| `rename_element` | Rename elements |
| `remove_element` | Delete elements |

## Cube Modeling

### Place a Cube

```
place_cube: elements=[{
  name: "body",
  from: [-4, 0, -2],
  to: [4, 12, 2]
}], faces=true  # Auto UV
```

### Place Multiple Cubes

```
place_cube: elements=[
  {name: "head", from: [-4, 12, -4], to: [4, 20, 4]},
  {name: "arm_left", from: [4, 4, -1], to: [6, 12, 1]},
  {name: "arm_right", from: [-6, 4, -1], to: [-4, 12, 1]}
], group="body"
```

### Modify Cube

```
modify_cube: id="body", rotation=[0, 45, 0], origin=[0, 6, 0]
```

### Cube with Texture

```
place_cube: elements=[{name: "block", from: [0,0,0], to: [16,16,16]}],
  texture="stone", faces=true
```

## Mesh Modeling

### Create Sphere

```
create_sphere: elements=[{
  name: "ball",
  position: [0, 8, 0],
  diameter: 16,
  sides: 12
}]
```

### Create Cylinder

```
create_cylinder: elements=[{
  name: "pillar",
  position: [0, 0, 0],
  diameter: 8,
  height: 24,
  sides: 12,
  capped: true
}]
```

### Extrude Face

```
select_mesh_elements: mesh_id="pillar", mode="face", elements=["top_face"]
extrude_mesh: mesh_id="pillar", mode="faces", distance=4
```

### Subdivide for Detail

```
subdivide_mesh: mesh_id="sphere", cuts=2
```

### Move Vertices

```
select_mesh_elements: mesh_id="mesh1", mode="vertex", elements=["v1", "v2"]
move_mesh_vertices: offset=[0, 2, 0]
```

### Merge Close Vertices

```
merge_mesh_vertices: mesh_id="mesh1", threshold=0.1
```

### Knife Cut

```
knife_tool: mesh_id="cube_mesh", points=[
  {position: [0, 8, -4]},
  {position: [0, 8, 4]}
]
```

## Organization

### Create Group Hierarchy

```
add_group: name="root", origin=[0, 0, 0], rotation=[0, 0, 0]
add_group: name="body", parent="root", origin=[0, 12, 0]
add_group: name="head", parent="body", origin=[0, 24, 0]
```

### Add Cubes to Groups

```
place_cube: elements=[{name: "torso", from: [-4, 12, -2], to: [4, 24, 2]}],
  group="body"
```

### Duplicate Element

```
duplicate_element: id="arm_left", newName="arm_right", offset=[-8, 0, 0]
```

### View Hierarchy

```
list_outline  # Returns all groups and elements
```

## Common Patterns

### Minecraft Character

```
# Create hierarchy
add_group: name="root", origin=[0, 0, 0]
add_group: name="body", parent="root", origin=[0, 24, 0]
add_group: name="head", parent="body", origin=[0, 24, 0]
add_group: name="arm_left", parent="body", origin=[5, 22, 0]
add_group: name="arm_right", parent="body", origin=[-5, 22, 0]
add_group: name="leg_left", parent="root", origin=[2, 12, 0]
add_group: name="leg_right", parent="root", origin=[-2, 12, 0]

# Add geometry
place_cube: elements=[{name: "head", from: [-4, 24, -4], to: [4, 32, 4]}], group="head"
place_cube: elements=[{name: "body", from: [-4, 12, -2], to: [4, 24, 2]}], group="body"
place_cube: elements=[{name: "arm", from: [-1, 0, -1], to: [1, 10, 1]}], group="arm_left"
place_cube: elements=[{name: "arm", from: [-1, 0, -1], to: [1, 10, 1]}], group="arm_right"
place_cube: elements=[{name: "leg", from: [-2, 0, -2], to: [2, 12, 2]}], group="leg_left"
place_cube: elements=[{name: "leg", from: [-2, 0, -2], to: [2, 12, 2]}], group="leg_right"
```

### Smooth Organic Shape

```
create_sphere: elements=[{name: "base", position: [0, 8, 0], diameter: 16, sides: 16}]
subdivide_mesh: mesh_id="base", cuts=1
# Select and move vertices to shape
select_mesh_elements: mesh_id="base", mode="vertex"
move_mesh_vertices: offset=[0, 4, 0], vertices=["top_verts"]
```

## Tips

- Use `list_outline` to see current model structure
- Set group origins at joint/pivot points for animation
- Use `faces=true` for auto UV mapping on cubes
- Create bone hierarchy before adding geometry
- Use `duplicate_element` with offset for symmetrical parts
- Mesh editing is more flexible but cubes are simpler for Minecraft-style models
COMPATIBILITY & REFERENCES

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.