Skip to content

/gather

Script-provided

Registered by gather. Start it with /lua run gather.

Syntax

/gather <subcommand>

Description

Automated gathering — navigates to the nearest harvestable node, interacts with it until it despawns, then moves on to the next one. Supports all harvesting types: Gather, Mine, Chop, Fish, Trap, and Collect.

Requires a navmesh loaded for the current zone (/navmap will show whether one is available). Without a navmesh, nav.moveto falls back to straight-line movement which may get stuck on terrain.

Subcommands

Subcommand What
start Begin (or resume) the gathering loop.
stop Pause gathering. The script stays loaded; resume with start.
allow <verbs> Filter by verb — comma-separated, e.g. Mine,Gather. Only matching nodes are targeted.
allow all Reset to gather all node types (default).
allow Show the current verb filter.
delay <ms> Set the delay between interactions in milliseconds (default 10000, minimum 1000).
radius <units> Set the search radius in game units (default 200).
arrive <dist> Set how close the character walks before interacting (default 4.0).
status Print current settings: state, delay, radius, arrive distance, allow filter, nodes gathered.

Verb types

Each harvestable node has a verb that maps to a harvesting skill:

Verb Skill Example nodes
Gather Gathering unnatural garden, fiery ore, twisted roots
Mine Mining unearthed ore
Chop Foresting felled wood
Trap Trapping creature den
Fish Fishing seared char
Collect Collecting shinies (unnamed collectibles)

Examples

/lua run gather              # load the script and start gathering
/gather allow Mine           # only mine ore nodes
/gather allow Mine,Gather    # mine and gather
/gather allow all            # reset to all node types
/gather delay 8000           # 8 second delay between interactions
/gather stop                 # pause
/gather start                # resume
/gather status               # show current settings
/lua stop gather             # unload the script entirely

How it works

  1. Scans all actors for the nearest node matching actor.is_harvestable() and the verb filter.
  2. Uses nav.moveto() to walk there via the zone navmesh.
  3. Targets the node with eq2.target_by_id(), then sends the interaction via eq2.zone_door.interact().
  4. Polls every 500ms for the node to despawn; re-interacts after the configured delay.
  5. Once the node despawns, finds the next nearest node and repeats.

See also

  • /nav — the navigation system used for movement.
  • /navmap — visual navmesh display and zone mesh status.
  • /autoloot — automatic looting (pairs well with gathering).