Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ----------------------------------------------------------- #
- # ########################################################### #
- # ### Vanilla.cave Info ### #
- # ########################################################### #
- # This file contains all of the default values used by each #
- # preset. Any value that gets removed will default to its #
- # original counterpart here. #
- # ########################################################### #
- # ### Preset Format Info ### #
- # ########################################################### #
- # The format used by these presets is known as Hjson, a #
- # less picky and more readable counterpart to normal JSON. It #
- # accepts various comment styles, allows trailing commas in #
- # arrays, does not require commas in objects when elements #
- # are placed on new lines, and has other features that should #
- # prevent crashes related to syntax errors. You can view #
- # hjson.org for more info on using it. #
- # These presets have been extended with ".cave" by default #
- # so as to more clearly indicate their purpose; however, #
- # ".json" and ".hjson" are also accepted by the mod. #
- # ########################################################### #
- # ### Cat Language Cheat Sheet ### #
- # ########################################################### #
- # These are some of the keywords that get reused throughout #
- # the preset: #
- # * factor: Multiplies a value. #
- # * chance: 0.0-100.0% probability. #
- # * inverseChance: 1 / X chance. #
- # * frequency: Relative # of tries. #
- # ########################################################### #
- # ### Noise Blocks ### #
- # ########################################################### #
- # Noise blocks are also common. Here's an overview of what #
- # each value does: #
- # # Used anywhere that only produces values relative to #
- # # each (x, z) coordinate. What this will do is either #
- # # determine the minimum or maximum height of a block or #
- # # determine whether a particular horizontal space is #
- # # acceptable for decoration based on a threshold which #
- # # is calculated from `scale`. #
- # noise2D { #
- # # Limits the range of acceptable values. In a sense, #
- # # this effectively increases or decreases the width #
- # # of each peak of values generated. In most cases #
- # # throughout this mod, changing the scale in a noise #
- # # block alters the size of each area that gets #
- # # decorated. #
- # scale: floating point value #
- # # Alters the distance between peaks of values. #
- # frequency: floating point value #
- # # The maximum possible value produced by this #
- # # generator. #
- # minVal: integer #
- # # The maximum possible value produced by this #
- # # generator. #
- # maxVal: integer #
- # } #
- # # Used anywhere that produces values relative to each #
- # # (x, y, z) coordinate. What this will do is produce #
- # # 3-dimensional clusters of space. Just because one #
- # # particular y-coordinate is valid does not imply that #
- # # everything below it is also valid, as would be the #
- # # case with 2D noise. #
- # noise3D { #
- # # See scale above. #
- # scale: floating point value #
- # # See frequency above. #
- # frequency: floating point value #
- # # Stretches and skews the scale on the vertical axis. #
- # # Literally means that clusters generated will be #
- # # either shorter or taller. #
- # scaleY: floating point value #
- # # The number of generation passes. This effectively #
- # # increases the resolution of clusters (makes them #
- # # *less* smooth) at the cost of performance. #
- # octaves: integer value #
- # # The type of noise to be used by this generator. #
- # # Possible values include: Value, ValueFractal, #
- # # Perlin, PerlinFractal, Simplex, SimplexFractal, #
- # # Cellular, WhiteNoise, Cubic, and CubicFractal. #
- # # Not case sensitive. #
- # type: NoiseType value; from string #
- # # Determines how this noise will be fractalized, when #
- # # applicable. #
- # # Possible values include: FBM, Billow, and #
- # # RigidMulti. #
- # # Not case sensitive. #
- # fractal: FractalType value; from string #
- # # To-do: Include additional FastNoise parameters. #
- # } #
- # ----------------------------------------------------------- #
- {
- # Whether the preset is enabled globally.
- enabled: true
- # A list of biomes for tunnels, rooms, ravines, and most
- # (but not all) decorations to be restricted to.
- biomes: {
- # A list of registry names.
- names: [ ]
- # A list of biome IDs.
- IDs: [ ]
- # A list of Biome types.
- types: [ ]
- }
- useBiomeBlacklist: false
- # A list of dimension IDs for all features to be
- # restricted to.
- dimensions: [ ]
- useDimensionBlacklist: false
- # A list of blocks that can be replaced by this generator.
- # Bear in mind that very little world decoration has
- # occurred by the time this generator will run. This means
- # that almost nothing more than stone, dirt, and water
- # exist in the world at this point. Use this if you have
- # any other mods that might be adding blocks early on, or
- # if any other preset is placing blocks that this generator
- # should also be able to dig through.
- replaceableBlocks: [ "stone", "dirt" ]
- # Setting this field to true will automatically add all
- # WallDecorators, StoneClusters, etc. to the replaceableBlocks
- # list. These blocks usually should be added because
- # multiple tunnel sections can overlap after decorators have
- # been placed, resulting in unwanted, floating decorators.
- replaceDecorators: true
- # A collection of blocks that will be used instead of air
- # at various height levels. Supports random and even
- # noise-based placement.
- caveBlocks: [
- # Imitates the normal lava placement behavior.
- {
- # There are more parameters. See
- # underground_forest.cave for more info.
- states: [ "lava" ]
- # Maximum height bounds.
- maxHeight: 10
- }
- /* Defaults values; these do not spawn by default.
- { A comma might be missing, if this were here.
- states: []
- chance: 100.0
- minHeight: 0
- maxHeight: 50
- # This is a standard noise3D object. While it is more to
- # write, the fact that these are everywhere helps you
- # know that they're all the same.
- noise3D: {
- # 0.0 - 1.0 scale.
- scale: 0.1
- frequency: 50.00
- scaleY: 1.0
- # Number of generation passes. Increases
- # resolution at the cost of performance.
- ocaves: 1
- }
- }
- */
- ]
- # Used for decorating walls with various blocks. Supports
- # random and noise-based placement. Needs more documentation.
- wallDecorators: [
- /*
- {
- states: [ "stone:5", "gravel" ]
- chance: 5.0
- minHeight: 0
- maxHeight: 64
- directions: [ "side", "down" ]
- matchers: [ "stone" ]
- preference: replace_match
- }
- */
- ]
- # Single, crcular spaces found near the center of cave
- # systems.
- rooms: {
- # The radius in blocks.
- scale: 6
- # Vertical height multiple of scale.
- scaleY: 0.5
- }
- tunnels: {
- # The average number of tunnel systems to try and
- # spawn per chunk.
- frequency: 15
- # Mininum starting height.
- minHeight: 8
- # Maximum starting height.
- maxHeight: 128
- # The length in blocks of this tunnel. A value of 0
- # produces between 132-176.
- distance: 0
- # The 1 / X chance chance that multiple tunnels will
- # be spawned at each origin, instead of just one.
- spawnInSystemInverseChance: 4
- # The 1 / X chance that any origin will be skipped.
- # This has an effect of spawning each system in
- # isolated groups vs. everywhere.
- spawnIsolatedInverseChance: 7
- # Whether the preset is enabled globally.
- noiseYReduction: true
- # Whether the preset is enabled globally.
- resizeBranches: true
- # These values alter how much the horizontal angle
- # of each tunnel can change between segments.
- twistXZ: {
- # angle = angle^x
- exponent: 1
- # angle = angle * x
- factor: 0.75
- # angle = angle + (randomValue * x)
- randFactor: 4
- # angle first gets changed by x.
- startVal: 0
- }
- # These values alter how much the vertical angle
- # of each tunnel can change between segments.
- twistY: {
- exponent: 1
- factor: 0.9
- randFactor: 2
- startVal: 0
- }
- # These values alter the radius in blocks of each
- # tunnel.
- scale: {
- exponent: 1
- factor: 1
- randFactor: 0
- startVal: 0
- # startingValue = startingValue + (randomValue * x).
- startValRandFactor: 1
- }
- # scaleY is a multiple of scale on the vertical axis.
- # If scale == 6 and scaleY == 0.5, the height becomes 3.
- # These values alter scaleY between tunnel segments.
- scaleY: {
- exponent: 1
- factor: 1
- randFactor: 0
- startVal: 1
- }
- # The horizontal angle in radians.
- angleXZ: {
- startVal: 0
- startValRandFactor: 1
- }
- # The vertical angle in radians.
- angleY: {
- startVal: 0
- startValRandFactor: 0.25
- }
- }
- # Ravines are like tunnels, but with random variations in
- # horizontal scale. You could theoretically use this as
- # your main tunnels, if you're using multiple presets.
- ravines: {
- # The 1 / X chance for this ravine to start in any
- # given chunk.
- inverseChance: 50
- minHeight: 20
- maxHeight: 40
- distance: 0
- twistXZ: {
- exponent: 1
- factor: 0.5
- randFactor: 4
- startVal: 0
- }
- twistY: {
- exponent: 1
- factor: 0.8
- randFactor: 2
- startVal: 0
- }
- scale: {
- exponent: 1
- factor: 1
- randFactor: 0
- startVal: 0
- startValRandFactor: 2
- }
- scaleY: {
- exponent: 1
- factor: 1
- randFactor: 0
- # This is essentially the second most important
- # variable accounting for the look of ravines.
- startVal: 3
- }
- angleXZ: {
- startVal: 0
- startValRandFactor: 1
- }
- angleY: {
- startVal: 0
- startValRandFactor: 0.25
- }
- # Similar to noiseYReduction, but not as random.
- noiseYFactor: 0.7
- # Contains an optional noise2D block used to change
- # the look of ravine walls. Placing / uncommenting
- # this block will completely override the vanilla
- # ravine wall generation features, producing
- # smoother, more organic surfaces.
- wallNoise: {
- /*
- noise2D {
- # Scale is ignored in this context.
- scale: 0.5
- frequency: 0.1
- minVal: 0
- maxVal: 4
- }
- */
- }
- }
- # See caverns.json for another example of caverns. These
- # are the default values.
- caverns: {
- enabled: true
- minHeight: 10
- maxHeight: 50
- # Optional 3D noise block for the main cavern shapes.
- noise3D: {
- # This does refer to noise frequency, but its use in
- # the case of caverns has the opposite effect. Higher
- # values mean less frequent pockets of air.
- frequency: 0.0143
- # scale for noise-based objects is from 0-1.
- scale: 0.2
- scaleY: 0.5
- # The number of passes. Increases resolution at the
- # cost of performance.
- octaves: 1
- type: SimplexFractal
- fractal: FBM
- }
- # Optional 2D noise block for the cavern ceiling.
- # The value produced by ceilNoise is added to the terrain
- # height at any given coordinate. In order to stop caverns
- # from punching holes through the surface, use negative
- # values only.
- ceiling: {
- noise2D: {
- # No effect in this context.
- scale: 0.5
- frequency: 0.02
- minVal: -17
- maxVal: -3
- }
- }
- # Optional 2d noise block for the cavern floor.
- floor: {
- noise2D: {
- # No effect in this context.
- scale: 0.5
- frequency: 0.02
- minVal: 0
- maxVal: 8
- }
- }
- }
- # See stone_layers.cave for an example of stoneLayers. These are
- # just the default values, so you only need to specify the state
- # and maxHeight.
- stoneLayers: [
- /*
- { Default values; these don't spawn by default.
- state: null
- # This is necessary because multiple layers ideally
- # should not spawn at the exact same height.
- maxHeight: 0
- # Optional 2D noise block.
- noise2D: {
- scale: 0.5
- # The distance between this layer's peaks.
- frequency: 0.015
- # How many blocks down this layer can vary.
- minVal: -7
- # How many blocks up this layer can vary.
- maxVal: 7
- }
- }
- */
- ]
- # See stone_clusters.cave for an example of stoneClusters.
- stoneClusters: [
- /*
- { Default values; these don't spawn by default.
- # A list of blocks to spawn under these conditions.
- states: []
- # The 0 - 1 spawn frequency.
- frequency: 0.15
- # The radius of this cluster on the x-axis.
- radiusX: 16
- radiusY: 12
- radiusZ: 16
- radiusVariance: 6
- startingHeight: 32
- heightVariance: 16
- }
- */
- ]
- # See stalagmites_large.cave for an example of largeStalactites
- # and largeStalagmites. These are just the default values, so
- # you only need to specify the states.
- largeStalactites: [
- /*
- { Default values; these don't spawn by default.
- state: null
- # The maximum number of blocks this structure can be.
- maxLength: 3
- chance: 16.7
- minHeight: 11
- maxHeight: 55
- matchers: []
- # Optional noise block. Will perform better without.
- noise2D: {
- scale: 0.425
- frequency: 40.0
- # Not used at all in this context. Can be omitted.
- # -1 is effectively the default.
- minVal: -1
- # Not used at all in this context. Can be omitted.
- # -1 is effectively the default.
- maxVal: 1
- }
- }
- */
- ]
- # Same as largeStalactites. Spawns from the floor instead of
- # the ceiling.
- largeStalagmites: [ ]
- # See underground_forest.cave for an example of giantPillars.
- # These are the defaults. You just need to specify a state.
- giantPillars: [
- /*
- { Default values; these don't spawn by default.
- # This block makes up the body of the pillar.
- state: null
- # This may not be null if it does exist, but it can be
- # left out. If the field is not present, no stairs will
- # spawn.
- stairBlock: null
- # Number of spawn tries per chunk.
- frequency: 15
- minHeight: 10
- maxHeight: 50
- minLength: 4
- maxLength: 12
- }
- */
- ]
- # Structures are ideal for small decorations. Larger decorations
- # (16x16)+ will cause cascading generation lag and should be
- # handled by another mod, such as recurrent complex or OTG.
- # Structures will be centered around X and Z, but not Y. Most of
- # this information can be left out. See underground_forest.cave
- # for a better example. These are just the default values.
- structures: [
- /*
- { Default values; no structures spawn by default.
- # name refers to a resource location or file name.
- # It may not be null.
- name: null
- # The 0-1 ratio of blocks to be retained when spawning.
- integrity: 1.0
- # X, Y, Z spawn offset.
- offset: [0, 0, 0]
- # Number of tries per chunk. Should be low.
- frequency: 1
- # The percent chance any try will succeed.
- chance: 0.05
- minHeight: 10
- maxHeight: 50
- # Any relative coordinates that must be non-solid.
- # Example:
- # airMatchers: [
- # [0, 1, 0],
- # [0, 3, 0]
- # ]
- airMatchers: []
- solidMatchers: []
- # Whether to log the coordinates every time this structure
- # spawns.
- debugSpawns: false
- rotateRandomly: false
- }
- */
- ]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement