Files
Documentation/content/world/entities/spawning/_index.en.md
2026-01-20 20:33:59 +01:00

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