# hbm:oil_bubble

Generates an underground oil bubble through structure-set placement.

Vanilla structure settings follow the [Minecraft data pack format](https://minecraft.wiki/w/Data_pack).

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `type` | Selects the structure implementation. | |
| `biomes` | Vanilla biome set eligible for placement. | |
| `core` | Block state filling the oil bubble. | |
| `core.Name` | Registered block ID. | |
| `core.Properties` (Optional) | Block-state property names and string values. | |
| `fuzzy` | Adds random variation to the bubble boundary. | |
| `max_size` | Exclusive upper radius bound; must exceed `min_size`. | `[1, i32::MAX]` |
| `min_size` | Minimum bubble radius. | `[0, i32::MAX]` |
| `min_y` | Lowest sampled bubble centre Y. | `i32` |
| `range_y` | Height of the sampled centre-Y interval. | `[1, i32::MAX]` |
| `replaceable` | Vanilla rule test selecting blocks the bubble can replace. | |
| `replaceable.predicate_type` | Vanilla rule-test type. | |
| `replaceable.tag` (Optional) | Block tag for tag_match. | |
| `replaceable.block` (Optional) | Block ID for block_match. | |
| `spawn_overrides` | Vanilla mob-spawn overrides inside the structure. | |
| `step` | Vanilla generation step for the structure. | |

## Example

Source path: `data/hbm/worldgen/structure/oil_sand_bubble.json`

*NTM 1.0.0:*

```json
{
  "type": "hbm:oil_bubble",
  "biomes": [
    "minecraft:desert",
    "minecraft:badlands",
    "minecraft:eroded_badlands",
    "minecraft:wooded_badlands"
  ],
  "core": {
    "Name": "hbm:ore_oil_sand"
  },
  "fuzzy": true,
  "max_size": 48,
  "min_size": 16,
  "min_y": 56,
  "range_y": 16,
  "replaceable": {
    "predicate_type": "minecraft:tag_match",
    "tag": "minecraft:sand"
  },
  "spawn_overrides": {},
  "step": "underground_ores"
}
```

*NTM 1.0.1–1.0.4:*

```json
{
  "type": "hbm:oil_bubble",
  "biomes": [
    "minecraft:desert",
    "minecraft:badlands",
    "minecraft:eroded_badlands",
    "minecraft:wooded_badlands"
  ],
  "core": {
    "Name": "hbm:ore_oil_sand"
  },
  "fuzzy": true,
  "max_size": 48,
  "min_size": 16,
  "min_y": 56,
  "range_y": 16,
  "replaceable": {
    "predicate_type": "minecraft:tag_match",
    "tag": "minecraft:sand"
  },
  "spawn_overrides": {},
  "step": "raw_generation"
}
```
