> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/edautofighter/essential/main-configuration.md).

# Main Configuration

Everything in `config.yml` is hot-reloadable with `/autofighter reload`.

### Data Settings

**`data.method`**

* **Default:** `h2`
* **Description:** Database method to use. Currently only H2 is supported
* **Available options:** `h2` (H2 embedded database)

**`data.save-interval`**

* **Default:** `60`
* **Description:** Seconds between periodic autosaves to the database

***

### Debug

**`debug`**

* **Default:** `false`
* **Description:** Verbose console logging of the fighter (targeting, distances, hits). Turn on to diagnose issues

***

### Autofighter Settings

The packet NPC clone that fights for the player.

**`autofighter.scale`**

* **Default:** `1.2`
* **Description:** Size of the clone relative to the player (`2.0` = twice as big). No-op on MC 1.20.4

**`autofighter.ride`**

* **Default:** `true`
* **Description:** Seat the real player on top of the clone (client-side passenger). Purely cosmetic

**`autofighter.hide-name-tag`**

* **Default:** `true`
* **Description:** Hide the clone's name tag

**`autofighter.copy-weapon`**

* **Default:** `true`
* **Description:** Put the player's EdDungeons sword in the clone's main hand (found even when it isn't in their hand). Falls back to whatever they're holding if the sword subsystem is unavailable

**`autofighter.copy-armor`**

* **Default:** `true`
* **Description:** Copy the player's worn armor onto the clone

**`autofighter.tick-interval`**

* **Default:** `2`
* **Description:** How often (in server ticks) the fighter re-targets, moves and swings. Lower = smoother but heavier

#### Movement

**`autofighter.movement.base-speed`**

* **Default:** `0.45`
* **Description:** Base blocks-per-tick the clone moves toward its target

**`autofighter.movement.speed-per-level`**

* **Default:** `0.15`
* **Description:** Extra blocks-per-tick added per level of the Speed upgrade

**`autofighter.movement.attack-range`**

* **Default:** `2.5`
* **Description:** The clone stops this many blocks from the mob and starts hitting

**`autofighter.movement.teleport-threshold`**

* **Default:** `7.0`
* **Description:** If a single step would exceed this many blocks, the clone snaps with an absolute teleport instead of a smooth relative move (relative moves are capped at \~8 blocks)

***

### Time Settings

See [Autofighter Time](/p/edautofighter/essential/autofighter-time.md) for how the time system works.

**`time.base-daily-limit-minutes`**

* **Default:** `300`
* **Description:** Base daily usage limit in minutes (before the Daily Limit upgrade)

**`time.daily-limit-minutes-per-level`**

* **Default:** `5`
* **Description:** Extra daily-limit minutes granted per level of the Daily Limit upgrade

**`time.reset-hours`**

* **Default:** `24`
* **Description:** How long (hours) until a player's daily used-time resets

**`time.low-time-warning-seconds`**

* **Default:** `60`
* **Description:** Warn the player in chat when their remaining time drops below this many seconds

***

### Upgrade Settings

See [Upgrades](/p/edautofighter/essential/upgrades.md) for details and the cost formula.

***

### Target Settings

See [Target Modes](/p/edautofighter/essential/target-modes.md) for the available modes and list formatting.

***

### UI Text Fragments

Every player-facing word the plugin builds at runtime lives here (chat lines are in `messages.yml`). Colour codes allowed.

**`text.cost-max`**

* **Default:** `MAX`
* **Description:** Shown for `{*_cost}` placeholders once an upgrade is maxed

**`text.time-none`**

* **Default:** `None`
* **Description:** Shown for `{time_balance}` when a player has no time

**`text.duration`**

* **Defaults:** `hours: 'h'`, `minutes: 'm'`, `seconds: 's'`, `zero: '0s'`
* **Description:** Unit labels used to render every time value (`5h 34m`, `1m 5s`...). `zero` is shown for a zero/blank duration

***

### GUI Settings

**`guis.main`**

* **Default:** `autofighter`
* **Description:** GUI id (file under `guis/`) opened by `/autofighter`

**`guis.upgrades`**

* **Default:** `autofighter-upgrades`
* **Description:** GUI id (file under `guis/`) opened by the Upgrades button
