Overview
Thebiome-distribution/ directory contains all configuration related to where biomes generate in the world. Origen uses a sophisticated pipeline-based approach with cellular noise, temperature zones, and multi-stage refinement.
Directory Structure
Presets
Presets define complete biome distribution configurations. The active preset is selected inpack.yml.
rearth.yml (Default)
The main Origen biome distribution preset:The distribution uses EXTRUSION type to layer cave biomes over the surface pipeline, and PIPELINE type for the main surface biome placement.
single.yml
Used for testing - generates a world with a single biome:Pipeline Stages
Stages are applied sequentially to refine biome placement. Each stage can replace, expand, or smooth biome assignments.Stage Types
REPLACE
REPLACE
Replaces placeholder biomes with actual biomes using noise lookups.The weights determine relative spawn chances.
EXPAND
EXPAND
Expands biome borders by a certain number of cells.
FRACTAL_EXPAND
FRACTAL_EXPAND
Expands biomes with fractal noise for natural variation.
SMOOTH
SMOOTH
Smooths biome transitions by blending neighbors.
BORDER
BORDER
Adds border biomes between two biome types.
Stage Files
oceans.yml
Replaces the placeholderocean biome with specific ocean types based on temperature:
reference
View Full Configuration
View Full Configuration
coasts.yml
Adds coastal biomes at land-ocean boundaries using border detection.add_rivers.yml
Adds river biomes to land biomes tagged withUSE_RIVER, with special variants for certain biomes.
fill_temperature_zones.yml
Replaces temperature-based placeholders with actual land biomes:- Cold zones → Frozen biomes
- Temperate zones → Forest, plains, mountain biomes
- Warm zones → Desert, savanna, jungle biomes
spread_temperature_zones.yml
Initially divides land into temperature zones using noise samplers.Special Stages
canyons.yml
Carves large canyon biomes through any land biome using noise-based selection.border_biomes.yml
Adds transitional biomes at borders between contrasting biome types.add_sinkholes.yml
Places rare sinkhole biomes that ignore normal cellular distribution.add_volcanos.yml
Adds volcano biomes in specific conditions.Extrusions
Extrusions add biomes in vertical layers, typically for caves and underground areas.Structure
Extrusion Files
add_cave_biomes.yml
Adds standard cave biomes in different elevation ranges
add_special_caves.yml
Adds unique cave biomes (Inferno Isles, Vine Vault, Terracotta Tombs)
add_deep_dark.yml
Adds deep dark biome at low elevations
How the Pipeline Works
Step-by-Step Process
-
Source Generation
- Cellular noise creates uniform biome cells
- Continental sampler determines ocean vs land
- Results in placeholder
oceanandlandbiomes
-
Special Features (canyons, sinkholes)
- Applied first to carve through normal distribution
- Use position-independent noise for random placement
-
Coast Definition
- Detects ocean-land borders
- Creates coastal placeholder biomes
- Varies coast width (narrow vs wide)
-
Ocean Refinement
- Replaces ocean placeholders with specific ocean biomes
- Uses temperature lookup for variety
- Assigns deep vs shallow variants
-
Land Temperature Zones
- Divides land into cold/temperate/warm zones
- Uses temperature noise sampler
- Creates zone placeholders
-
Biome Assignment
- Replaces placeholders with actual biomes
- Uses cellular noise for variation within zones
- Weights control relative spawn rates
-
Border Biomes
- Adds transitional biomes between contrasting types
- Smooths harsh biome transitions
-
Smoothing & Expansion
- FRACTAL_EXPAND adds natural irregularity
- SMOOTH blends biome edges
- Multiple passes for final refinement
-
Rivers
- Added last to flow through all biomes
- Uses river noise sampler
- Special variants for mountain biomes
-
Cave Extrusions
- Layered vertically over surface biomes
- Use 3D noise for placement
- Independent of surface distribution
Customization Variables
Biome distribution uses variables fromcustomization.yml:
Tuning Biome Size
- Larger biomes: Increase
cellDistance - More regular shapes: Decrease
cellJitter - More variety: Decrease
cellDistance, increase jitter
Related References
Math Functions
Samplers used in distribution (continents, temperature, rivers)
Configuration Overview
How biome distribution fits into the overall config structure
