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.
Install
npx skills add https://github.com/jasonjgardner/blockbench-mcp-project --skill blockbench-modelingSKILL.md
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_outlineto see current model structure - Set group origins at joint/pivot points for animation
- Use
faces=truefor auto UV mapping on cubes - Create bone hierarchy before adding geometry
- Use
duplicate_elementwith offset for symmetrical parts - Mesh editing is more flexible but cubes are simpler for Minecraft-style models
Related skills
godot-gdscript-patternswshobson16KMaster Godot 4 GDScript patterns including signals, scenes, state machines, and optimization. Use when building Godot games, implementing game systems, or learning GDScript best practices.game-enginegithub13KExpert skill for building web-based game engines and games using HTML5, Canvas, WebGL, and JavaScript. Use when asked to create games, build game engines, implement game physics, handle collision detection, set up game loops, manage sprites, add game controls, or work with 2D/3D rendering. Covers techniques for platformers, breakout-style games, maze games, tilemaps, audio, multiplayer via WebRTC, and publishing games.unity-ecs-patternswshobson11KMaster Unity ECS (Entity Component System) with DOTS, Jobs, and Burst for high-performance game development. Use when building data-oriented games, optimizing performance, or working with large entity counts.msw-defaultplayermsw-git7.9KMSW DefaultPlayer (character) management. Use the msw-general ModelBuilder to inspect/patch DefaultPlayer.model and Player.model, add/remove components, configure movement speed / jump force / HP / camera, and per-map-mode movement components. Use for DefaultPlayer model, player components, movement speed, jump force, HP, camera, physics. Keywords: player, DefaultPlayer, speed, jump, HP, camera, gravity, revive, respawn, character.
