1.16 Configuration Guide - YUNG-GANG/YUNGs-Better-Caves GitHub Wiki

Note -- the config in 1.16 is the exact same as 1.15. The only difference is the way files are organized.

Starting in 1.16, all dimension-specific configs will go in the bettercaves folder in your config directory.

This is explained in greater detail in the Dimension-specific configurability section.

Everything else in this guide (i.e. what each setting is, and how it works) is identical to 1.15.

Table of Contents

Main Settings

The following is an elaboration on some of the settings that may be a little harder to understand.
If the setting you're looking for isn't here, try reading the comments for it in your config file (or in the example config at the bottom of this page).

Spawn Chance & Priority System

Priority System

Starting in v2.0, caves and caverns now operate using a "priority" system.

The priority systems for caves and caverns are distinct from eachother (although identical in functionality). Let's look only at caves for now.

Each type of cave - Type 1, Type 2, and Vanilla - has a Priority config option. This value (which must be 0 to 10, inclusive) determines how frequently caves of each type will spawn.

Here's how it works:

The chance of a cave type spawning in a given region depends on its priority relative to the other cave type priorities.
In mathematical terms, the formula is chance of cave type X spawning in region = (cave X priority) / (total cave priority)

Let's look through some examples.

Example:
Type 1 Cave Priority = 10
Type 2 Cave Priority = 5
Vanilla Cave Priority = 0

Chance of type 1 cave spawning = 10 / (10 + 5 + 0) = 10 / 15 = .67 or 67%
Chance of type 2 cave spawning = 5 / (10 + 5 + 0) = 5 / 15 = .33 or 33%
Chance of vanilla cave spawning = 0 / (10 + 5 + 0) = 0 or 0%

Example:
Type 1 Cave Priority = 1
Type 2 Cave Priority = 1
Vanilla Cave Priority = 1

Chance of type 1 cave spawning = 1 / (1 + 1 + 1) = 1 / 3 = .3 or 33%
Chance of type 2 cave spawning = 1 / (1 + 1 + 1) = 1 / 3 = .3 or 33%
Chance of vanilla cave spawning = 1 / (1 + 1 + 1) = 1 / 3 = .3 or 33%

Example:
Type 1 Cave Priority = 0
Type 2 Cave Priority = 0
Vanilla Cave Priority = 0

In this example, none of the 3 main cave types will spawn.
However, note that surface caves spawn independently of other caves, and will spawn as long as enabled.

As you can see from the examples, what matters are the relative priorities, NOT the absolute priorities.


Spawn Chance

The new options for spawn chance are very straightforward.

For cave and cavern generation, Better Caves splits the world up into regions (the sizes of which are controllable via the Region Size settings). The chance of a given region being inhabited by caves is given by the Cave Spawn Chance, and the same applies to caverns with the Cavern Spawn Chance. This value is a simple percent out of 100.

So, how does this interact with the priority system? Simple.

The priority system only operates on regions designated for caves/caverns.

Example:
Let's look at caverns for this example.

Say you have the following settings:
Liquid Cavern Priority = 10
Floored Cavern Priority = 5
Cavern Spawn Chance = 25

Then, Liquid Caverns and Floored Caverns have a 67% and 33% chance of spawning, respectively.
However, this proportion applies only on regions designated for caverns.

Thus,
.25 * .67 = .1675 or 16.75% of cavern regions will be Liquid Caverns, and
.25 * .33 = .0825 or 8.25% of cavern regions will be Floored Caverns.

The remaining 75% of cavern regions will be empty - that is, there will not be caverns in these regions.

Dimension-Specific Configurability

File structure

Better Caves supports the ability to use different configuration settings for each dimension. To do this, create a directory called bettercaves in your Minecraft config directory. This directory will be created for you the first time you run the mod.

In this directory (e.g. .minecraft/config/bettercaves) you create a separate version folder for each version of Minecraft. In each version folder you can add a config file for each dimension. A version folder will be created if you have run the mod at least once for that particular version of Minecraft. For example, if you have started Minecraft with Better Caves 1.16 at least once, you will have the 1.16 version directory already created for you.

Version folders follow the naming convention <MAJOR>_<MINOR>, e.g. 1_16. Dimension-specific config files within a version folder follow the convention DIM_<namespace>-<path>.toml. For example, to add a separate config for the Nether, the file must be named DIM_minecraft-the_nether.toml. To add a config for, say, Ratlantis, the file must be called DIM_rats-ratlantis.toml.

