---
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 >}}
