HytaleDocs
WorldGen

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:

KeyType
any StringArray 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:

KeyTypeDescription
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.

OrderInteger

The nonnegative converter position within this cave configuration. It is honored only when ConvertedPin is true.

ConvertedPinBoolean 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:

KeyTypeDescription
Seed(Nullable) String

The seed label for candidate-point generation. If absent, the parent seed is used.

ScaleNumber

The coordinate scale of the point grid. If absent, the grid is not scaled.

Randomizer(Nullable)
CoordinateRandomizerValue

CoordinateRandomizerValue with the following properties:

KeyTypeDescription
Generators(Nullable) Array of the type: RandomizerGeneratorValue

The ordered noise generators that displace world coordinates.

Rotate(Nullable) CoordinateRotatorValue

The optional rotation applied after coordinate displacement.

The optional noise-based displacement of candidate points.

OffsetNumber

The common coordinate offset for all axes. The default is zero.

OffsetXNumber

The X-coordinate offset, overriding Offset for the X axis.

OffsetYNumber

The Y-coordinate offset, overriding Offset for the Y axis.

OffsetZNumber

The Z-coordinate offset, overriding Offset for the Z axis.

Rotate(Nullable)
CoordinateRotatorValue

CoordinateRotatorValue with the following properties:

KeyTypeDescription
PitchNumber defaults to: 0.0

The coordinate pitch in degrees. The default is zero.

YawNumber defaults to: 0.0

The coordinate yaw in degrees. The default is zero.

OriginXNumber defaults to: 0.0

The world X coordinate of the rotation pivot. The default is zero.

OriginYNumber defaults to: 0.0

The world Y coordinate of the rotation pivot. The default is zero.

OriginZNumber defaults to: 0.0

The world Z coordinate of the rotation pivot. The default is zero.

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.

JitterNumber

The common candidate-point jitter for all axes. The default is 1.

JitterXNumber

The X-axis point jitter, overriding Jitter.

JitterYNumber

The Y-axis point jitter, overriding Jitter.

JitterZNumber

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
KeyType
any Stringanything

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
KeyType
any Stringanything

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
KeyType
any Stringanything

HeightRadiusFactor

The surface-height profile that scales cave radii.

Type information:

(Nullable) Either

BasicHeightThresholdValue with the following properties:

KeyTypeDescription
TypeConstant 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:

KeyTypeDescription
TypeConstant 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

Reference to a NoiseAsset asset

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

IndexedHeightThresholdValue with the following properties:

KeyTypeDescription
SeedIndex(Nullable) Integer

The preserved index used to replay the legacy height-threshold seed. Keep converted values unique and nonnegative.

Threshold(Nullable) Either BasicHeightThresholdValue or NoiseHeightThresholdValue

The height threshold selected at this noise key.

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:

KeyTypeDescription
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.

TerminateBoolean 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:

KeyTypeDescription
Noise(Nullable) Either String or NoiseAsset

Reference to a NoiseAsset asset

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:

KeyTypeDescription
TypeConstant 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:

KeyTypeDescription
TypeConstant 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

Reference to a NoiseAsset asset

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

IndexedHeightThresholdValue with the following properties:

KeyTypeDescription
SeedIndex(Nullable) Integer

The preserved index used to replay the legacy height-threshold seed. Keep converted values unique and nonnegative.

Threshold(Nullable) Either BasicHeightThresholdValue or NoiseHeightThresholdValue

The height threshold selected at this noise key.

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
KeyType
any Stringanything

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:

KeyTypeDescription
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
KeyType
any Stringanything

Type 2

Any of these:

Type
Number
Array of Number
Type 0

On this page