# hbmspace:roots

Flat root tunnels filled with a block.

Flat, thin tunnels that turn `replaceable` blocks into `fill`, or `lava_fill` at and below `lava_level`. Once a column passed a `top` block, a `filler` block above the cut becomes `cover`.

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `probability` | Chance that a source chunk starts the carver. | `[0, 1]` |
| `y` | Vanilla height provider for start heights. | |
| `yScale` | Vanilla float provider: vertical scale of rooms. | |
| `lava_level` | Vertical anchor at and below which cuts fill with the lava block. | |
| `replaceable` | Block ID, `#tag` or ID list: blocks the carver may cut. | |
| `debug_settings` (Optional) | Vanilla carver debug settings; unused. | |
| `fill` | Tunnel fill. | |
| `fill.Name` | Registered block ID. | |
| `fill.Properties` (Optional) | Block-state property names and string values. | |
| `lava_fill` | Fill at and below `lava_level`. | |
| `lava_fill.Name` | Registered block ID. | |
| `lava_fill.Properties` (Optional) | Block-state property names and string values. | |
| `top` | Block ID, `#tag` or ID list: surface blocks. | |
| `filler` | Block ID, `#tag` or ID list: blocks covered when above a cut. | |
| `cover` | Covering block. | |
| `cover.Name` | Registered block ID. | |
| `cover.Properties` (Optional) | Block-state property names and string values. | |

The top-level `type` selects this carver; `config` supplies the fields above.

## Example

Source path: `data/hbmspace/worldgen/configured_carver/laythe/roots.json`

```json
{
  "type": "hbmspace:roots",
  "config": {
    "cover": {
      "Name": "minecraft:grass_block",
      "Properties": {
        "snowy": "false"
      }
    },
    "fill": {
      "Name": "hbmspace:laythe_root"
    },
    "filler": [
      "hbmspace:laythe_silt",
      "minecraft:ice"
    ],
    "lava_fill": {
      "Name": "minecraft:obsidian"
    },
    "lava_level": {
      "absolute": 9
    },
    "probability": 0.14285715,
    "replaceable": "minecraft:stone",
    "top": [
      "hbmspace:laythe_silt",
      "minecraft:snow_block"
    ],
    "y": {
      "type": "minecraft:biased_to_bottom",
      "inner": 8,
      "max_inclusive": {
        "absolute": 127
      },
      "min_inclusive": {
        "absolute": 0
      }
    },
    "yScale": 0.5
  }
}
```
