name: generating-terrain description: Generates Minecraft terrain and landscapes using VibeCraft MCP tools. Use when creating hills, mountains, valleys, rivers, caves, cliffs, or natural terrain features. Handles procedural generation, noise functions, and terrain texturing.
Generating Terrain
MCP Tools
generate_terrain- rolling_hills, rugged_mountains, valley_network, mountain_range, plateautexture_terrain- temperate, alpine, desert, volcanic, jungle, swampsmooth_terrain- Post-process smoothing (iterations 1-5)worldedit_deform- Math expressionsworldedit_terrain_advanced- smooth, naturalize, regenbuild(code=...)- Procedural algorithms
Quick Start
generate_terrain(type="rolling_hills", center_x=100, center_y=64, center_z=200, size=50, amplitude=8)
texture_terrain(style="temperate", center_x=100, center_y=64, center_z=200, size=50)
smooth_terrain(center_x=100, center_y=64, center_z=200, size=50, iterations=2)
Procedural with build()
Rolling Hills
build(code="""
commands = []
def noise(x, z, seed=42):
n = x * 374761393 + z * 668265263 + seed
n = (n ^ (n >> 13)) * 1274126177
return ((n ^ (n >> 16)) & 255) / 255.0
base_x, base_z, size, base_y, amplitude = 100, 200, 50, 64, 8
for x in range(base_x, base_x + size):
for z in range(base_z, base_z + size):
height = noise(x, z, 1) * amplitude + noise(x*2, z*2, 2) * amplitude * 0.5
y = int(base_y + height)
commands.append(f'/setblock {x} {y} {z} grass_block')
for below in range(base_y - 5, y):
mat = 'dirt' if y - below <= 3 else 'stone'
commands.append(f'/setblock {x} {below} {z} {mat}')
""", description="Rolling hills")
Mountain Range
# Use ridged noise: abs(noise(x, z) - 0.5) * 2
# Snow above base+18, stone above base+12, grass below
River Valley
# Sinusoidal path: path_x = base_x + sin(i * 0.1) * 10
# Depth based on distance from center
# Water in deepest part, sand on banks
WorldEdit Expressions
//generate -h stone y<perlin(x/10,z/10,0)*5+64 # Noise terrain
//deform y+=sin(x/5)*3+sin(z/5)*3 # Sine wave hills
//generate stone (x*x+z*z)<radius^2 && y<sqrt(radius^2-x*x-z*z) # Dome
Biome Texturing
Temperate: grass_block (Y+0), dirt (Y-1 to -3), stone (Y-4+), flowers/tall_grass Alpine: snow_block (Y>base+18), stone (Y>base+12), grass (Y>base+6), spruce trees Desert: sand (3-4 layers), sandstone below, dead_bush/cactus Volcanic: magma_block/obsidian (Y>base+15), blackstone (Y>base+8), basalt, lava pools
Common Patterns
Cliff Face: Random ledge depth per Y level
Cave System: worldedit_terrain_advanced(command="caves", size=8, freq=40, rarity=7, minY=0, maxY=60)
Erosion: 20% random block removal from surface
Smoothing
//smooth 3 # 3 iterations
# Manual: average neighbor heights
def smooth(heights, x, z):
return sum(heights.get((x+dx, z+dz), 64) for dx in [-1,0,1] for dz in [-1,0,1]) // 9
Tips
- Generate in 16×16 chunks
- Only modify necessary Y levels
- Use /fill for rectangular areas
- Preview first:
build(preview_only=True)