# Heatable

Turns a fluid into a hotter fluid by absorbing heat.

Place the object under `traits` in a fluid-property file.

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `steps` | At least one heating conversion; the first step is used by the heat exchanger. | |
| `steps.amount_req` | Input fluid amount consumed, in mB; use a positive divisor. | `i32` |
| `steps.heat_req` | Thermal energy required, in TU; use a positive divisor. | `i32` |
| `steps.produces` | Registered output fluid. | |
| `steps.amount_produced` | Output fluid amount, in mB; use a positive divisor. | `i32` |
| `efficiency` | Heating-mode multipliers keyed by BOILER, HEATEXCHANGER, PWR, ICF, or PA. | |
| `efficiency.<mode>` | Multiplier keyed by the heating or cooling mode. | finite `f64` |

## Example

From `data/hbm/fluid_property/air.json`:

```json
{
  "heatable": {
    "efficiency": {
      "BOILER": 1.0
    },
    "steps": [
      {
        "amount_produced": 1,
        "amount_req": 1,
        "heat_req": 5,
        "produces": "hbm:airblast"
      }
    ]
  }
}
```
