CaveTypes
Asset path: Server/WorldGen/CaveTypes/*.json
Parent
When set this asset will inherit properties from the named asset.
When inheriting from another CaveTypeAsset 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 |
CaveConfigs
The inherited cave configuration memberships for this cave type. An empty array attaches it to no configurations.
Type information:
(Nullable) Array of the type:
CaveConfigMembership with the following properties:
| Key | Type | Description |
|---|---|---|
| CaveConfig | (Nullable) String that matches the pattern: [^\s] and is at least 1 characters long defaults to: | The required nonempty, case-sensitive cave configuration name. Configurations are created automatically. |
| Order | Integer | The nonnegative converter position within this cave configuration. It is honored only when ConvertedPin is true. |
| ConvertedPin | Boolean defaults to: false | Whether the adjacent Order enters the converted partition. The converter writes this marker. The default is false. |
Name
The runtime and diagnostic name of this cave type.
Type information: (Nullable) String defaults to: ``
SeedName
The unquoted cave seed name. The build adds JSON string quotes and escapes for converted and native types. Preserve this value after renaming.
Type information: (Nullable) String defaults to: ``
Entry
The CaveNode asset key used as this cave type's entry node.
Type information: (Nullable) String defaults to: ``
Reference to a CaveNodeAsset asset
EntryPoints
The point generator that supplies cave entrance locations.
Type information:
(Nullable)
PointGeneratorValue with the following properties:
| Key | Type | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Seed | (Nullable) String | The seed label for candidate-point generation. If absent, the parent seed is used. | ||||||||||||||||||
| Scale | Number | The coordinate scale of the point grid. If absent, the grid is not scaled. | ||||||||||||||||||
| Randomizer | (Nullable)
CoordinateRandomizerValue
| The optional noise-based displacement of candidate points. | ||||||||||||||||||
| Offset | Number | The common coordinate offset for all axes. The default is zero. | ||||||||||||||||||
| OffsetX | Number | The X-coordinate offset, overriding Offset for the X axis. | ||||||||||||||||||
| OffsetY | Number | The Y-coordinate offset, overriding Offset for the Y axis. | ||||||||||||||||||
| OffsetZ | Number | The Z-coordinate offset, overriding Offset for the Z axis. | ||||||||||||||||||
| Rotate | (Nullable)
CoordinateRotatorValue
| The optional coordinate rotation applied to the point grid. | ||||||||||||||||||
| CellType | (Nullable) String | The point-grid cell geometry. The default is SQUARE. | ||||||||||||||||||
| DistanceMode | (Nullable) String | The point-distance formula. The default is EUCLIDEAN. | ||||||||||||||||||
| Density | (Nullable) Type 0 | The optional condition controlling which candidate points remain active. | ||||||||||||||||||
| DistanceRange | (Nullable) Type 1 | The optional random modifier added to candidate-point distances. | ||||||||||||||||||
| Skip | (Nullable) Integer | The number of nearer candidate points skipped. The default is zero. | ||||||||||||||||||
| SkipMode | (Nullable) String | The strategy used to skip candidate points. The default is CHECKERBOARD. | ||||||||||||||||||
| Jitter | Number | The common candidate-point jitter for all axes. The default is 1. | ||||||||||||||||||
| JitterX | Number | The X-axis point jitter, overriding Jitter. | ||||||||||||||||||
| JitterY | Number | The Y-axis point jitter, overriding Jitter. | ||||||||||||||||||
| JitterZ | Number | The Z-axis point jitter, overriding Jitter. |
Yaw
The random entrance yaw in degrees. The default range is -180 through 180.
Type information:
(Nullable) Any of these:
| Type | ||||
|---|---|---|---|---|
Number | ||||
Array of Number | ||||
Map of the following:
Map
|
Pitch
The random entrance pitch in degrees. The default is -15.
Type information:
(Nullable) Any of these:
| Type | ||||
|---|---|---|---|---|
Number | ||||
Array of Number | ||||
Map of the following:
Map
|
Depth
The random entrance depth below the sampled surface, in blocks. The default is 80.
Type information:
(Nullable) Any of these:
| Type | ||||
|---|---|---|---|---|
Number | ||||
Array of Number | ||||
Map of the following:
Map
|
HeightRadiusFactor
The surface-height profile that scales cave radii.
Type information:
(Nullable) Either
BasicHeightThresholdValue with the following properties:
| Key | Type | Description |
|---|---|---|
| Type | Constant value: Basic | This field controls the type, it must be set to the constant value "Basic" to function as this type. |
| Positions | (Nullable) Array of Integer | The ordered world Y coordinates for height interpolation. The array must match Values in length. |
| Values | (Nullable) Array of Number | The condition values at corresponding Positions entries. The array must match Positions in length. |
or
NoiseHeightThresholdValue with the following properties:
| Key | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Type | Constant value: Noise | This field controls the type, it must be set to the constant value "Noise" to function as this type. | |||||||||
| Noise | (Nullable) Either String or NoiseAsset | The noise that selects a nested height threshold. | |||||||||
| Keys | (Nullable) Array of Number | The ordered noise values mapped to Thresholds entries. The array must match Thresholds in length. | |||||||||
| Thresholds | (Nullable) Array of the type:
IndexedHeightThresholdValue
| The height thresholds corresponding by index to Keys entries. |
BiomeMask
The optional biome rules controlling cave carving and population.
Type information:
(Nullable)
CaveBiomeMaskValue with the following properties:
| Key | Type | Description |
|---|---|---|
| Generate | (Nullable) Array of String | The biome rules where cave carving can continue. If absent or empty, all biomes are allowed. |
| Populate | (Nullable) Array of String | The biome rules where cave contents can populate. If absent or empty, all biomes are allowed. |
| Terminate | Boolean defaults to: false | Whether a failed mask stops later cave processing. The default is false. |
BlockMask
The optional Replacement block mask key or inline asset used for cave carving.
Type information:
(Nullable) Either String or BlockMask
Reference to a BlockMask asset
BlockMaskCacheKey
The optional cache key shared by equivalent cave block masks.
Type information: (Nullable) String
NoiseMask
The optional noise condition for cave entrance placement.
Type information:
(Nullable)
NoiseConditionValue with the following properties:
| Key | Type | Description |
|---|---|---|
| Noise | (Nullable) Either String or NoiseAsset | The noise evaluated by this condition. |
| Threshold | (Nullable) Type 2 | The accepted noise value or ranges. |
HeightThreshold
The optional world-height condition for cave entrance placement.
Type information:
(Nullable) Either
BasicHeightThresholdValue with the following properties:
| Key | Type | Description |
|---|---|---|
| Type | Constant value: Basic | This field controls the type, it must be set to the constant value "Basic" to function as this type. |
| Positions | (Nullable) Array of Integer | The ordered world Y coordinates for height interpolation. The array must match Values in length. |
| Values | (Nullable) Array of Number | The condition values at corresponding Positions entries. The array must match Positions in length. |
or
NoiseHeightThresholdValue with the following properties:
| Key | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Type | Constant value: Noise | This field controls the type, it must be set to the constant value "Noise" to function as this type. | |||||||||
| Noise | (Nullable) Either String or NoiseAsset | The noise that selects a nested height threshold. | |||||||||
| Keys | (Nullable) Array of Number | The ordered noise values mapped to Thresholds entries. The array must match Thresholds in length. | |||||||||
| Thresholds | (Nullable) Array of the type:
IndexedHeightThresholdValue
| The height thresholds corresponding by index to Keys entries. |
FixedEntryHeight
The optional absolute world Y range used for cave entrances.
Type information:
(Nullable) Any of these:
| Type | ||||
|---|---|---|---|---|
Number | ||||
Array of Number | ||||
Map of the following:
Map
|
FixedEntryHeightNoise
The optional noise that modifies FixedEntryHeight.
Type information:
(Nullable) Either String or NoiseAsset
Reference to a NoiseAsset asset
FluidLevel
The optional block or fluid filled at or below a fixed world Y level.
Type information:
(Nullable)
FluidLevelValue with the following properties:
| Key | Type | Description |
|---|---|---|
| Block | (Nullable) String | The block filled at or below Height. |
| Fluid | (Nullable) String | The fluid filled at or below Height. |
| Height | (Nullable) Integer | Highest absolute world Y coordinate filled by this entry. |
Environment
The optional environment key assigned inside this cave type.
Type information: (Nullable) String
SurfaceLimited
Whether cave growth is limited by the terrain surface. The default is true.
Type information: Boolean defaults to: true
Submerge
Whether cave prefab blocks become fluid-fillable by water population. The default is false.
Type information: Boolean defaults to: false
MaximumSize
The maximum cave extent in blocks. The default is the floored entry-point interval.
Type information: (Nullable) Integer
Notes:
Types referenced by this type
Type 0
Any of these:
| Type |
|---|
Number |
Array of Number |
Array of Array of Number |
Type 1
Any of these:
| Type | ||||
|---|---|---|---|---|
Number | ||||
Array of Number | ||||
Map of the following:
Map
|
Type 2
Any of these:
| Type |
|---|
Number |
Array of Number |
| Type 0 |
