--- title: World Generation type: docs weight: 10 --- The World Generation system creates procedural terrain, caves, biomes, and structures for Hytale worlds. **Packages:** - `com.hypixel.hytale.server.worldgen` - `com.hypixel.hytale.builtin.hytalegenerator` {{< cards >}} {{< card link="world-loader" title="World Loader" subtitle="Chunk loading and generation pipeline" >}} {{< card link="chunk-generation" title="Chunk Generation" subtitle="Block placement and terrain" >}} {{< card link="cave-generation" title="Cave Generation" subtitle="Underground cave systems" >}} {{< card link="climate-biomes" title="Climate & Biomes" subtitle="Biome distribution and climate" >}} {{< card link="prefabs" title="Prefabs" subtitle="Structure and building placement" >}} {{< card link="zones" title="Zones" subtitle="Zone definitions and regions" >}} {{< card link="hytale-generator" title="Hytale Generator" subtitle="Default procedural generator" >}} {{< card link="density-functions" title="Density Functions" subtitle="Terrain shape definition" >}} {{< card link="material-providers" title="Material Providers" subtitle="Block selection logic" >}} {{< card link="prop-placement" title="Prop Placement" subtitle="Vegetation and object placement" >}} {{< card link="generation-patterns" title="Generation Patterns" subtitle="Patterns and fields" >}} {{< /cards >}} ## Architecture Overview The world generation system operates in several phases: ``` World Generation Pipeline ├── Climate Generation │ └── Biome Assignment ├── Terrain Generation │ ├── Density Functions (shape) │ ├── Material Providers (blocks) │ └── Surface Decoration ├── Cave Generation │ ├── Cave Carving │ └── Cave Features ├── Structure Placement │ ├── Prefab Selection │ └── Prefab Positioning └── Prop Placement ├── Vegetation └── Objects ``` ## Packages Overview | Package | Files | Description | |---------|-------|-------------| | `loader/` | 75 | World loading system | | `util/` | 35 | Generation utilities | | `cave/` | 32 | Cave generation | | `climate/` | 12 | Climate and biomes | | `chunk/` | 12 | Chunk generation | | `prefab/` | 8 | Structure placement | | `zone/` | 7 | Zone definitions | | `cache/` | 7 | Generation caching | ## Hytale Generator The built-in Hytale generator provides the default world generation: | Package | Files | Description | |---------|-------|-------------| | `assets/` | 232 | Generator asset definitions | | `density/` | 76 | Density functions | | `materialproviders/` | 29 | Block selection | | `props/` | 24 | Prop placement | | `patterns/` | 13 | Generation patterns | | `fields/` | 8 | Field generation | ## Quick Example ```java // Get world generator WorldGenerator generator = world.getGenerator(); // Generate chunk generator.generateChunk(chunkX, chunkZ); // Get biome at position Biome biome = generator.getBiome(position); // Check if structure can generate boolean canPlace = generator.canPlacePrefab(prefab, position); ``` ## Configuration World generation is configured through YAML assets: ```yaml # worldgen/my_generator.yaml Type: WorldGenerator Id: my_generator Seed: 12345 Climate: Type: StandardClimate Biomes: - forest - plains - mountains Density: Type: MultipleDensity Functions: - terrain_base - terrain_hills Prefabs: - Type: Village Frequency: 0.01 ```