Most Gatherer settings live in volvox.Config 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.
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).
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) |
modules.singleButtonAssistant is a module toggle, not a gatherer.* key. It is listed here because Gatherer/Module.lua seeds it alongside Gatherer defaults.
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 |