WorldGen
Modifier
Asset path: Server/WorldGen/Modifier/*.json
Asset type used to data-drive user modifications to world-gen-v1 assets
When set this asset will inherit properties from the named asset.
When inheriting from another WorldGenModifier 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
The order this modifier will be applied relative to others
Type information:
(Nullable) Any one of the following String (defaults to Normal):
| Name | Description |
|---|
"First" | |
"Early" | |
"Normal" | |
"Late" | |
"Last" | |
The target world-gen configuration to modify
Type information:
(Nullable) Configures the world-gen root and content path rules that should be targeted by the WorldGenModifier
Target with the following properties:
| Key | Type | Description |
|---|
| Root | (Nullable) String defaults to: Default | The name of the world-gen root configuration folder to target |
| Rules | (Nullable) Array of String | A list of glob-matching path rules to match world-gen asset files against |
List of operations to perform on the target
Type information:
(Nullable) Array of the type: Any of these:
Key: Type | Type |
|---|
| Add | Adds content to the target content list
AddOp
AddOp with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: Add | This field controls the type, it must be set to the constant value "Add" to function as this type. | | Content | (Nullable) Type Selector | Content to add to the target content list |
|
| Log | Log the filepath of the content container for a given content-type
LogOp
LogOp with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: Log | This field controls the type, it must be set to the constant value "Log" to function as this type. | | ContentType | (Nullable) Type (1) | The content-type to log the container of |
|
| Remove | Removes matching content from the target content list
RemoveOp
RemoveOp with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: Remove | This field controls the type, it must be set to the constant value "Remove" to function as this type. | | ContentType | (Nullable) Type (2) | The type of content to remove | | Rules | (Nullable) Array of String | List of glob-matching rules to match entries. Rules are only implemented for Prefab paths and CaveType names, but can be set to '*' to remove all entries of any content type |
|
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 |
Types referenced by this type
Any of these:
Key: Type | Type |
|---|
| BiomeCover | Define a block that will be placed on the surface of the terrain
BiomeCoverContent
BiomeCoverContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: BiomeCover | This field controls the type, it must be set to the constant value "BiomeCover" to function as this type. | | Entries | (Nullable) Array of the type: Entry | A list of blocks that can be placed as a cover | | NoiseMask | (Nullable) NoiseMask | A mask used to determine where the cover should be placed based on noise | | HeightMask | (Nullable) HeightMask | A mask used to determine where the cover should be placed based on height | | ParentMask | (Nullable) BlockMask | A mask used to filter which blocks can be covered | | Chance | Number defaults to: 1.0 | The random chance that the cover will be placed at a given position | | PlaceOnFluids | Boolean defaults to: false | Whether the cover should be placed on fluids |
|
| BiomeDynamicLayer | Define a layer that is placed relative to terrain surfaces and any other dynamic layers that apply before it
BiomeDynamicLayerContent
BiomeDynamicLayerContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: BiomeDynamicLayer | This field controls the type, it must be set to the constant value "BiomeDynamicLayer" to function as this type. | | NoiseMask | (Nullable) NoiseMask | The noise mask used to determine where the layer should be placed | | Entries | (Nullable) Array of the type: DynamicEntry | The entries contained within the layer | | Offset | (Nullable) HeightMask | The depth offset for the dynamic layer | | OffsetNoise | (Nullable) NoiseMask | The noise used to modulate the depth offset |
|
| BiomeFluid | Define a fluid that should generate between certain heights in the biome
BiomeFluidContent
BiomeFluidContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: BiomeFluid | This field controls the type, it must be set to the constant value "BiomeFluid" to function as this type. | | Fluid | (Nullable) Either String or FluidReference to a Fluid asset | The fluid type to place | | Block | (Nullable) Either String or BlockTypeReference to a BlockType asset | The block type to place in the fluid | | MinY | (Nullable) HeightMask | The minimum height that the fluid should generate at | | MinYNoise | (Nullable) NoiseMask | The noise used to modulate the min-y height | | MaxY | (Nullable) HeightMask | The maximum height that the fluid should generate at | | MaxYNoise | (Nullable) NoiseMask | The noise used to modulate the max-y height | | NoiseMask | (Nullable) NoiseMask | The noise mask used to determine where the fluid should be placed |
|
| BiomePrefab | Define a set of one or more prefabs that should be generated in the target biome(s) BiomePrefabContent |
| BiomeStaticLayer | Define a layer of material that generates between a static height range
BiomeStaticLayerContent
BiomeStaticLayerContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: BiomeStaticLayer | This field controls the type, it must be set to the constant value "BiomeStaticLayer" to function as this type. | | NoiseMask | (Nullable) NoiseMask | The noise mask used to determine where the layer should be placed | | Entries | (Nullable) Array of the type: StaticEntry | The entries contained within the layer |
|
| BiomeTint | Define a set of tints that should be applied to parts of the biome
BiomeTintContent
BiomeTintContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: BiomeTint | This field controls the type, it must be set to the constant value "BiomeTint" to function as this type. | | Entries | (Nullable) Array of the type: Entry | The list of weighted colors that will be selected from in order to tint parts of the world | | Noise | (Nullable) NoiseMask | The noise used to select a random tint from the entries list | | NoiseMask | (Nullable) NoiseMask | The noise mask determining where the tint should be applied in the world |
|
| CaveCover | Define a block that will be placed on the floor or ceiling of a cave
CaveCoverContent
CaveCoverContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: CaveCover | This field controls the type, it must be set to the constant value "CaveCover" to function as this type. | | Entries | (Nullable) Array of the type: Entry | A list of blocks that can be placed as a cover | | NoiseMask | (Nullable) NoiseMask | A mask used to determine where the cover should be placed based on noise | | HeightMask | (Nullable) HeightMask | A mask used to determine where the cover should be placed based on height | | ParentMask | (Nullable) BlockMask | A mask used to filter which blocks can be covered | | Chance | Number defaults to: 1.0 | The random chance that the cover will be placed at a given position | | Placement | (Nullable) CaveNodeCoverType | The side of the cave where the cover should be placed |
|
| CavePrefab | Define a set of one or more prefabs that should be generated in the target cave(s)
CavePrefabContent
CavePrefabContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: CavePrefab | This field controls the type, it must be set to the constant value "CavePrefab" to function as this type. | | Prefabs | (Nullable) Array of the type: Entry | Weighted list of prefab paths to randomly choose from | | BlockMask | (Nullable) BlockMask | The types of blocks that the prefab's blocks can replace | | NoiseMask | (Nullable) NoiseMask | The horizontal noise mask for the prefab placement position | | HeightMask | (Nullable) HeightMask | The height range mask for the prefab placement position | | OffsetY | Integer defaults to: 0 | The vertical offset for the prefab placement position | | Rotations | (Nullable) Array of the type: PrefabRotation | The rotation directions that the prefab can be randomly placed in | | Environment | (Nullable) Environment | The environment to place where the prefab is placed | | Placement | (Nullable) CavePrefabPlacement | The cave prefab placement mode | | Iterations | (Nullable) IntRange | The iteration range for cave prefab placement |
|
| CaveType | CaveTypeContent
CaveTypeContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: CaveType | This field controls the type, it must be set to the constant value "CaveType" to function as this type. | | Name | (Nullable) String defaults to: | The name of the cave type | | PointGrid | (Nullable) PointGrid | The point grid configuration controlling where the cave starting points are placed horizontally | | HeightRange | (Nullable) HeightMask | The height range within which the cave type can be placed | | BlockMask | (Nullable) BlockMask | The block and fluid types that this cave type can replace | | Generator | (Nullable) OreCluster | The generator configuration for this cave type |
|
| File | File content to be loaded and added to the target content list
FileContent
FileContent with the following properties:
| Key | Type | Description |
|---|
| Type | Constant value: File | This field controls the type, it must be set to the constant value "File" to function as this type. | | ContentType | (Nullable) Type | The type of the content to load | | Path | (Nullable) String defaults to: | A dot-separated path to a content file within the target world-gen root folder |
|
(Nullable) Any one of the following String (defaults to Floor):
| Name | Description |
|---|
"Floor" | |
"Ceiling" | |
Any one of the following String:
| Name | Description |
|---|
"Rotation0" | |
"Rotation90" | |
"Rotation180" | |
"Rotation270" | |
(Nullable) Any one of the following String (defaults to Floor):
| Name | Description |
|---|
"Ceiling" | |
"Floor" | |
"Default" | |
(Nullable) Any one of the following String (defaults to None):
| Name | Description |
|---|
"None" | |
"BiomeCover" | |
"BiomeEnvironment" | |
"BiomeFluid" | |
"BiomeDynamicLayer" | |
"BiomeStaticLayer" | |
"BiomePrefab" | |
"BiomeTint" | |
"CaveType" | |
"CaveCover" | |
"CavePrefab" | |
(Nullable) Any one of the following String (defaults to None):
| Name | Description |
|---|
"None" | |
"BiomeCover" | |
"BiomeEnvironment" | |
"BiomeFluid" | |
"BiomeDynamicLayer" | |
"BiomeStaticLayer" | |
"BiomePrefab" | |
"BiomeTint" | |
"CaveType" | |
"CaveCover" | |
"CavePrefab" | |
(Nullable) Any one of the following String (defaults to None):
| Name | Description |
|---|
"None" | |
"BiomeCover" | |
"BiomeEnvironment" | |
"BiomeFluid" | |
"BiomeDynamicLayer" | |
"BiomeStaticLayer" | |
"BiomePrefab" | |
"BiomeTint" | |
"CaveType" | |
"CaveCover" | |
"CavePrefab" | |