-
Notifications
You must be signed in to change notification settings - Fork 0
Biomes
MichaelFisher1997 edited this page Jan 5, 2026
·
1 revision
Complete reference of all biomes implemented in ZigCraft's world generation system.
ZigCraft features 21 biomes organized into categories based on climate and terrain. Biomes are selected using a Voronoi diagram in temperature/humidity space with structural constraints.
| Biome | Temperature | Humidity | Surface | Description |
|---|---|---|---|---|
deep_ocean |
Any | Any | Gravel | Deep water (30+ blocks) |
ocean |
Any | Any | Sand/Gravel | Shallow to medium water |
| Biome | Temperature | Humidity | Surface | Description |
|---|---|---|---|---|
beach |
Warm | Any | Sand | Sandy beaches at coastlines |
coastal_plains |
Mild | Medium | Grass | Transitional coastal grassland |
| Biome | Temperature | Humidity | Surface | Description |
|---|---|---|---|---|
snow_tundra |
Cold | Low | Snow | Flat frozen plains |
taiga |
Cold | Medium | Grass | Snowy conifer forests |
snowy_mountains |
Cold | Any | Snow/Stone | High-altitude frozen peaks |
| Biome | Temperature | Humidity | Surface | Description |
|---|---|---|---|---|
plains |
Mild | Low-Medium | Grass | Flat grasslands |
forest |
Mild | Medium-High | Grass | Oak and birch forests |
mountains |
Any | Any | Stone | High-altitude rocky terrain |
| Biome | Temperature | Humidity | Surface | Description |
|---|---|---|---|---|
swamp |
Warm | High | Grass | Murky wetlands with oak trees |
mangrove_swamp |
Hot | Very High | Mud | Coastal mangrove trees |
jungle |
Hot | Very High | Grass | Dense tropical rainforest |
| Biome | Temperature | Humidity | Surface | Description |
|---|---|---|---|---|
desert |
Hot | Very Low | Sand | Sandy dunes with cacti |
savanna |
Hot | Low | Grass | Sparse acacia trees |
badlands |
Hot | Very Low | Red Sand | Terracotta mesas |
| Biome | Temperature | Humidity | Surface | Description |
|---|---|---|---|---|
mushroom_fields |
Mild | High | Mycelium | Giant mushroom biome |
river |
Any | N/A | Sand | River channels |
| Biome | Transitions Between | Surface | Description |
|---|---|---|---|
foothills |
Mountains ↔ Plains/Forest | Grass | Hilly terrain buffer |
marsh |
Swamp ↔ Forest/Plains | Grass | Wet grassland |
dry_plains |
Desert ↔ Forest/Plains | Grass | Semi-arid grassland |
| Parameter | Description | Range |
|---|---|---|
temperature |
Heat level | -1.0 to 1.0 |
humidity |
Moisture level | -1.0 to 1.0 |
elevation |
Height above sea level | 0-256 |
continentalness |
Distance from ocean | 0.0 to 1.0 |
ruggedness |
Terrain roughness | 0.0 to 1.0 |
1. Calculate temperature and humidity at world position
2. For each biome point in heat/humidity space:
a. Check structural constraints (height, slope, continentalness)
b. Calculate weighted Euclidean distance
c. Track closest match
3. Return closest biome that passes constraints
| Constraint | Description |
|---|---|
min_height |
Minimum Y level required |
max_height |
Maximum Y level allowed |
min_slope |
Minimum terrain slope |
max_slope |
Maximum terrain slope |
min_continentalness |
Minimum distance from ocean |
Edge detection samples biomes at 4/8/12 block radii. If incompatible biomes are found, a transition biome is injected.
| Source Biome | Adjacent Biome | Injected Transition |
|---|---|---|
| Desert | Forest, Plains | dry_plains |
| Snow Tundra | Plains, Forest | taiga |
| Swamp | Forest, Plains | marsh |
| Mountains | Plains, Forest | foothills |
Each biome defines:
- Top block: Surface layer (1 block)
- Filler block: Subsurface (3-4 blocks)
| Biome | Top Block | Filler Block |
|---|---|---|
| Plains/Forest | Grass | Dirt |
| Desert | Sand | Sand |
| Snow Tundra | Snow Block | Dirt |
| Mountains | Stone | Stone |
| Swamp | Grass | Dirt |
| Mangrove Swamp | Mud | Mud |
| Jungle | Grass | Dirt |
| Beach | Sand | Sand |
| Badlands | Red Sand | Terracotta |
| Mushroom Fields | Mycelium | Dirt |
| Category | Density | Example Biomes |
|---|---|---|
| Sparse | 0.1x | Desert, Badlands |
| Low | 0.5x | Plains, Savanna |
| Normal | 1.0x | Forest, Taiga |
| Dense | 1.5x | Jungle, Swamp |
| Biome | Primary Tree | Secondary Trees |
|---|---|---|
| Forest | Oak | Birch |
| Taiga | Spruce | — |
| Jungle | Jungle | Bamboo |
| Savanna | Acacia | — |
| Swamp | Swamp Oak | — |
| Mangrove Swamp | Mangrove | — |
The world is divided into macro climate zones based on noise:
| Zone | Temperature Range | Description |
|---|---|---|
| Frozen | < -0.5 | Snow and ice |
| Cold | -0.5 to 0.0 | Taiga and tundra |
| Temperate | 0.0 to 0.5 | Plains and forests |
| Warm | 0.5 to 0.8 | Savanna and swamp |
| Hot | > 0.8 | Desert and jungle |
| Zone | Humidity Range | Description |
|---|---|---|
| Arid | < -0.5 | Desert, badlands |
| Dry | -0.5 to 0.0 | Plains, savanna |
| Normal | 0.0 to 0.5 | Forest, plains |
| Humid | 0.5 to 0.8 | Swamp, jungle |
| Wet | > 0.8 | Mangrove, deep jungle |
| Biome | Color | Hex |
|---|---|---|
| Deep Ocean | Dark Blue | #1a3d5c |
| Ocean | Blue | #3366cc |
| Beach | Tan | #e6d999 |
| Desert | Sandy Yellow | #d4b896 |
| Plains | Light Green | #7cb342 |
| Forest | Dark Green | #2e7d32 |
| Jungle | Tropical Green | #1b5e20 |
| Mountains | Gray | #757575 |
| Snow Tundra | White | #f5f5f5 |
| Swamp | Murky Green | #4a5d23 |
- World Generation - How biomes are generated
- Block Types - Blocks found in biomes
Source: src/world/worldgen/biome.zig | Last updated: January 2026