116 lines
3.8 KiB
Markdown
116 lines
3.8 KiB
Markdown
---
|
|
title: Génération de Monde
|
|
type: docs
|
|
weight: 10
|
|
---
|
|
|
|
Le système de génération de monde crée du terrain procédural, des grottes, des biomes et des structures pour les mondes Hytale.
|
|
|
|
**Packages:**
|
|
- `com.hypixel.hytale.server.worldgen`
|
|
- `com.hypixel.hytale.builtin.hytalegenerator`
|
|
|
|
{{< cards >}}
|
|
{{< card link="world-loader" title="World Loader" subtitle="Chargement de chunks et pipeline de génération" >}}
|
|
{{< card link="chunk-generation" title="Génération de Chunks" subtitle="Placement de blocs et terrain" >}}
|
|
{{< card link="cave-generation" title="Génération de Grottes" subtitle="Systèmes de grottes souterraines" >}}
|
|
{{< card link="climate-biomes" title="Climat & Biomes" subtitle="Distribution des biomes et climat" >}}
|
|
{{< card link="prefabs" title="Prefabs" subtitle="Placement de structures et bâtiments" >}}
|
|
{{< card link="zones" title="Zones" subtitle="Définitions de zones et régions" >}}
|
|
{{< card link="hytale-generator" title="Hytale Generator" subtitle="Générateur procédural par défaut" >}}
|
|
{{< card link="density-functions" title="Fonctions de Densité" subtitle="Définition de forme du terrain" >}}
|
|
{{< card link="material-providers" title="Material Providers" subtitle="Logique de sélection de blocs" >}}
|
|
{{< card link="prop-placement" title="Placement de Props" subtitle="Placement de végétation et objets" >}}
|
|
{{< card link="generation-patterns" title="Patterns de Génération" subtitle="Patterns et champs" >}}
|
|
{{< /cards >}}
|
|
|
|
## Vue d'Ensemble de l'Architecture
|
|
|
|
Le système de génération de monde opère en plusieurs phases :
|
|
|
|
```
|
|
Pipeline de Génération de Monde
|
|
├── Génération du Climat
|
|
│ └── Attribution des Biomes
|
|
├── Génération du Terrain
|
|
│ ├── Fonctions de Densité (forme)
|
|
│ ├── Material Providers (blocs)
|
|
│ └── Décoration de Surface
|
|
├── Génération des Grottes
|
|
│ ├── Creusement des Grottes
|
|
│ └── Caractéristiques des Grottes
|
|
├── Placement des Structures
|
|
│ ├── Sélection des Prefabs
|
|
│ └── Positionnement des Prefabs
|
|
└── Placement des Props
|
|
├── Végétation
|
|
└── Objets
|
|
```
|
|
|
|
## Vue d'Ensemble des Packages
|
|
|
|
| Package | Fichiers | Description |
|
|
|---------|----------|-------------|
|
|
| `loader/` | 75 | Système de chargement de monde |
|
|
| `util/` | 35 | Utilitaires de génération |
|
|
| `cave/` | 32 | Génération de grottes |
|
|
| `climate/` | 12 | Climat et biomes |
|
|
| `chunk/` | 12 | Génération de chunks |
|
|
| `prefab/` | 8 | Placement de structures |
|
|
| `zone/` | 7 | Définitions de zones |
|
|
| `cache/` | 7 | Cache de génération |
|
|
|
|
## Hytale Generator
|
|
|
|
Le générateur Hytale intégré fournit la génération de monde par défaut :
|
|
|
|
| Package | Fichiers | Description |
|
|
|---------|----------|-------------|
|
|
| `assets/` | 232 | Définitions d'assets générateur |
|
|
| `density/` | 76 | Fonctions de densité |
|
|
| `materialproviders/` | 29 | Sélection de blocs |
|
|
| `props/` | 24 | Placement de props |
|
|
| `patterns/` | 13 | Patterns de génération |
|
|
| `fields/` | 8 | Génération par champs |
|
|
|
|
## Exemple Rapide
|
|
|
|
```java
|
|
// Obtenir le générateur de monde
|
|
WorldGenerator generator = world.getGenerator();
|
|
|
|
// Générer un chunk
|
|
generator.generateChunk(chunkX, chunkZ);
|
|
|
|
// Obtenir le biome à une position
|
|
Biome biome = generator.getBiome(position);
|
|
|
|
// Vérifier si une structure peut être générée
|
|
boolean canPlace = generator.canPlacePrefab(prefab, position);
|
|
```
|
|
|
|
## Configuration
|
|
|
|
La génération de monde est configurée via des assets YAML :
|
|
|
|
```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
|
|
```
|