Init
This commit is contained in:
112
content/world/entities/spawning/_index.en.md
Normal file
112
content/world/entities/spawning/_index.en.md
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: Spawning
|
||||
type: docs
|
||||
weight: 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:
|
||||
|
||||
```java
|
||||
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:
|
||||
|
||||
```java
|
||||
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:
|
||||
|
||||
```java
|
||||
WorldSpawnManager manager = SpawningPlugin.get().getWorldSpawnManager();
|
||||
```
|
||||
|
||||
**Asset Location:** `NPC/Spawn/World/`
|
||||
|
||||
### Spawn Suppression
|
||||
|
||||
Zones that prevent NPC spawning within a radius:
|
||||
|
||||
```java
|
||||
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 >}}
|
||||
Reference in New Issue
Block a user