# hbmspace:tilted_spire

Tilted rock spires.

A chunk starts a spire with probability `1/c^2`, where `c` is `chance_high` where `noise` exceeds the threshold and `chance_low` elsewhere. The spire is a cone of `rock` with radius at Y `mid`, narrowing upward and leaning by the tilt, built down onto existing ground; each column's top block is `regolith`. Base structures avoid it.

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `biomes` | Vanilla structure biomes. | |
| `spawn_overrides` | Vanilla spawn overrides. | |
| `step` | Vanilla generation step. | |
| `terrain_adaptation` (Optional) | Vanilla terrain adaptation; default `none`. | |
| `noise` | Noise ID; inline noise raises an error. | |
| `threshold` | Noise level selecting `chance_high`, compared as `2t - 1`. | `f32` |
| `chance_high` | Start chance divisor above the threshold. | `[1, 1024]` |
| `chance_low` | Start chance divisor at or below the threshold. | `[1, 1024]` |
| `min_size` | Smallest radius. | `[1, 64]` |
| `max_size` | Largest radius; must exceed `min_size`. | `[2, 64]` |
| `min_point` | Lowest point factor. | `f32` |
| `max_point` | Highest point factor. | `f32` |
| `min_tilt` | Smallest tilt. | `f32` |
| `max_tilt` | Largest tilt. | `f32` |
| `curve` | Leans quadratically instead of linearly. | |
| `mid` | Y of the full radius. | `i32` |
| `rock` | Spire block. | |
| `rock.Name` | Registered block ID. | |
| `rock.Properties` (Optional) | Block-state property names and string values. | |
| `regolith` | Top block of each column. | |
| `regolith.Name` | Registered block ID. | |
| `regolith.Properties` (Optional) | Block-state property names and string values. | |

## Example

Source path: `data/hbmspace/worldgen/structure/ike/spires.json`

```json
{
  "type": "hbmspace:tilted_spire",
  "biomes": [
    "hbmspace:ike"
  ],
  "chance_high": 6,
  "chance_low": 6,
  "curve": false,
  "max_point": 4.0,
  "max_size": 16,
  "max_tilt": 2.5,
  "mid": 86,
  "min_point": 0.5,
  "min_size": 6,
  "min_tilt": 0.2,
  "noise": "hbmspace:spires",
  "regolith": {
    "Name": "hbmspace:ike_regolith"
  },
  "rock": {
    "Name": "hbmspace:ike_stone"
  },
  "spawn_overrides": {},
  "step": "lakes",
  "terrain_adaptation": "none",
  "threshold": 0.0
}
```
