Markers
Asset path: Server/NPC/Spawn/Markers/*.json
A marker designed to spawn NPCs with its current position and rotation. When the NPC dies, a new NPC will spawn after a defined cooldown. This cooldown can be specified either in terms of game time or real time and begins to count down from the moment the mob dies.
Parent
When set this asset will inherit properties from the named asset.
When inheriting from another SpawnMarker most properties will simply be copied from the parent asset to this asset. In the case where both child and parent provide a field the child field will simply replace the value provided by the parent, in the case of nested structures this will apply to the fields within the structure. In some cases the field may decide to act differently, for example: by merging the parent and child fields together.
Type information: String
Tags
Tags are a general way to describe an asset that can be interpreted by other systems in a way they see fit.
For example you could tag something with a Material tag with the values Solid and Stone, And another single tag Ore.
Tags will be expanded into a single list of tags automatically. Using the above example with Material and Ore the end result would be the following list of tags: Ore, Material, Solid, Stone, Material=Solid and Material=Stone.
Type information:
(Nullable) Map of the following:
| Key | Type |
|---|---|
any String | Array of String |
Model
The optional visual representation to use in the world when in creative mode (this has a default value which can be specified using DefaultSpawnMarkerModel in the server config for the spawning plugin).
Type information: (Nullable) String
Reference to a ModelAsset asset
NPCs
A weighted list of NPCs and their configurations.
Type information:
Array of the type: A configuration for an individual weighted NPC to spawn. Note: At least one of RealtimeRespawnTime and SpawnAfterGameTime must be set, matching the RealtimeRespawn flag on the marker.
SpawnConfiguration with the following properties:
| Key | Type | Description |
|---|---|---|
| Name | (Nullable) String that matches the pattern: [^\s] and is at least 1 characters long | The role name of the NPC to spawn (omitting this results in a no-op spawn, i.e. a weighted chance of spawning nothing). |
| Weight | Number defaults to: 0.0 | The spawn chance, relative to the total sum of all weights in this pool. |
| RealtimeRespawnTime | Number defaults to: 0.0 | A value in seconds that specifies how long after the death of this mob a new mob will be spawned. |
| SpawnAfterGameTime | (Nullable) String | A Duration string e.g. of form P2DT3H4M (2 days, 3 hours, and 4 minutes) that specifies how long after the death of this mob a new mob will be spawned based on in-game time. |
| Flock | (Nullable) Either String or FlockAsset | The optional flock definition to spawn around this NPC. |
ExclusionRadius
A radius used to prevent a marker from spawning new NPCs if a player in adventure mode is within range.
Type information: Number defaults to: 0.0
MaxDropHeight
A maximum offset from the marker's position at which the mob can be spawned. Ground mobs are spawned directly on the ground, so if the marker is high in the air due to the building having been destroyed, if the distance between the marker and the ground is greater than this, the marker will not spawn mobs.
Type information: Number defaults to: 2.0
RealtimeRespawn
Whether to use real time or game time for the respawn timer.
Type information: Boolean defaults to: false
ManualTrigger
Indicates if the spawn marker has to be triggered manually or not.
Type information: Boolean defaults to: false
DeactivationDistance
If no players are inside this range, the spawn marker will deactivate and store its NPCs once this distance is exceeded.
Type information: Number defaults to: 40.0
DeactivationTime
The delay before deactivation happens when no players are in range.
Type information: Number defaults to: 5.0
ValidatePosition
Whether a position validation should be performed or not
Type information: Boolean defaults to: true
ValidateBelowPosition
Whether a check should be performed if only empty space is below spawner position
Type information: Boolean defaults to: true
RequireFitAtMarkerHeight
Whether the NPC must fit in a vertical span that contains the marker Y. When false, the search can use the nearest span that is tall enough.
Type information: Boolean defaults to: false
MaxHorizontalSpawnOffset
The maximum distance to search for a spawn position along the marker orientation.
Type information: Number defaults to: 0.0
SpawnPositionSearch
The algorithm used to search for NPC spawn positions.
Type information:
(Nullable) Any one of the following String (defaults to Line):
| Name | Description |
|---|---|
"Line" | |
"Range" |
SpawnPositionSearchDebug
The optional diagnostic output produced by a range search.
Type information:
(Nullable) Array of the type: Any one of the following String:
| Name | Description |
|---|---|
"Summary" | |
"Map" |
BlockOverlapHeightCompensation
If spawn marker is stuck inside a block this is the maximum height which can be auto corrected to leave the spawn marker valid
Type information: Number defaults to: 1.0
