Custom carver

Carvers are used to add caves and canyons.

Carver Type
A carver type (sometimes called carver) determines what to carve. There's three carver types:


 * - Carves a cave. A cave is a long tunnel that sometimes branches. Somtimes one or more tunnels start from a circular void.
 * - Similar to, but with a less frequency and wider tunnels. And aquifer doesn't work. The carved blocks below   are filled with lava.
 * - Carves a canyon.

Configured Carver
A carver type determines what to carve, but the details need to be configured additionally. After configured, it is called a configured carver, or simply called a carver.

Configured carvers are stored as JSON files within a data pack in the path.

JSON format

 * The root object.
 * The ID of carver type.
 * Configuration values for the carver.
 * The probability that each chunk attempts to generate carvers. Value between 0 and 1 (both inclusive).
 * The height at which this carver attempts to generate.
 * The Y-level below or equal to which the carved areas are filled with lava. Doesn't affect  (where lava level is always  ).
 * Blocks the can be carved. Can be a block ID, a block tag, or a list of block IDs.
 * (optional) Replaces blocks in the carved areas for debugging.
 * (optional, defauts to false) Enable debug mode for this carver.
 * (optional, defaults to acacia button's default state) Replaces air blocks.
 * (optional, defaults to acacia button's default state) Replaces water blocks and then waterlogs these blocks.
 * (optional, defaults to acacia button's default state) Replaces lava blocks.
 * (optional, defaults to acacia button's default state) Replaces barriers of aquifers.
 * If carver type is  or , additional fields are as follows :
 * Vertically scales circular voids.
 * Horizonally scales cave tunnels. Doesn't affect the length of tunnels.
 * Vertically scales cave tunnels. Doesn't affect the length of tunnels.
 * Value between -1.0 and 1.0 (both inclusive). Change the shape of the cave's horizontal floor. If 0.0, carves the terrain with ellipsoids. If 1.0, carves with upper semi-ellipsoids, resulting in a level floor.
 * If carver type is, additional fields are as follows :
 * Vertically scales canyons.
 * Vertical rotation as a canyon extends.
 * The shape to use for the ravine.
 * Scales the length of canyons. Higher values make canyons longer.
 * Scales the breadth and height of canyons.
 * Scales the breadth of canyons. Higher values make canyons wider.
 * Vertically scales canyons. Higher values make canyons deeper.
 * Scales the height based on the horizontal distance from the canyon's center, resulting in deeper center.
 * Higher values smooth canyon walls on the vertical axis. Must be not less than 0.
 * If carver type is, additional fields are as follows :
 * Vertically scales canyons.
 * Vertical rotation as a canyon extends.
 * The shape to use for the ravine.
 * Scales the length of canyons. Higher values make canyons longer.
 * Scales the breadth and height of canyons.
 * Scales the breadth of canyons. Higher values make canyons wider.
 * Vertically scales canyons. Higher values make canyons deeper.
 * Scales the height based on the horizontal distance from the canyon's center, resulting in deeper center.
 * Higher values smooth canyon walls on the vertical axis. Must be not less than 0.
 * Scales the breadth of canyons. Higher values make canyons wider.
 * Vertically scales canyons. Higher values make canyons deeper.
 * Scales the height based on the horizontal distance from the canyon's center, resulting in deeper center.
 * Higher values smooth canyon walls on the vertical axis. Must be not less than 0.
 * Higher values smooth canyon walls on the vertical axis. Must be not less than 0.