Here's an example of what your directory might look like:

  Minecraft
config folder
     |
     |--- bettercaves
     |        |--- 1_16
     |        |     +--- DIM_minecraft-the_nether.toml
     |        |     +--- DIM_rats-ratlantis.toml
     |        |
     |        |--- 1_17
     |              +--- DIM_minecraft-overworld.toml
     |              +--- DIM_minecraft-the_end.toml
     |
     |--- other mod configs...

In this example, we have setup some configurations for two versions of Minecraft, 1.16 and 1.17. (Note - at the time of writing, 1.17 is not out. This is just for demonstration purposes).

For 1.16, we have custom dimension-specific configs for The Nether and Ratlantis. For 1.17, we have custom dimension-specific settings for the Overworld and The End.

Note that in order for a dimension-specific config file to actually be used, you must either have that dimension whitelisted or have Global Whitelisting enabled. Either of these can be done in the base config. The base config is found directly in the Minecraft config directory, with the name bettercaves-<version>.toml, e.g. bettercaves-1_16.toml.

Also note that placing a dimension-specific config file directly in the bettercaves directory will not do anything. Dimension-specific configs MUST be placed in a version folder to have any effect.

IMPORTANT -- ONLY VERSIONS OF THIS MOD FOR MINECRAFT 1.16 AND ABOVE ARE SUPPORTED WITH THIS METHOD. Older versions of the mod (1.12, 1.14, 1.15) have their own folders in the Minecraft config directory. Check out the config guide for those versions to see how to use them.

Giving dimensions their own settings

The contents of each dimension's config file follow the exact same format as an ordinary config file for Forge. This means that you could copy the base config file (bettercaves-1_16.toml, located directly in the Minecraft config directory), rename it to DIM_minecraft-the_nether.toml (for the Nether), and change the values to make it work for the Nether.

However, there are some important points to note. First, you do not need the comments (in neither the base config file nor any dimension-specific file), which are lines starting with #. They don't do anything except provide information. Second, the config file for a single dimension doesn't need to have every value specified. Any values not specified will be pulled from the base config. This is especially convenient, as it means you only need to specify the values you want to override.

For example, say you want a basic config for the Nether. This means you'll probably want to do the following:

  • Disable water regions
  • Enable Override Surface Detection
  • Change the Liquid Altitude to 31
  • Change caves to have a max altitude of 128
  • Change caverns to have a min altitude of 21 and max altitude of 55 (for example)
  • Disable surface caves, as they are not needed

The following file accomplishes all of this, and is a valid Better Caves single-dimension config file.
Remember, any options not specified here will be inherited from your base config file. So if you've got some weird options set there, they will show up in the Nether if you don't override them too!

# DIM_minecraft-the_nether.toml
["Better Caves"."Underground Generation".Miscellaneous]
    "Override Surface Detection" = true
    "Liquid Altitude" = 31

["Better Caves"."Underground Generation"."Water Regions"]
    "Water Region Spawn Chance" = 0

    ["Better Caves"."Underground Generation".Caves."Surface Caves"]
        "Enable Surface Caves" = false

    ["Better Caves"."Underground Generation".Caves."Type 1 Caves"]
        "Type 1 Cave Maximum Altitude" = 128

    ["Better Caves"."Underground Generation".Caves."Type 2 Caves"]
        "Type 2 Cave Maximum Altitude" = 128

    ["Better Caves"."Underground Generation".Caverns."Floored Caverns"]
        "Floored Cavern Minimum Altitude" = 21
        "Floored Cavern Maximum Altitude" = 55

    ["Better Caves"."Underground Generation".Caverns."Liquid Caverns"]
        "Liquid Cavern Minimum Altitude" = 21
        "Liquid Cavern Maximum Altitude" = 55

An important note: the whitelisting settings (Enable Global Whitelisting and Whitelisted Dimension IDs) are only valid in the base config. These values cannot be overridden in dimension-specific configs.

Advanced Hidden Settings

Previously, certain parameters related to noise generation for caves and caverns were completely hidden from the user. Now, these parameters can be changed in the config file, despite not appearing in the file by default.

IMPORTANT: Advanced hidden settings can only be overridden in dimension-specific configs. They do not work in the base config!

