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,112 @@
---
title: Spawning
type: docs
weight: 6
---
Le systeme de spawning fournit une gestion complete du spawn de NPCs via des marqueurs, beacons, spawning mondial et mecaniques de suppression.
**Package:** `com.hypixel.hytale.server.spawning`
## Architecture
```
SpawningPlugin
├── Managers
│ ├── WorldSpawnManager - Spawning NPC niveau monde
│ ├── BeaconSpawnManager - Spawning base sur beacons
│ └── SpawnManager<W, S> - Manager de spawn de base
├── Assets
│ ├── SpawnMarker - Definitions de spawn marqueur
│ ├── SpawnSuppression - Zones de suppression
│ ├── WorldNPCSpawn - Configs spawn monde
│ └── BeaconNPCSpawn - Configs spawn beacon
├── Composants
│ ├── SpawnMarkerEntity - Donnees entite marqueur
│ ├── SpawnSuppressionComponent - Suppression entite
│ ├── LocalSpawnController - Spawning local joueur
│ ├── WorldSpawnData - Etat spawn monde
│ └── ChunkSpawnData - Etat spawn chunk
├── Controleurs
│ ├── SpawnController - Controleur de base
│ ├── BeaconSpawnController - Controleur beacon
│ └── LocalSpawnController - Controleur local
├── Systemes
│ ├── WorldSpawningSystem - Logique spawn monde
│ ├── SpawnMarkerSystems - Traitement marqueurs
│ ├── SpawnBeaconSystems - Traitement beacons
│ └── SpawnSuppressionSystems - Logique suppression
├── Interactions
│ └── TriggerSpawnMarkersInteraction
└── Commandes
└── SpawnCommand (enable, disable, beacons, markers, populate, stats, suppression)
```
## Types de Spawn
### Marqueurs de Spawn
Points de spawn statiques qui font apparaitre des NPCs avec timing de reapparition configurable:
```java
SpawnMarker marker = SpawnMarker.getAssetMap().getAsset("village_guard");
IWeightedMap<SpawnConfiguration> npcs = marker.getWeightedConfigurations();
```
**Emplacement Asset:** `NPC/Spawn/Markers/`
### Beacons de Spawn
Points de spawn dynamiques associes a des entites qui declenchent le spawning dans un rayon:
```java
BeaconSpawnManager manager = SpawningPlugin.get().getBeaconSpawnManager();
List<BeaconSpawnWrapper> beacons = manager.getBeaconSpawns(environmentId);
```
**Emplacement Asset:** `NPC/Spawn/Beacons/`
### Spawning Mondial
Spawning ambiant de NPCs base sur l'environnement et le biome:
```java
WorldSpawnManager manager = SpawningPlugin.get().getWorldSpawnManager();
```
**Emplacement Asset:** `NPC/Spawn/World/`
### Suppression de Spawn
Zones qui empechent le spawn de NPCs dans un rayon:
```java
SpawnSuppression suppression = SpawnSuppression.getAssetMap().getAsset("safe_zone");
double radius = suppression.getRadius();
int[] suppressedGroups = suppression.getSuppressedGroupIds();
```
**Emplacement Asset:** `NPC/Spawn/Suppression/`
## Commandes
| Commande | Description |
|----------|-------------|
| `/spawning enable [monde]` | Activer le spawning NPC dans le monde |
| `/spawning disable [monde]` | Desactiver le spawning NPC dans le monde |
| `/spawning beacons` | Gestion des spawn beacons |
| `/spawning markers` | Gestion des marqueurs de spawn |
| `/spawning populate` | Forcer la population de spawn |
| `/spawning stats` | Voir les statistiques de spawning |
| `/spawning suppression` | Gestion des zones de suppression |
**Alias:** `/sp`
## Contenu de la Section
{{< cards >}}
{{< card link="world-spawning" title="Spawning Mondial" subtitle="Spawning NPC base sur l'environnement" icon="globe" >}}
{{< card link="spawn-suppression" title="Suppression de Spawn" subtitle="Empecher les spawns dans des zones" icon="shield-exclamation" >}}
{{< card link="local-spawning" title="Spawning Local" subtitle="Spawning par proximite joueur" icon="user" >}}
{{< card link="spawner-assets" title="Assets Spawner" subtitle="Configuration marqueurs et beacons" icon="document-text" >}}
{{< /cards >}}