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:
* cave - Carves a cave. A cave is a long tunnel that sometimes branches. Somtimes one or more tunnels start from a circular void.
* nether_cave - Similar to cave, but with a less frequency and wider tunnels. And aquifer doesn't work. The carved blocks below bottom_y + 32.0 are filled with lava.
* canyon - 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 data/<namespace>/worldgen/configured_carver.
===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 nether_cave (where lava level is always bottom_y + 31). (This field is seemingly ignored and always set to -56 (MC-237017), needs testing)
**** 
***: Blocks that 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 cave or nether_cave, 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 canyon, 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 greater than 0.
==History ==
zh:自定义雕刻器