# Forcefield Emitter

File: `data/hbm/hbm/machine_config/forcefield.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 |
| - | - | - |
| `base_consumption` | Base HE cost per active force-field tick; default `1000`. | `[0, i32::MAX]` |
| `base_radius` | Force-field radius before upgrades, in blocks; default `16`. | `[0, i32::MAX]` |
| `cooldown_modifier` | Force-field recovery delay added per unit of radius; default `1`. | `[0, f64::MAX]` |
| `health_regen_modifier` | Force-field health recovery multiplier; default `1`. | `[0, f64::MAX]` |
| `power_capacity` | Machine HE buffer capacity; default `1000000`. | `[0, i64::MAX]` |
| `radius_consumption` | Additional HE cost per active tick and radius upgrade; default `500`. | `[0, i32::MAX]` |
| `radius_upgrade` | Radius added by each radius upgrade, in blocks; default `16`. | `[0, i32::MAX]` |
| `shield_consumption` | Additional HE cost per active tick and shield upgrade; default `250`. | `[0, i32::MAX]` |
| `shield_upgrade` | Maximum force-field health added per shield upgrade; default `50`. | `[0, i32::MAX]` |

## Example

```json
{
  "base_consumption": 1000,
  "base_radius": 16,
  "cooldown_modifier": 1,
  "health_regen_modifier": 1,
  "power_capacity": 1000000,
  "radius_consumption": 500,
  "radius_upgrade": 16,
  "shield_consumption": 250,
  "shield_upgrade": 50
}
```
