# hbm:legacy_start

Assembly growth and fallback limits on a starting pool element.

Use this single-template element as an assembly's starting piece to control growth through piece-count and horizontal-distance limits. Reaching either limit selects only fallback-pool candidates. Fallback pieces can still increase the assembly's piece count. Vanilla depth and outer placement bounds also apply.

Fallback candidates in this assembly skip the vanilla overlap test. Below both limits, a fallback is refused when the cell in front of its source connector lies in another piece. At either limit, a fallback is refused only at the source's incoming connector.

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `element_type` | `hbm:legacy_start`. | |
| `location` | Structure-template ID. | |
| `processors` | Vanilla processor-list ID or inline processor list. | |
| `projection` | Vanilla jigsaw projection: rigid or terrain_matching. | |
| `override_liquid_settings` | Optional vanilla liquid-setting override. | |
| `size_limit` | Placed-piece count at which normal growth switches to fallbacks; includes the starting piece. | `[1, 1024]` |
| `range_limit` | Horizontal distance at which a source piece switches to fallbacks. Uses the larger absolute X or Z displacement of its bounding-box center from the start position, in blocks. | `[1, 128]` |
| `height_offset` (Optional) | Y offset applied by `hbm:legacy_jigsaw` after averaging terrain across the rotated footprint; default 0. | `i32` |
| `align_to_terrain` (Optional) | Grounds this piece on its own footprint when placed by `hbm:legacy_jigsaw`; otherwise it moves with the first unaligned piece. Default false. | |

## Example:

The element in `data/hbm/worldgen/template_pool/meteor/start.json`:

```json
{
  "element_type": "hbm:legacy_start",
  "location": "hbm:meteor/meteor-core",
  "processors": "hbm:meteor_bricks",
  "projection": "rigid",
  "size_limit": 128,
  "range_limit": 128
}
```
