/craft¶
Script-provided
Registered by craft. Start it with /lua run craft <args> — the launch
argument you give it selects which of two unrelated modes you get. See
Launch modes before starting it.
Syntax¶
/craft start|stop|status|abilities|class|reload
Description¶
One-shot tradeskill crafting automation for a single recipe: fires reaction
arts each round until the requested count is combined. Launched with watch
instead of a recipe, it becomes a recipe-ID capture tool with no crafting
logic at all.
Launch modes¶
/lua run craft reads its launch argument once, at load time, and wires up
one of two completely separate command handlers under the same name — they
are mutually exclusive per run:
- Crafting mode (default) —
/lua run craft <recipe_id_or_name> [count] [class]. Crafts the given recipecounttimes (default1), using the reaction-art slots configured forclass(defaultdefault) inconfig/crafting.lua. This is the mode with thestart|stop|status|abilities|class|reloadsubcommands below. - Watch mode —
/lua run craft watch. No crafting happens; it just prints the recipe ID of whatever you craft manually, so you can feed it back in as the crafting-mode argument. Its/crafthandler understands exactly one subcommand,stop.
Requires a crafting station targeted and the Tradeskills window open — you
still have to click Begin yourself in this script (compare
/autocraft, which clicks it for you).
Recipe argument¶
<recipe_id_or_name> is either a numeric recipe ID, or a name that gets
resolved against the recipe cache (eq2.recipe_cached). If the name isn't
cached, the script prints an error and refuses to start — cache it first with
/lua run debug/recipedump <id>, or use the numeric ID directly.
Subcommands¶
(crafting mode only)
| Subcommand | What |
|---|---|
start |
Resume crafting if paused. |
stop |
Pause after the current combine finishes. The script stays loaded; resume with start. |
status |
Print recipe, class, crafted/failed counts, and running/paused state. |
abilities |
Print the reaction-art slots configured for the current class. |
class <ClassName> |
Override the tradeskill class used to pick reaction arts, e.g. Armorer. |
reload |
Reload config/crafting.lua without restarting the script. |
Watch mode¶
| Subcommand | What |
|---|---|
stop |
Stop watching and unregister the chat/command-queue hooks. |
| (anything else) | Reprint the "watching for recipe IDs" banner. |
Detection tiers¶
Crafting-round detection uses eq2.on_craft_round (event-driven, opcode
0xE5) when the running build exposes it. If it doesn't, the script falls
back to parsing crafting chat text on a ~4-second timer — slower and less
precise, but functional. /lua run craft prints which tier it's using on
startup.
Examples¶
/lua run craft watch
-- craft something manually...
-- [craft] captured recipe ID: 41823
/lua run craft 41823 5 Armorer
/craft status
/craft class Weaponsmith
/craft stop
/lua stop craft
See also¶
/autocraft— the resident daemon: crafts by recipe name read live from the Recipe Book, clicks Begin for you, and stays loaded across multiple recipes. Prefer it for anything beyond a quick one-off.lib.crafting,lib.recipes— the config, ability-slot, and recipe-cache logic behind this script.