Quick Nav


Back To Top

Overview

Cave Control allows you to control the generation of caves and underground structures. These settings do not affect the nether or mod dimensions, but may affect the Twilight Forest.

Configuration

Though there are some global config options using the normal mod config system, CaveControl primarily uses the LuaBlock system used for many of my mods where more complex configuration is required. A group of these parameters is here called a "rule set", defining a value for each controllable parameter. There is a 'global' rule set which is applied to all biomes; in addition, each biome can have a unique rule set assigned to override some or all of the global parameters. This allows you to have, for example, a 0.7x cave rate global modifier, with Taiga biomes having 1.5x caves instead.

To define rule sets, or edit the global one, see the files in the Reika/Cave_Definition folder in the standard config folder. Add new files here to define additional rulesets, and edit global.lua if you wish to change the global ruleset. info.txt contains a summarized version of this and the below information.

Control Parameters

Ruleset Description

Ruleset definition is very simple, with a single-level LuaBlock that simply maps parameters to values. Unlike in most cases, the value of type here is significant; this value will define which biome for which the ruleset applies, or if equal to "global" will define it as the global rule set. For biome-specific rule sets, the format is [ID]#[NAME], where [ID] is the biome ID and [NAME] is the biomeName property. If you do not know the biome name, "*" will act as a wildcard, and only the ID will be checked. Note that mutated and subbiomes (eg ForestHills, Extreme Hills Edge, Ice Spikes (a derivative of Ice Plains), and Flower Forest) cannot have their own definitions; they inherit from the parent biome.

Sample Ruleset

A sample rule set may look like this:
{
type = "32#MegaTaiga"
density = 0.7
dungeons = 4.0
gen_strongholds = true
large_cave_chance = 15.0
large_cave_size = 1.5
large_cave_variance = 9.0
max_y = 32
ravines = 1.15
}

This rule set overrides the specified property values - for example applying a 70% modifier to overall cave spawning, and reducing the chance of large cave nodes by almost half - while inheriting everything else from the global set.

Property List

This is the full set of properties you can configure; the defaults listed are the defaults the global ruleset generates with in a new mod installation, and are the values used in vanilla (or simply 1.0 for multipliers).
Definition KeyDescriptionDefault Value
densityCave Density Multiplier1.0
ravinesRavine Frequency Multiplier1.0
mineshaftsMineshafts Frequency Multiplier1.0
dungeonsDungeon Spawn Factor1.0
gen_strongholdsGenerate Strongholds true
lava_cavesFill Deep Caves with Lava true
water_cavesFill Deep Caves with Water false
cave_sizeCave Node Size Multiplier1.0
large_cave_chanceLarge Cave Node Chance25.0
large_cave_sizeLarge Cave Node Size Factor1.0
large_cave_varianceLarge Cave Node Size Variance6.0
min_yCave Generation Y Min 0
max_yCave Generation Y Max 256
vscaleVertical Scale Factor1.0

Property Details

Density Multipliers

The cave density multiplier allows you to make caves sparser or denser. To disable caves entirely, set the density to zero. Sparser caves generally mean easier survival play and are simpler for creative worlds, while denser caves allow for more exploration. Various structures such as ravines have their own independent density multipliers, and which can be disabled with a zero value.

Note that excessive densities can easily cause lag and even crash the game, as the Minecraft cave generation algorithms are surprisingly intensive.

Dimension Filters

Cave definitions can optionally have a dimensions child block, which contains a list of integer dimension IDs. If this is specified, the cave definition will only apply to the specified dimensions. This allows you to exclude some worlds from custom generation, or to have two otherwise-conflicting definitions for the same biome ID. Not specifying the dimension list, or specifying an empty list, will result in the definition having no dimension restrictions.

Generation Modifiers

Some modifiers are simple toggles, such as whether to fill caves below y=10 with lava (as in vanilla) or water instead, or whether to allow stronghold spawns in the biome. Numeric values may be multipliers, such as the chance or size variance of a "large" cave node or the vertical scale factor of the generation algorithm, or they may be direct values, such as the min and max Y values (which allow for restricting caves to certain depths if desired).

Note that while disabling deep lava and exposing the bedrock in the deep caves can generally make caving safer, mobs can spawn more frequently due to a lack of lava lighting, and it greatly reduces the amount of early-game lava available for obsidian, decoration, or fuel in tech mods. Furthermore, replacing this with water sharply reduces the density of those caves, as water-filled caves are not taken to be valid cave nodes by the generation algorithm.

Comparisons

2x Caves and 4x Ravines

0.1x Caves and 0.1x Ravines

Configuration Settings

This mod contains several config options to modify values and behaviors - such as for balance or server safety concerns, or simply personal taste - to your preferences. Note that several settings may have bounds imposed on their values, either logically or explicitly; these can usually be seen in the actual settings files or ingame. These are listed in order found in the source code, which is generally the order in which they were added; They may be present in a different order ingame or in the configuration files.
The settings for the mod, when installed, can be found in the 'config/Reika' subfolder of the MC instance.

Generate Caves in Superflat

Type: boolean
Current Default Value:
false

Generate Ravines in Superflat

Type: boolean
Current Default Value:
false

Stronghold Minimum Radius

Type: int
Current Default Value:
768

Stronghold Maximum Radius

Type: int
Current Default Value:
1280

Stronghold Count

Type: int
Current Default Value:
3

Stronghold Ring Count

Type: int
Current Default Value:
1

Stronghold Ring Scale

Type: float
Current Default Value:
1F

Block Strongholds in Oceans

Type: boolean
Current Default Value:
true

Source Code

The source code for CaveControl can be found here:GitHub

Downloads

1.7.10: Via CurseForge
1.6.4: Via Adfly