> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lootroute.volvox.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Every gatherer.* config key, its default value, and what it controls.

Most Gatherer settings live in [`volvox.Config`](/framework/configuration) under the `gatherer.*` namespace. Defaults are declared once in `Gatherer/Module.lua` via `volvox.Config:SetDefault`; the runtime mirrors those keys into bot-core globals through `SyncFromFrameworkConfig` in `Gatherer/ConfigUI.lua`.

<Note>
  Call sites can use short, typo-resistant keys through the global `GathererConfigKeys` table (e.g. `GathererConfigKeys.enabled` → `"gatherer.enabled"`) together with `volvox.Gatherer:GetSetting(key, default)` / `:SetSetting(key, value)`.
</Note>

## Core

| Key                             | Default | Purpose                                             |
| ------------------------------- | ------- | --------------------------------------------------- |
| `gatherer.enabled`              | `false` | Master on/off for the bot                           |
| `gatherer.enable_herbalism`     | `true`  | Gather herb nodes                                   |
| `gatherer.enable_mining`        | `true`  | Gather ore nodes                                    |
| `modules.singleButtonAssistant` | `false` | Single Button Assistant module toggle (seeded here) |

<Note>
  `modules.singleButtonAssistant` is a module toggle, not a `gatherer.*` key. It is listed here because `Gatherer/Module.lua` seeds it alongside Gatherer defaults.
</Note>

## Routes and movement

| Key                         | Default    | Purpose                               |
| --------------------------- | ---------- | ------------------------------------- |
| `gatherer.route`            | `""`       | Selected route name                   |
| `gatherer.new_route_name`   | `""`       | Name for a route being recorded       |
| `gatherer.new_route_radius` | `50`       | Waypoint radius for recorded routes   |
| `gatherer.mount_mode`       | `"Random"` | Mount selection strategy              |
| `gatherer.fly_form`         | `"Random"` | Flight form selection                 |
| `gatherer.flight_speed`     | `20`       | Flight speed                          |
| `gatherer.gatherrange`      | `500`      | Maximum node pickup range             |
| `gatherer.use_nav_server`   | `false`    | Use the navigation server for pathing |

## Scanning

| Key                          | Default | Purpose                      |
| ---------------------------- | ------- | ---------------------------- |
| `gatherer.scan_interval`     | `0.35`  | Seconds between object scans |
| `gatherer.object_scan_range` | `250`   | Object scan radius           |
| `gatherer.max_scan_objects`  | `160`   | Object scan cap              |
| `gatherer.ignore_mid_herb`   | `false` | Skip Midnight herb nodes     |
| `gatherer.ignore_mid_ore`    | `false` | Skip Midnight ore nodes      |
| `gatherer.ignore_mid_fish`   | `false` | Skip Midnight fishing nodes  |

## Node filtering and blacklisting

| Key                                      | Default | Purpose                                           |
| ---------------------------------------- | ------- | ------------------------------------------------- |
| `gatherer.blacklist_radius`              | `5`     | Radius for position blacklist entries             |
| `gatherer.whitelist_radius`              | `5`     | Radius for position whitelist entries             |
| `gatherer.temp_blacklist_failed_gather`  | `true`  | Temporarily blacklist nodes after a failed gather |
| `gatherer.failed_gather_timeout`         | `5`     | Seconds before a gather attempt counts as failed  |
| `gatherer.failed_gather_blacklist_ttl`   | `120`   | TTL for the failed-gather blacklist               |
| `gatherer.depleted_node_ttl`             | `600`   | TTL for depleted-node tracking                    |
| `gatherer.skip_submerged_nodes`          | `false` | Skip underwater nodes                             |
| `gatherer.skip_cave_nodes`               | `false` | Skip cave nodes                                   |
| `gatherer.skip_inaccessible_underground` | `true`  | Skip nodes buried underground                     |
| `gatherer.underground_skip_depth`        | `12`    | Depth threshold for underground skip              |
| `gatherer.underground_retry_ttl`         | `60`    | Retry TTL for skipped underground nodes           |

## Combat and safety