Warning: these settings are very sensitive, and should only be messed with if you know what you're doing.

Liquid and Lava Caverns have the following parameters available:

  • Fractal Frequency: Frequency used in ridged multi-fractal noise generation
  • Fractal Gain: The gain for successive octaves of ridged multi-fractal noise generation
  • Fractal Octaves: Number of octaves used for ridged multi-fractal noise generation
  • Noise Threshold: Blocks with generated noise values below this threshold are dug out.
  • Noise Type: Type of noise to use for this carver. This is an enum value from the FastNoise Java library.
  • Number of Generators: Number of noise generation functions used. The intersection of these values is used to calculate a single noise value.

Type 1 & 2 Caves have the aforementioned parameters, as well as the following:

  • Enable y-adjustment: The noise value for each block is weighed by the noise value(s) of block(s) above it. Increases headroom for the player.
  • y-adjustment Variable 1: Determines how much the noise value for the block above a given block impacts that block's noise value.
  • y-adjustment Variable 2: Determines how much the noise value for the block 2 blocks above a given block impacts that block's noise value.

For more information on these values and how to override them, see the example below. Each of these options is in the advanced section of their respective cave/cavern config section.

Example Config with Hidden Advanced Settings

# This file is an example DIMENSION-SPECIFIC config with comments for everything and default values.
# All advanced hidden parameters are visible in this file. Be careful messing with these.
#
# Note that if used as the base config, the advanced options in this file will not be read.
# This file is not intended to be used as the base config. There's no reason to try to use this
# as a replacement to the default base config.

