3.7 KiB
title, type, weight
| title | type | weight |
|---|---|---|
| Spawning | docs | 6 |
The spawning system provides comprehensive NPC spawn management through markers, beacons, world spawning, and suppression mechanics.
Package: com.hypixel.hytale.server.spawning
Architecture
SpawningPlugin
├── Managers
│ ├── WorldSpawnManager - World-level NPC spawning
│ ├── BeaconSpawnManager - Beacon-based spawning
│ └── SpawnManager<W, S> - Base spawn manager
├── Assets
│ ├── SpawnMarker - Marker spawn definitions
│ ├── SpawnSuppression - Suppression zones
│ ├── WorldNPCSpawn - World spawn configs
│ └── BeaconNPCSpawn - Beacon spawn configs
├── Components
│ ├── SpawnMarkerEntity - Marker entity data
│ ├── SpawnSuppressionComponent - Entity suppression
│ ├── LocalSpawnController - Player-local spawning
│ ├── WorldSpawnData - World spawn state
│ └── ChunkSpawnData - Chunk spawn state
├── Controllers
│ ├── SpawnController - Base controller
│ ├── BeaconSpawnController - Beacon controller
│ └── LocalSpawnController - Local controller
├── Systems
│ ├── WorldSpawningSystem - World spawn logic
│ ├── SpawnMarkerSystems - Marker processing
│ ├── SpawnBeaconSystems - Beacon processing
│ └── SpawnSuppressionSystems - Suppression logic
├── Interactions
│ └── TriggerSpawnMarkersInteraction
└── Commands
└── SpawnCommand (enable, disable, beacons, markers, populate, stats, suppression)
Spawn Types
Spawn Markers
Static spawn points that spawn NPCs with configurable respawn timing:
SpawnMarker marker = SpawnMarker.getAssetMap().getAsset("village_guard");
IWeightedMap<SpawnConfiguration> npcs = marker.getWeightedConfigurations();
Asset Location: NPC/Spawn/Markers/
Spawn Beacons
Dynamic spawn points associated with entities that trigger spawning in a radius:
BeaconSpawnManager manager = SpawningPlugin.get().getBeaconSpawnManager();
List<BeaconSpawnWrapper> beacons = manager.getBeaconSpawns(environmentId);
Asset Location: NPC/Spawn/Beacons/
World Spawning
Ambient NPC spawning based on environment and biome:
WorldSpawnManager manager = SpawningPlugin.get().getWorldSpawnManager();
Asset Location: NPC/Spawn/World/
Spawn Suppression
Zones that prevent NPC spawning within a radius:
SpawnSuppression suppression = SpawnSuppression.getAssetMap().getAsset("safe_zone");
double radius = suppression.getRadius();
int[] suppressedGroups = suppression.getSuppressedGroupIds();
Asset Location: NPC/Spawn/Suppression/
Commands
| Command | Description |
|---|---|
/spawning enable [world] |
Enable NPC spawning in world |
/spawning disable [world] |
Disable NPC spawning in world |
/spawning beacons |
Beacon spawn management |
/spawning markers |
Spawn marker management |
/spawning populate |
Force spawn population |
/spawning stats |
View spawning statistics |
/spawning suppression |
Suppression zone management |
Alias: /sp
Section Contents
{{< cards >}} {{< card link="world-spawning" title="World Spawning" subtitle="Environment-based NPC spawning" icon="globe" >}} {{< card link="spawn-suppression" title="Spawn Suppression" subtitle="Prevent spawns in areas" icon="shield-exclamation" >}} {{< card link="local-spawning" title="Local Spawning" subtitle="Player-proximity spawning" icon="user" >}} {{< card link="spawner-assets" title="Spawner Assets" subtitle="Markers and beacons configuration" icon="document-text" >}} {{< /cards >}}