| Key                                     | Default | Purpose                                                                                                  |
| --------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------- |
| `gatherer.mobrange`                     | `0`     | Mob avoidance radius around nodes                                                                        |
| `gatherer.avoid_herb_mobs`              | `false` | Avoid mobs near herb nodes                                                                               |
| `gatherer.avoid_ore_mobs`               | `false` | Avoid mobs near ore nodes                                                                                |
| `gatherer.avoid_elite_mobs`             | `true`  | Avoid elite mobs                                                                                         |
| `gatherer.kill_wild_node_mobs`          | `false` | Kill mobs guarding wild nodes                                                                            |
| `gatherer.mob_block_blacklist_attempts` | `2`     | Attempts before blacklisting a mob-blocked node                                                          |
| `gatherer.mob_block_retry_ttl`          | `45`    | Retry TTL for mob-blocked nodes                                                                          |
| `gatherer.flee_timeout`                 | `12`    | Seconds before flee gives up                                                                             |
| `gatherer.fight_acquire_range`          | `45`    | Target acquisition range in combat                                                                       |
| `gatherer.fight_move_range`             | `6`     | Melee approach distance; combat chase keeps moving until target-coordinate distance is within this range |
| `gatherer.resume_gather_after_combat`   | `true`  | Return to the interrupted node after combat                                                              |
| `gatherer.resume_gather_ttl`            | `60`    | TTL for the resume-gather memory                                                                         |
| `gatherer.loot_killed_mobs`             | `true`  | Loot or harvest mobs killed in combat, including wild-node guardian corpses                              |
| `gatherer.loot_killed_mobs_range`       | `30`    | Loot search radius                                                                                       |

## Death recovery

| Key                            | Default | Purpose                                                |
| ------------------------------ | ------- | ------------------------------------------------------ |
| `gatherer.dead_scan_units`     | `120`   | Unit scan cap while dead                               |
| `gatherer.dead_scan_objects`   | `160`   | Object scan cap while dead                             |
| `gatherer.spirit_healer_range` | `350`   | Spirit Healer search radius for ghost recovery pathing |

## Overload and mounted gathering

| Key                                | Default  | Purpose                                                             |
| ---------------------------------- | -------- | ------------------------------------------------------------------- |
| `gatherer.overload_herb`           | `false`  | Overload herb nodes                                                 |
| `gatherer.overload_ore`            | `false`  | Overload ore nodes                                                  |
| `gatherer.overload_wild_herb_only` | `false`  | Only overload wild herb nodes                                       |
| `gatherer.overload_wild_ore_only`  | `false`  | Only overload wild ore nodes                                        |
| `gatherer.lambent_overload`        | `false`  | Overload Lambent nodes                                              |
| `gatherer.plant_resilient_seed`    | `true`   | Plant resilient seeds                                               |
| `gatherer.mounted_gather`          | computed | `true` only when `gatherer.mount_mode` is `"Druid"` at registration |
| `gatherer.mounted_gather_attempts` | `3`      | Mounted gather retry attempts                                       |

## Consumables

| Key                                     | Default | Purpose                                                                                                                                                                                      |
| --------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gatherer.use_phials`                   | `false` | Use phials; `ITEMUSE` defers while in combat or near an enemy                                                                                                                                |
| `gatherer.use_potions`                  | `false` | Use potions                                                                                                                                                                                  |
| `gatherer.use_haranir_perception_phial` | `true`  | Use Hara'nir Perception phial                                                                                                                                                                |
| `gatherer.use_tool_enhancements`        | `false` | Use tool enhancements                                                                                                                                                                        |
| `gatherer.use_refulgent_razorstone`     | `true`  | Use Refulgent Razorstone                                                                                                                                                                     |
| `gatherer.use_midnight_foods`           | `true`  | Use Midnight foods                                                                                                                                                                           |
| `gatherer.use_azeroot_tea`              | `true`  | Use Azeroot tea                                                                                                                                                                              |
| `gatherer.use_argentleaf_tea`           | `false` | Use Argentleaf tea                                                                                                                                                                           |
| `gatherer.use_sanguithorn_tea`          | `false` | Use Sanguithorn tea                                                                                                                                                                          |
| `gatherer.use_midnight_mulch`           | `true`  | Use Midnight mulch before herb gathers — picks the best owned, enabled, usable, off-cooldown tier in priority order: Empowered Mulch (238389), Imbued Mulch (238388), Magical Mulch (238387) |
| `gatherer.use_firewater`                | `false` | Use firewater                                                                                                                                                                                |
| `gatherer.use_knowledge_items`          | `true`  | Use profession knowledge items                                                                                                                                                               |
| `gatherer.auto_mid_herb_kp`             | `false` | Auto-spend Midnight herbalism knowledge points                                                                                                                                               |
| `gatherer.auto_mid_mining_kp`           | `false` | Auto-spend Midnight mining knowledge points                                                                                                                                                  |

## Miscellaneous

| Key                          | Default | Purpose                                                  |
| ---------------------------- | ------- | -------------------------------------------------------- |
| `gatherer.anti_afk`          | `false` | Anti-AFK nudge                                           |
| `gatherer.anti_afk_interval` | `55`    | Anti-AFK interval in seconds                             |
| `gatherer.show_status`       | `false` | Show the on-screen status frame                          |
| `gatherer.debug_scan`        | `false` | Enable [debug logging](/framework/logging#debug-logging) |