["Better Caves"]
    ###########################################################################################################
    ## Configure settings related to caves, caverns, ravines and more.
    ###########################################################################################################
    ["Better Caves"."Underground Generation"]

        ###########################################################################################################
        ## Settings used in the generation of caves.
        ###########################################################################################################
        ["Better Caves"."Underground Generation".Caves]
            # Percent chance of caves spawning in a given region.
            # Default: caves spawn in 100% of regions.
            #Range: 0.0 ~ 100.0
            "Cave Spawn Chance" = 100.0
            # Determines how large cave regions are.
            #     Controls how long a cave system of a certain cave type extends before intersecting with a cave system of another type.
            #     Larger = more cave interconnectivity for a given area, but less variation.
            # Accepted values: Small, Medium, Large, ExtraLarge, Custom
            # Default: Small (recommended).
            "Cave Region Size" = "Small"
            # Custom value for cave region size. Smaller value = larger regions. This value is very sensitive to change.
            #     ONLY WORKS IF Cave Region Size IS Custom.
            #     Provided values:
            #         Small: 0.008
            #         Medium: 0.005
            #         Large: 0.0032
            #         ExtraLarge: 0.001
            # Default: 0.008
            #Range: 0.0 ~ 0.05000000074505806
            "Cave Region Size Custom Value" = 0.00800000037997961

            ###########################################################################################################
            ## Settings used in the generation of type 1 caves, which are more worm-like.
            ###########################################################################################################
            ["Better Caves"."Underground Generation".Caves."Type 1 Caves"]
                # The minimum y-coordinate at which type 1 caves can generate.
                # Default: 1
                #Range: 0 ~ 255
                "Type 1 Cave Minimum Altitude" = 1
                # The maximum y-coordinate at which type 1 caves can generate.
                # Default: 80
                #Range: 0 ~ 255
                "Type 1 Cave Maximum Altitude" = 80
                # The depth from a given point on the surface at which type 1 caves start to close off.
                #     Will use the Max Cave Altitude instead of surface height if it is lower.
                #     Will use the Max Cave Altitude no matter what if Override Surface Detection is enabled.
                # Default: 15 (recommended)
                #Range: 0 ~ 255
                "Type 1 Cave Surface Cutoff Depth" = 15
                # Stretches caves vertically. Lower value = taller caves with steeper drops.
                # Default: 5.0 (recommended)
                #Range: 0.0 ~ 100.0
                "Compression - Vertical" = 5.0
                # Stretches caves horizontally. Lower value = wider caves.
                # Default: 1.6 (recommended)
                #Range: 0.0 ~ 100.0
                "Compression - Horizontal" = 1.6
                # Determines how frequently Type 1 Caves spawn. 0 = will not spawn at all.
                # Default: 10
                #Range: 0 ~ 10
                "Type 1 Cave Priority" = 10

                ###########################################################################################################
                ## Don't mess with these if you don't know what you're doing.
                ###########################################################################################################
                ["Better Caves"."Underground Generation".Caves."Type 1 Caves"."Advanced Settings"]
                    # Noise threshold for determining which blocks get mined out as part of cave generation
                    #     Blocks with generated noise values greater than this threshold will be dug out.
                    # Default: 0.95
                    #Range: -1.0 ~ 1.0
                    "Noise Threshold" = 0.95
                    # The number of octaves used for ridged multi-fractal noise generation.
                    # Default: 1
                    "Fractal Octaves" = 1
                    # The gain for successive octaves of ridged multi-fractal noise generation.
                    # Default: 0.3
                    "Fractal Gain" = 0.3
                    # The frequency for ridged multi-fractal noise generation.
                    #     This determines how spread out or tightly knit cave systems are.
                    # Default: 0.03
                    "Fractal Frequency" = 0.03
                    # The number of noise generation functions used.
                    #     The intersection of these functions is used to calculate a single noise value.
                    #     Increasing this may decrease performance.
                    # Default: 2
                    "Number of Generators" = 2
                    # Enable y-adjustment, giving players more headroom in caves.
                    # Default: true
                    "Enable y-adjustment" = true
                    # Adjustment factor affecting the block immediately above a given block.
                    #     Higher value will tend to increase the headroom in caves.
                    # Default: 0.9
                    #Range: 0.0 ~ 1.0
                    "y-adjustment Variable 1" = 0.9
                    # Adjustment factor affecting the block two blocks above a given block.
                    #     Higher value will tend to increase the headroom in caves.
                    # Default: 0.9
                    #Range: 0.0 ~ 1.0
                    "y-adjustment Variable 2" = 0.9
                    # Type of noise to use for this cave. 
                    # Accepted Values: Value, ValueFractal, Perlin, PerlinFractal, Simplex, SimplexFractal, Cellular, WhiteNoise, Cubic, CubicFractal
                    # Default: CubicFractal
                    "Noise Type" = "CubicFractal"

            ###########################################################################################################
            ## Settings used in the generation of type 2 caves, which tend to be more open and spacious.
            ###########################################################################################################
            ["Better Caves"."Underground Generation".Caves."Type 2 Caves"]
                # The minimum y-coordinate at which type 2 caves can generate.
                # Default: 1
                #Range: 0 ~ 255
                "Type 2 Cave Minimum Altitude" = 1
                # The maximum y-coordinate at which type 2 caves can generate.
                # Default: 80
                #Range: 0 ~ 255
                "Type 2 Cave Maximum Altitude" = 80
                # The depth from a given point on the surface at which type 2 caves start to close off.
                #     Will use the Max Cave Altitude instead of surface height if it is lower.
                #     Will use the Max Cave Altitude no matter what if Override Surface Detection is enabled.
                # Default: 15 (recommended)
                #Range: 0 ~ 255
                "Type 2 Cave Surface Cutoff Depth" = 15
                # Stretches caves vertically. Lower value = taller caves with steeper drops.
                # Default: 2.2 (recommended)
                #Range: 0.0 ~ 100.0
                "Compression - Vertical" = 2.2
                # Stretches caves horizontally. Lower value = wider caves.
                # Default: 0.9 (recommended)
                #Range: 0.0 ~ 100.0
                "Compression - Horizontal" = 0.9
                # Determines how frequently Type 2 Caves spawn. 0 = will not spawn at all.
                # Default: 5
                #Range: 0 ~ 10
                "Type 2 Cave Priority" = 5

                ###########################################################################################################
                ## Don't mess with these if you don't know what you're doing.
                ###########################################################################################################
                ["Better Caves"."Underground Generation".Caves."Type 2 Caves"."Advanced Settings"]
                    # Noise threshold for determining which blocks get mined out as part of cave generation
                    #     Blocks with generated noise values greater than this threshold will be dug out.
                    # Default: 0.82
                    #Range: -1.0 ~ 1.0
                    "Noise Threshold" = 0.82
                    # The number of octaves used for ridged multi-fractal noise generation.
                    # Default: 1
                    "Fractal Octaves" = 1
                    # The gain for successive octaves of ridged multi-fractal noise generation.
                    # Default: 0.3
                    "Fractal Gain" = 0.3
                    # The frequency for ridged multi-fractal noise generation.
                    #     This determines how spread out or tightly knit cave systems are.
                    # Default: 0.03
                    "Fractal Frequency" = 0.025
                    # The number of noise generation functions used.
                    #     The intersection of these functions is used to calculate a single noise value.
                    #     Increasing this may decrease performance.
                    # Default: 2
                    "Number of Generators" = 2
                    # Enable y-adjustment, giving players more headroom in caves.
                    # Default: true
                    "Enable y-adjustment" = true
                    # Adjustment factor affecting the block immediately above a given block.
                    #     Higher value will tend to increase the headroom in caves.
                    # Default: 0.95
                    #Range: 0.0 ~ 1.0
                    "y-adjustment Variable 1" = 0.95
                    # Adjustment factor affecting the block two blocks above a given block.
                    #     Higher value will tend to increase the headroom in caves.
                    # Default: 0.5
                    #Range: 0.0 ~ 1.0
                    "y-adjustment Variable 2" = 0.5
                    # This value is currently unused for Type 2 caves. 
                    "Noise Type" = "SimplexFractal"

            ###########################################################################################################
            ## Settings used in the generation of vanilla-like caves near the surface.
            ###########################################################################################################
            ["Better Caves"."Underground Generation".Caves."Surface Caves"]
                # Set to true to enable vanilla-like caves which provide nice, natural-looking openings at the surface.
                # Default: true
                "Enable Surface Caves" = true
                # The minimum y-coordinate at which surface caves can generate.
                # Default: 40
                #Range: 0 ~ 255
                "Surface Cave Minimum Altitude" = 40
                # The maximum y-coordinate at which surface caves can generate.
                # Default: 128
                #Range: 0 ~ 255
                "Surface Cave Maximum Altitude" = 128
                # The density of surface caves. Higher = more caves, closer together. 
                # Default: 17
                #Range: 0 ~ 100
                "Surface Cave Density" = 17

            ###########################################################################################################
            ## Settings controlling vanilla Minecraft cave generation.
            ###########################################################################################################
            ["Better Caves"."Underground Generation".Caves."Vanilla Caves"]
                # The minimum y-coordinate at which vanilla caves can generate.
                # Default: 8
                #Range: 0 ~ 255
                "Vanilla Cave Minimum Altitude" = 8
                # The maximum y-coordinate at which vanilla caves can generate.
                # Default: 128
                #Range: 0 ~ 255
                "Vanilla Cave Maximum Altitude" = 128
                # The density of vanilla caves. Higher = more caves, closer together. 
                # Default: 14 (value used in vanilla)
                #Range: 0 ~ 100
                "Vanilla Cave Density" = 14
                # Determines how frequently vanilla caves spawn. 0 = will not spawn at all.
                # Default: 0
                #Range: 0 ~ 10
                "Vanilla Cave Priority" = 0

        ###########################################################################################################
        ## Settings used in the generation of caverns. Caverns are spacious caves at low altitudes.
        ###########################################################################################################
        ["Better Caves"."Underground Generation".Caverns]
            # Percent chance of caverns spawning in a given region.
            # Default: caverns spawn in 25% of regions.
            #Range: 0.0 ~ 100.0
            "Cavern Spawn Chance" = 25.0
            # Determines how large cavern regions are. This controls the average size of caverns.
            # Accepted values: Small, Medium, Large, ExtraLarge, Custom
            # Default: Small (recommended).
            "Cavern Region Size" = "Small"
            # Custom value for cavern region size. Only works if Cavern Region Size is set to Custom.      Smaller value = larger regions. This value is very sensitive to change.
            #     Provided values:
            #         Small: 0.01
            #         Medium: 0.007
            #         Large: 0.005
            #         ExtraLarge: 0.001
            # Default: 0.01
            #Range: 0.0 ~ 0.05
            "Cavern Region Size Custom Value" = 0.01

            ###########################################################################################################
            ## Settings used in the generation of Liquid Caverns found at low altitudes.
            ## These are caverns where the floor is predominantly water or lava.
            ###########################################################################################################
            ["Better Caves"."Underground Generation".Caverns."Liquid Caverns"]
                # The minimum y-coordinate at which Liquid Caverns can generate.
                # Default: 1
                #Range: 0 ~ 255
                "Liquid Cavern Minimum Altitude" = 1
                # The maximum y-coordinate at which Liquid Caverns can generate.
                #     Caverns will attempt to close off anyway if this value is greater than the surface's altitude.
                # Default: 35
                #Range: 0 ~ 255
                "Liquid Cavern Maximum Altitude" = 35
                # Stretches caverns vertically. Lower value = more open caverns with larger features.
                # Default: 1.3
                #Range: 0.0 ~ 100.0
                "Compression - Vertical" = 1.3
                # Stretches caverns horizontally. Lower value = more open caverns with larger features.
                # Default: 0.7
                #Range: 0.0 ~ 100.0
                "Compression - Horizontal" = 0.7
                # Determines how frequently Liquid Caverns spawn. 0 = will not spawn at all.
                # Default: 10
                #Range: 0 ~ 10
                "Liquid Cavern Priority" = 10

                ###########################################################################################################
                ## Don't mess with these if you don't know what you're doing.
                ###########################################################################################################
                ["Better Caves"."Underground Generation".Caverns."Liquid Caverns"."Advanced Settings"]
                    # Noise threshold for determining which blocks get mined out as part of cavern generation
                    #     Blocks with generated noise values lower than this threshold will be dug out.
                    # Default: 0.6
                    #Range: -1.0 ~ 1.0
                    "Noise Threshold" = 0.6
                    # The number of octaves used for ridged multi-fractal noise generation.
                    # Default: 1
                    "Fractal Octaves" = 1
                    # The gain for successive octaves of ridged multi-fractal noise generation.
                    # Default: 0.3
                    "Fractal Gain" = 0.3
                    # The frequency for ridged multi-fractal noise generation.
                    #     This determines how spread out or tightly knit the formations in caverns are.
                    # Default: 0.03
                    "Fractal Frequency" = 0.03
                    # The number of noise generation functions used.
                    #     The intersection of these functions is used to calculate a single noise value.
                    #     Increasing this may decrease performance.
                    # Default: 2
                    "Number of Generators" = 2
                    # Type of noise to use for this cave. 
                    # Accepted Values: Value, ValueFractal, Perlin, PerlinFractal, Simplex, SimplexFractal, Cellular, WhiteNoise, Cubic, CubicFractal
                    # Default: SimplexFractal
                    "Noise Type" = "SimplexFractal"

            ###########################################################################################################
            ## Settings used in the generation of Floored Caverns found at low altitudes.
            ## These have much more ground to walk on than Liquid Caverns.
            ###########################################################################################################
            ["Better Caves"."Underground Generation".Caverns."Floored Caverns"]
                # The minimum y-coordinate at which Floored Caverns can generate.
                # Default: 1
                #Range: 0 ~ 255
                "Floored Cavern Minimum Altitude" = 1
                # The maximum y-coordinate at which Floored Caverns can generate.
                #     Caverns will attempt to close off anyway if this value is greater than the surface's altitude.
                # Default: 35
                #Range: 0 ~ 255
                "Floored Cavern Maximum Altitude" = 35
                # Stretches caverns vertically. Lower value = more open caverns with larger features.
                # Default: 1.3
                #Range: 0.0 ~ 100.0
                "Compression - Vertical" = 1.3
                # Stretches caverns horizontally. Lower value = more open caverns with larger features.
                # Default: 0.7
                #Range: 0.0 ~ 100.0
                "Compression - Horizontal" = 0.7
                # Determines how frequently Floored Caverns spawn. 0 = will not spawn at all.
                # Default: 10
                #Range: 0 ~ 10
                "Floored Cavern Priority" = 10

                ###########################################################################################################
                ## Don't mess with these if you don't know what you're doing.
                ###########################################################################################################
                ["Better Caves"."Underground Generation".Caverns."Floored Caverns"."Advanced Settings"]
                    # Noise threshold for determining which blocks get mined out as part of cavern generation
                    #     Blocks with generated noise values lower than this threshold will be dug out.
                    # Default: 0.6
                    #Range: -1.0 ~ 1.0
                    "Noise Threshold" = 0.6
                    # The number of octaves used for ridged multi-fractal noise generation.
                    # Default: 1
                    "Fractal Octaves" = 1
                    # The gain for successive octaves of ridged multi-fractal noise generation.
                    # Default: 0.3
                    "Fractal Gain" = 0.3
                    # The frequency for ridged multi-fractal noise generation.
                    #     This determines how spread out or tightly knit the formations in caverns are.
                    # Default: 0.03
                    "Fractal Frequency" = 0.028
                    # The number of noise generation functions used.
                    #     The intersection of these functions is used to calculate a single noise value.
                    #     Increasing this may decrease performance.
                    # Default: 2
                    "Number of Generators" = 2
                    # Type of noise to use for this cave. 
                    # Accepted Values: Value, ValueFractal, Perlin, PerlinFractal, Simplex, SimplexFractal, Cellular, WhiteNoise, Cubic, CubicFractal
                    # Default: SimplexFractal
                    "Noise Type" = "SimplexFractal"

        ###########################################################################################################
        ## Settings used in the generation of water regions.
        ###########################################################################################################
        ["Better Caves"."Underground Generation"."Water Regions"]
            # Percent chance of a region having water instead of lava at low altitudes.
            # Default: 40%
            #Range: 0.0 ~ 100.0
            "Water Region Spawn Chance" = 40.0
            # Determines how large water regions are.
            # Default: Medium (recommended).
            "Water Region Size" = "Medium"
            # Custom value for water region size. Smaller value = larger regions. This value is very sensitive to change.
            #     ONLY WORKS IF Water Region Size IS Custom.
            #     Provided values:
            #         Small: 0.008
            #         Medium: 0.004
            #         Large: 0.0028
            #         ExtraLarge: 0.001
            # Default: 0.004
            #Range: 0.0 ~ 0.05
            "Water Region Size Custom Value" = 0.004

        ###########################################################################################################
        ## Settings used for ravine generation.
        ###########################################################################################################
        ["Better Caves"."Underground Generation".Ravines]
            # Set to true to enable ravine generation.
            # Default: true
            "Enable Ravines" = true
            # Set to true to enable flooded ravines in ocean biomes.
            # Default: true
            "Enable Flooded Ravines" = true

        ###########################################################################################################
        ## Miscellaneous settings used in cave and cavern generation.
        ###########################################################################################################
        ["Better Caves"."Underground Generation".Miscellaneous]
            # Lava (or water in water regions) spawns at and below this y-coordinate.
            # Default: 10
            #Range: 0 ~ 255
            "Liquid Altitude" = 10
            # The block used for lava generation at and below the Liquid Altitude.
            #     Defaults to regular lava if an invalid block is given.
            # Default: minecraft:lava
            "Lava Block" = "minecraft:lava"
            # The block used for water generation in water caves/caverns at and below the Liquid Altitude.
            #     Defaults to regular water if an invalid block is given.
            # Default: minecraft:water
            "Water Block" = "minecraft:water"
            # Replace naturally generated floating gravel on the ocean floor with andesite.
            #     Can prevent lag due to cascading gravel falling into caverns under the ocean.
            # Default: true
            "Prevent Cascading Gravel" = true
            # Ignores surface detection for closing off caves and caverns, forcing them to spawn
            #     up until their max height. Useful for Nether-like dimensions with no real "surface".
            # Default: false
            "Override Surface Detection" = false
            # Set to true to enable flooded underground in ocean biomes.
            # Default: true
            "Enable Flooded Underground" = true

    ###########################################################################################################
    ## Configure how bedrock generates.
    ###########################################################################################################
    ["Better Caves"."Bedrock Generation"]
        # Replaces the usual bedrock generation pattern with flat layers.
        #     Activates in all whitelisted dimension, where applicable. The End is unaffected.
        # Default: true
        "Flatten Bedrock" = true
        # The width of the bedrock layer. Only works if Flatten Bedrock is true.
        #Range: 0 ~ 256
        "Bedrock Layer Width" = 1

    ###########################################################################################################
    ## Don't mess with these settings for normal gameplay.
    ###########################################################################################################
    ["Better Caves"."DEBUG Settings"]
        # The visualizer creates worlds where there are no blocks except those indicating where caves
        #     and caverns would be carved out in a regular world. This is useful for visualizing the kinds of
        #     caves and caverns your current config options will create.
        #     Type 1 Cave: Wooden Planks
        #     Type 2 Cave: Cobblestone
        #     Lava Cavern: Redstone Block
        #     Floored Cavern: Gold Block
        #     Surface Cave: Emerald Block
        #     Vanilla Cave: Bricks
        # Default: false
        "Enable DEBUG Visualizer" = false
⚠️ **GitHub.com Fallback** ⚠️