This commit is contained in:
2026-01-20 20:33:59 +01:00
commit b16a40e431
583 changed files with 87339 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
---
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
```