# Gas Centrifuge

Each row is one stage in the gas-centrifuge enrichment ladder.

Each `stage` and each `feed` fluid may appear in one row only; a duplicate fails recipe loading.

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `type` | Selects the `hbm:gas_centrifuge` recipe format. | |
| `name` (Optional) | Internal lookup name; defaults to the last segment of the recipe resource path. | |
| `output_items` | Fixed or weighted item-output positions; defaults to an empty list. | |
| `output_items.item ID` | Fixed output: String form for one item. | |
| `output_items.id` | Item ID in a stack object. | |
| `output_items.count` (Optional) | Stack size; default 1. | `[1, 99]` |
| `output_items.components` (Optional) | Item-component values. | |
| `output_items.chance` (Optional) | Output chance; omit for a guaranteed output. Some machines roll each item of the stack separately. | Rounds to weight `[1, 999]` of 1000 |
| `output_items.data` | Weighted choice: Stack object or an empty object for no output. | |
| `output_items.weight` | Relative selection weight; a positive total selects an output. | `[0, i32::MAX]` each; $\sum_i w_i \le \texttt{i32::MAX}$ |
| `duration` | Process duration in ticks; defaults to 0. | `i32` |
| `power` | HE demand; defaults to 0. | `i64` |
| `order` (Optional) | Sort position within the recipe table; lower values first, default 2147483647. | `i32` |
| `consumed` (Optional) | Stage volume consumed per operation; use `[1, 8000]` for transfer; default 0. | `i32` |
| `stage` | Name of this enrichment stage, displayed through the translation key `hbmpseudofluid.<stage>` in lowercase; stages are internal identities, not pumpable fluids. | |
| `produced` (Optional) | Stage volume passed to `next`; use `[0, 8000]`; default 0. | `i32` |
| `next` (Optional) | Downstream stage name; omit for a terminal stage. | |
| `requires_upgrade` (Optional) | Requires the gas-centrifuge speed upgrade when true; default false. | |
| `feed` (Optional) | Registered input fluid feeding this stage. | |
| `dead_end_volume` (Optional) | Output-stage volume converted into `dead_end_items` when no gas centrifuge is downstream; use `[1, 8000]`; default 0. | `i32` |
| `dead_end_items` (Optional) | Item stack templates produced at a dead end; default empty. | |
| `dead_end_items.id` | Item ID. | |
| `dead_end_items.count` (Optional) | Stack size; default 1. | `[1, 99]` |
| `dead_end_items.components` (Optional) | Item-component values. | |

## Example

Source path: `data/hbm/recipe/gas_centrifuge/gascent.mud_heavy.json`

```json
{
  "type": "hbm:gas_centrifuge",
  "consumed": 500,
  "duration": 150,
  "order": 6,
  "output_items": [
    "hbm:powder_iron",
    "hbm:dust",
    "hbm:nuclear_waste_tiny"
  ],
  "power": 200,
  "stage": "mud_heavy"
}
```
