WorldEvent
Stage
Asset path: Server/WorldEvent/Stage/*.json
Represents a step in a world-event's timeline. May consist of multiple different forks that are taken depending on their conditions.
When set this asset will inherit properties from the named asset.
When inheriting from another StageAsset 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 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 |
List of forks for the stage. Whichever fork's conditions complete first will be selected to run its actions and 'next' stage (if present).
Type information:
(Nullable) Array of the type:
Config with the following properties:
| Key | Type | Description |
|---|
| Conditions | (Nullable) Array of the type: Type Selector | List of conditions that must be met for the fork to complete. |
| Actions | (Nullable) Array of the type: Type Selector (3) | List of actions that will be run once the fork has completed. |
| Next | (Nullable) Either String or StageAssetReference to a StageAsset asset | The next stage to run once this fork has completed. |
| Mode | Any one of the following String (defaults to Continue):
Mode
| Name | Description |
|---|
"Continue" | Continues the event to its next stage. The event may terminate or restart if at its final stage. | "Complete" | Ends and removes the event as having completed successfully. | "Restart" | Restarts the event from its root stage. This mode does not consume the event's retry or repeat budget. |
| How the event proceeds once this fork has completed. |
Types referenced by this type
Any of these:
Key: Type | Type |
|---|
| EnterPortalCondition | A condition that is completed once a portal has been entered by a player.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: EnterPortalCondition | This field controls the type, it must be set to the constant value "EnterPortalCondition" to function as this type. | | WorldKey | (Nullable) String | Define the world variable name that other conditions and actions can reference |
|
| EventEndCondition | Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: EventEndCondition | This field controls the type, it must be set to the constant value "EventEndCondition" to function as this type. | | EventKey | (Nullable) String | The variable name of the event that this condition should wait for to end. | | EndMode | (Nullable) EndMode | Controls what should be considered the end of the event. |
|
| GameFlagLevelCondition | A condition that completes once a GameFlag has been raised or set to a particular level.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: GameFlagLevelCondition | This field controls the type, it must be set to the constant value "GameFlagLevelCondition" to function as this type. | | Flag | String that matches the pattern: [^\s] and is at least 1 characters long defaults to: | The name of the GameFlag to check. Case sensitive. Must not be an empty string. | | Level | Integer defaults to: 0 | The level to compare the GameFlag's current value against. This level is used as the right-hand operand of the comparison (for example: value < level). | | Comparator | ComparisonOperator | The comparison operator to apply to the GameFlag's current value (left-hand operand) and the level (right-hand operand). |
|
| IntervalCondition | A condition that completes after a configurable time interval.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: IntervalCondition | This field controls the type, it must be set to the constant value "IntervalCondition" to function as this type. | | IntervalKey | (Nullable) String | Define a variable name for this interval timer that other actions and conditions can refer to. | | MinSeconds | (Nullable) Number | The minimum duration of the interval in seconds. | | MaxSeconds | (Nullable) Number | The maximum duration of the interval in seconds. | | ShowOnMap | Boolean defaults to: false | Show the event on the map list, with this interval as the countdown. Set it on the interval that waits for the next occurrence. | | MapIntervalKey | (Nullable) String | The translation key of the interval text the map list shows for this interval. It takes a 'time' parameter. If null, it defaults to the generic countdown text. |
|
| LocationCondition | A condition that completes once it has found a suitable location to spawn content at.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: LocationCondition | This field controls the type, it must be set to the constant value "LocationCondition" to function as this type. | | LocationKey | (Nullable) String | Define the location variable name that this condition has found and that can be referenced by other conditions and actions. | | LocationType | (Nullable) Type Selector (1) | The location configuration used to determine where the content will be spawned. | | Content | (Nullable) Array of the type: Either Config or Config | A list of different types of content to spawn at the given location. | | Clearance | Integer defaults to: 2 | The number of open blocks required above a candidate surface for it to be considered valid. | | SearchRadius | Integer defaults to: 16 | The maximum number of blocks to search in either direction from a candidate's own Y when looking for a nearby surface. |
|
default case: None | Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | (Nullable) String | This field controls the type, it must be set to the constant value "None" to function as this type. |
|
| ProximityCondition | An event condition that completes once one or more players have entered proximity of a given location.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: ProximityCondition | This field controls the type, it must be set to the constant value "ProximityCondition" to function as this type. | | LocationKey | (Nullable) String | The variable name of the location to check player proximity to. | | Radius | Number defaults to: 10.0 | The radius around the location that one or more players must be within to complete the condition. | | Invert | Boolean defaults to: false | Inverts the result so that it completes once there are no players within proximity of the location. |
|
| SignalCondition | A condition that completes when a matching world-event signal is received, for example from an encounter's SignalWorldEvent action.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: SignalCondition | This field controls the type, it must be set to the constant value "SignalCondition" to function as this type. | | SignalId | String | The signal id this condition waits for. Must match the id sent by the producer. |
|
| TimeCondition | A condition that completes once the world time is at or past a target day, hour and minute. The parts are compared in order: day, then hour, then minute. Set a part to -1 to ignore it. If the day is not set, the target is a time of day, so the condition can complete again each day when its stage repeats. Once complete, the condition stays complete until the stage restarts.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: TimeCondition | This field controls the type, it must be set to the constant value "TimeCondition" to function as this type. | | Day | Integer defaults to: -1 | The absolute world day to wait for. The value counts the days since the start of the world, so the first day is day 0. Set -1 to ignore the day. | | Hour | Integer defaults to: -1 | The hour of the day to wait for, from 0 to 23. Set -1 to ignore the hour. | | Minute | Integer defaults to: -1 | The minute of the hour to wait for, from 0 to 59. Set -1 to ignore the minute. |
|
| WorldClosedCondition | A condition that completes when a given world is closed and unloaded.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: WorldClosedCondition | This field controls the type, it must be set to the constant value "WorldClosedCondition" to function as this type. | | WorldKey | (Nullable) String | The variable name of the world to check is closed and unloaded. | | LoadTimeoutSeconds | (Nullable) Either Number defaults to: 10.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | Initial amount of time to wait for the target world to load. This prevents the condition completing immediately when the world is slow to load. |
|
(Nullable) Any one of the following String (defaults to Termination):
| Name | Description |
|---|
"Iteration" | Condition completes whenever the referenced event reaches the end of an iteration, including its final one. |
"Termination" | Condition completes when the referenced event terminates, either after its final iteration or through a fork with 'Mode': Complete. |
Any one of the following String (defaults to GreaterThan):
| Name | Description |
|---|
"LessThan" | |
"LessOrEqual" | |
"GreaterThan" | |
"GreaterOrEqual" | |
"Equal" | |
"NotEqual" | |
Any of these:
Key: Type | Type |
|---|
| BiomeLocationV1 | An EventLocation that filters the output of another EventLocation, restricting locations to specific world-gen-v1 Biomes.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: BiomeLocationV1 | This field controls the type, it must be set to the constant value "BiomeLocationV1" to function as this type. | | Rules | (Nullable) Array of the type: Rule | A list of biome rules that candidate locations must match. May be omitted to match all biomes. | | Location | Type Selector (2) | The EventLocation configuration to filter the output of. |
|
default case: None | Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | (Nullable) String | This field controls the type, it must be set to the constant value "None" to function as this type. |
|
| WildernessLocation | An event location finds random wilderness positions nearby a player.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: WildernessLocation | This field controls the type, it must be set to the constant value "WildernessLocation" to function as this type. | | MinHorizontalDistance | Integer defaults to: 32 | Minimum horizontal distance from the player in blocks. | | MaxHorizontalDistance | Integer defaults to: 64 | Maximum horizontal distance from the player in blocks. | | MinVerticalDistance | Integer defaults to: 0 | Minimum vertical distance from the player in blocks. | | MaxVerticalDistance | Integer defaults to: 32 | Maximum vertical distance from the player in blocks. |
|
Any of these:
Key: Type | Type |
|---|
| BiomeLocationV1 | An EventLocation that filters the output of another EventLocation, restricting locations to specific world-gen-v1 Biomes.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: BiomeLocationV1 | This field controls the type, it must be set to the constant value "BiomeLocationV1" to function as this type. | | Rules | (Nullable) Array of the type: Rule | A list of biome rules that candidate locations must match. May be omitted to match all biomes. | | Location | Type Selector (2) | The EventLocation configuration to filter the output of. |
|
default case: None | Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | (Nullable) String | This field controls the type, it must be set to the constant value "None" to function as this type. |
|
| WildernessLocation | An event location finds random wilderness positions nearby a player.
Config
Config with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: WildernessLocation | This field controls the type, it must be set to the constant value "WildernessLocation" to function as this type. | | MinHorizontalDistance | Integer defaults to: 32 | Minimum horizontal distance from the player in blocks. | | MaxHorizontalDistance | Integer defaults to: 64 | Maximum horizontal distance from the player in blocks. | | MinVerticalDistance | Integer defaults to: 0 | Minimum vertical distance from the player in blocks. | | MaxVerticalDistance | Integer defaults to: 32 | Maximum vertical distance from the player in blocks. |
|
Any of these:
Key: Type | Type |
|---|
| EffectsAction |
EffectsAction
EffectsAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: EffectsAction | This field controls the type, it must be set to the constant value "EffectsAction" to function as this type. | | LocationKey | String | The variable name of the location to spawn the effects at. | | Radius | Integer defaults to: 0 | The radius around the origin position within which players will receive the effects. | | Shape | Either Point or Ring | The shape at or around the origin position that the effects will be spawned at. | | CameraFX | (Nullable) CameraFX | The camera effect to send to nearby players. | | SoundFX | (Nullable) SoundFX | The sound effect to send to nearby players. | | VisualFX | (Nullable) VisualFX | The visual effect to send to nearby players. |
|
| EventStartAction |
EventStartAction
EventStartAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: EventStartAction | This field controls the type, it must be set to the constant value "EventStartAction" to function as this type. | | EventKey | String | Define the variable name that other actions and conditions can reference. | | Event | (Nullable) WorldEventRecord | The world-event asset to start. | | Detach | Boolean defaults to: false | Whether the new event should run detached from the parent. If false, the child event will be terminated when the parent event ends. |
|
| EventStopAction |
EventStopAction
EventStopAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: EventStopAction | This field controls the type, it must be set to the constant value "EventStopAction" to function as this type. | | EventKey | String | The variable name of the event that this action should stop |
|
| GlobalEventStartAction |
GlobalEventStartAction
GlobalEventStartAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: GlobalEventStartAction | This field controls the type, it must be set to the constant value "GlobalEventStartAction" to function as this type. | | Id | String | The UUID of the world-event to start, as defined in the world's GameplayConfig. | | Fail | Boolean defaults to: false | Determines whether the action should fail if the global event was not started by this action (eg was already started). |
|
| GlobalEventStopAction |
GlobalEventStopAction
GlobalEventStopAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: GlobalEventStopAction | This field controls the type, it must be set to the constant value "GlobalEventStopAction" to function as this type. | | Id | String | The UUID of the world-event to stop, as defined in the world's GameplayConfig. | | Fail | Boolean defaults to: false | Determines whether the action should fail if the global event was not stopped by this action (eg was already stopped). |
|
| MapMarkerOverrideAddAction |
MapMarkerOverrideAddAction
MapMarkerOverrideAddAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: MapMarkerOverrideAddAction | This field controls the type, it must be set to the constant value "MapMarkerOverrideAddAction" to function as this type. | | MarkerKey | String | The variable name for the marker override that other actions and conditions can reference. | | Name | String that matches the pattern: [^\s] and is at least 1 characters long | The name of the map marker to override. | | Icon | (Nullable) String | Optionally override the icon of the map marker. | | DisplayName | (Nullable) String | Optionally override the name of the map marker with this localization key. | | Global | Boolean | Optionally override whether the map marker shows globally to all players (TRUE) or only to players within view-distance (FALSE). |
|
| MapMarkerOverrideRemoveAction |
MapMarkerOverrideRemoveAction
MapMarkerOverrideRemoveAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: MapMarkerOverrideRemoveAction | This field controls the type, it must be set to the constant value "MapMarkerOverrideRemoveAction" to function as this type. | | MarkerKey | String | The variable name for the marker override that other actions and conditions can reference. |
|
| MessageAction |
MessageAction
MessageAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: MessageAction | This field controls the type, it must be set to the constant value "MessageAction" to function as this type. | | Message | FormattedMessage | The chat message broadcast to every player in the world when this action runs. |
|
default case: None | An action that does nothing.
NoAction
NoAction with the following properties:
| Key | Type | Description |
|---|
| Type | (Nullable) String | This field controls the type, it must be set to the constant value "None" to function as this type. |
|
| PrefabPasteAction |
PrefabPasteAction
PrefabPasteAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: PrefabPasteAction | This field controls the type, it must be set to the constant value "PrefabPasteAction" to function as this type. | | PrefabKey | String | The variable name of the prefab that this action should paste. | | Permanent | Boolean defaults to: false | Whether the prefab should be pasted permanently in the world. If false, the prefab and its entities will be removed the world rolled back to its previous state when the event ends. |
|
| PrefabRemoveAction |
PrefabRemoveAction
PrefabRemoveAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: PrefabRemoveAction | This field controls the type, it must be set to the constant value "PrefabRemoveAction" to function as this type. | | PrefabKey | String | The variable name of the prefab that this action should remove. |
|
| ShowEventTitleAction | An action that shows an event title to players near a location. ShowEventTitleAction |
| TriggerVolumeCreateAction |
TriggerVolumeCreateAction
TriggerVolumeCreateAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: TriggerVolumeCreateAction | This field controls the type, it must be set to the constant value "TriggerVolumeCreateAction" to function as this type. | | LocationKey | String | The variable name of the location to create the trigger volume at. | | VolumeKey | String | The variable name to assign the trigger volume that other conditions and actions can reference. | | Offset | (Nullable) Vector3d | The position offset to apply to the trigger volume. Can be omitted. | | Volume | TriggerVolume | The configuration of the trigger volume. GroupLinkId is ignored: the action places one independent volume, so there is no group to link it to. To place a group, paste a prefab that holds the volumes and their group. |
|
| TriggerVolumeRemoveAction |
TriggerVolumeRemoveAction
TriggerVolumeRemoveAction with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: TriggerVolumeRemoveAction | This field controls the type, it must be set to the constant value "TriggerVolumeRemoveAction" to function as this type. | | VolumeKey | String | The variable name of the trigger volume to remove. |
|
The chat message broadcast to every player in the world when this action runs.
FormattedMessage with the following properties:
| Key | Type | Description |
|---|
| RawText | (Nullable) String | |
| MessageId | (Nullable) String | |
| Params | (Nullable) Map of the following:
Map
| |
| MessageParams | (Nullable) Map of the following:
Map
| |
| Children | (Nullable) Array of the type: FormattedMessage | |
| Bold | (Nullable) (Nullable) Boolean | |
| Italic | (Nullable) (Nullable) Boolean | |
| Monospace | (Nullable) (Nullable) Boolean | |
| Underline | (Nullable) (Nullable) Boolean | |
| Strikethrough | (Nullable) (Nullable) Boolean | |
| Color | (Nullable) String | |
| Link | (Nullable) String | |
Any of these:
| Type |
|---|
Boolean |
Number |
Integer |
String |