# hbmspace:ttree

Tekto trees.

The tree needs rubber grass or rubber silt below. Its trunk height is `tallest` plus a random value below `smallest`; a leaf ellipsoid sits `offset` below the top, and `vines` hangs vinyl vines. The Tekto saplings grow the features `hbmspace:sapling_vinyl` and `hbmspace:sapling_pvc`.

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `offset` | Leaf centre below the trunk top. | `i32` |
| `smallest` | Random trunk addition bound. | `[1, i32::MAX]` |
| `tallest` | Base trunk height. | `[0, i32::MAX]` |
| `xz` | Horizontal leaf radius. | `[1, i32::MAX]` |
| `y` | Vertical leaf radius. | `[1, i32::MAX]` |
| `vines` | Hangs vinyl vines. | |
| `log` | Trunk block. | |
| `log.Name` | Registered block ID. | |
| `log.Properties` (Optional) | Block-state property names and string values. | |
| `leaves` | Leaf block. | |
| `leaves.Name` | Registered block ID. | |
| `leaves.Properties` (Optional) | Block-state property names and string values. | |

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

## Example

Source path: `data/hbmspace/worldgen/configured_feature/sapling_pvc.json`

```json
{
  "type": "hbmspace:ttree",
  "config": {
    "leaves": {
      "Name": "hbmspace:rubber_leaves",
      "Properties": {
        "distance": "7",
        "persistent": "false",
        "waterlogged": "false"
      }
    },
    "log": {
      "Name": "hbmspace:pvc_log",
      "Properties": {
        "axis": "y"
      }
    },
    "offset": 2,
    "smallest": 5,
    "tallest": 7,
    "vines": false,
    "xz": 4,
    "y": 3
  }
}
```
