# Oil Derrick

File: `data/hbm/hbm/machine_config/derrick.json`. Settings load when the world opens. See [Datapack Settings](https://movblock.mov/ntm-next/26.3/wiki/settings.md) for replacement behavior.

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `delay` | Ticks between extraction attempts; default `50`. | `[1, i32::MAX]` |
| `drain_chance` | Probability that an extraction depletes its deposit; default `0.05`. | `[0, 1]` |
| `gas_per_deposit_max` | Maximum gas extracted per deposit operation, in mB; default `500`. | `[0, i32::MAX]` |
| `gas_per_deposit_min` | Minimum gas extracted per deposit operation, in mB; default `100`. | `[0, i32::MAX]` |
| `oil_per_deposit` | Oil extracted per deposit operation, in mB; default `500`. | `[0, i32::MAX]` |
| `power_capacity` | Machine HE buffer capacity; default `100000`. | `[0, i32::MAX]` |
| `power_consumption` | Base HE consumption during operation; default `100`. | `[0, i32::MAX]` |

Validation requires $0 \le \mathrm{gas\_per\_deposit\_max} - \mathrm{gas\_per\_deposit\_min} < \texttt{i32::MAX}$.

## Example

```json
{
  "delay": 50,
  "drain_chance": 0.05,
  "gas_per_deposit_max": 500,
  "gas_per_deposit_min": 100,
  "oil_per_deposit": 500,
  "power_capacity": 100000,
  "power_consumption": 100
}
```
