Appearance
sdk.farm_planner
@type library Versioned farming-plan runtime. The browser/backend owns immutable plan documents; this module validates and maps the latest downloaded document onto the proven farming modules, derives the active hierarchical task, enforces hunt polygons, applies stop conditions, and publishes compact status.
lua
local M = require("sdk.farm_planner")Constants
Lua 5.4 has no enums — these are integer (or string) fields on the module.
| Name | Value | Summary |
|---|---|---|
Planner | Planner | Farm planner class. |
IntentArbiter | Arbiter.Arbiter | — |
inside_zone | inside_zone | True when a position is inside a plan zone of the given kind. |
encode | encode | Serialize planner-facing config into the farm runtime shape. |
targets_from | targets_from | Monster target list from a plan. |
target_selection_from | target_selection_from | Target-selection rules from a plan. |
loot_config_from | loot_config_from | Loot rules from a plan. |
inventory_config_from | inventory_config_from | Inventory/stash rules from a plan. |
supply_config_from | supply_config_from | Supply/restock rules from a plan. |
detect_spell_behavior | detect_spell_behavior | Infer wave vs single-target from spell words. |
runtime_spells | runtime_spells | Runtime spell rows from a plan. |
validate
function · validate(plan)
Schema-1 plan check before apply(). Errors reject the document; warnings stay advisory. Stash/withdraw rules require a depot action so the plan fails here, not mid-hunt.
new
function · new()
Fresh planner instance. Graphs and travel tickets stay nil until poll() applies a plan.