# Continuous radiation sources

Block sources and emission rates.

File: `data/<namespace>/hbm/rad_source/<rule>.json`.

## Example:

```json
{
  "targets": "minecraft:stone",
  "rate": {
    "type": "fixed",
    "emission": 0.005,
    "saturation": 1.0
  }
}
```

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `targets` | Block ID, block tag, or ID list receiving the source rule. | |
| `state` (Optional) | Vanilla state-property predicate; defaults to every state of each target. | |
| `rate` | Emission model selected by its type. | |
| `rate.type` | fixed or item_hazard. | |
| `rate.emission` | Per-tick radiation added by a fixed source. | finite `f64` |
| `rate.saturation` (Optional) | Per-source relaxation parameter; default 0. | finite `f64` |

## Emission rates

Shipped absorbers use negative emission with zero saturation.

`item_hazard` derives an emission of $\frac{\mathrm{raw\_item\_radiation}\cdot 0.1}{20}$ and a saturation equal to the raw item radiation.

Express a state-dependent rate with separate state-filtered rules.
