Back
The Elder Scrolls Online

LibLazyCrafting

Overview

Addons currently utilizing this Library:

Addons currently utilizing this Library:

Dolgubon's Lazy Writ Crafter
Dolgubon's Lazy Set Crafter
Writ Worthy
Lazy Alchemy Learner
Leo's Trainer
Aldanga's Lazier Writ Precrafter

If you use one of those addons you MUST download this library!

What does LibLazyCrafting Do?

- General crafting improvements:

- Allows addons to queue items to be crafted anywhere, not just at the relevant crafting station. No need to deal with craft station events.
- Tells you when an item your addon requested is crafted, and where in the bag it is located
- Provides functions to inform you need to craft an item
- Allows addons to use some crafting related functions anywhere, not just at a crafting station

- Smithing improvements:

- Allows addons to create a piece of gear at any quality with just one function
- Abstracts away the confusing material index and material amount Smithing parameters, letting you simply use CP and level parameters instead

- Other craft skill improvements:

- Extends crafting functions to allow the use of itemIds in consumables

If you want your addon to craft items, LibLazyCrafting can help! If there's a crafting functionality you'd like that isn't in LLC, let me know and I'll see what I can do for it.

Github link: https://github.com/Dolgubon/LibLazyCrafting

Note: The github link now has complete documentation in the readme - please check there! The documentation below is not as complete or up to date.

General Usage

Note: The documentation on esoui is just a sample. To see the full documentation, please check the github link above.
Add the following to your manifest.txt file:
## DependsOn: LibLazyCrafting

Next, register your addon with LibLazyCrafting (LLC) in the addon initialized function:

local interactionTable = LibLazyCrafting:AddRequestingAddon(String addonName, boolean autoCraft, function callbackFunction, string optionalDebugAuthor, table optionalStyleTable)
String addonName: The name of the requesting addon.
boolean autoCraft: Whether requests from this addon should by default be crafted as soon as possible
function callbackFunction ( String event, integer CraftingType, table requestTable) : The function that should be called when a requested craft is either complete, or failed for some reason. Not all parameters will always be returned
string optionalDebugAuthor: This is optional and if you give it your name, then it'll do debug messages when the character name matches. Not sure how good the debug message coverage is.
table optionalStyleTable: This is used if you do no choice/max style for crafting equippable gear. Basically, these are what styles LLC can use. You can still manually choose to use other styles if you want.
returns: An interaction table with which your addon can call the various functions provided by LLC. This interaction table contains most of the functions LLC provides.

Smithing
Functions available:

CraftSmithingItem( integer patternIndex, integer materialIndex, integer materialQuantity, integer styleIndex, integer traitIndex, boolean useUniversalStyleItem, integer:nilable stationOverride, integer:nilable setIndex, integer:nilable quality, boolean:nilable autocraft, anything:nilable reference)
This is the main function in this module. patternIndex, materialIndex, materialQuantity, styleIndex, traitIndex, and useUniversalStyleItem act in the same way as the ZOS provided CraftSmithingItem's parameters do.
stationOverride: Allows you to set a specific crafting station. Default is the station you are at. If you are not at a station the function will fail.
setIndex: An integer determining the crafted set you wish to create. The default is 1, which signifies no set. A list of set indexes can be found in the Smithing.lua file, or with GetSetIndexes()
quality: One of the ITEM_QUALITY global constants. The default is white quality.
autocraft: Determines if the library will craft the item. If it is false, the library will keep it in queue until the requesting addon tells it to craft the item.
reference: This can be any type of data. It lets your addon to identify the request, to delete it, craft it, and know when it is complete. The default is the empty string.potencyId, essenceId, aspectId: If you want to create equipment with glyphs, use these parameters
quantity: How many to make
returns: The request table, which contains all the information about the craft request.

InteractionTable:isSmithingLevelValid(boolean isCP, integer lvl)
returns boolean isValidSmithingLevel -- This returns true if equipment can be created at that level

CraftSmithingItemByLevel -- The second and third parameters are replaced by boolean isCP, integer level. The materialIndex and materialQuantity conversions are handled internally by LLC, but it is otherwise the same as CraftSmithingItem

ImproveSmithingItem
GetCurrentSetInteractionIndex
GetMatRequirements
compileRequirements
GetSetIndexes
GetSmithingResultLink -- IN PROGRESS

AddExistingGlyphToGear(existingRequestTable, glyphBag, glyphSlot)
- Takes in the bag and glyph slots of an existing piece of gear, and an existing craft request table, and then will apply that glyph to the gear once the gear is created
AddGlyphToExistingGear(existingRequestTable, gearBag, gearSlot)
- Same as the above, but the gear already exists, and you're waiting on the glyph to be made

Provisioning

CraftProvisioningItemByRecipeId

Alchemy

CraftAlchemyPotion

Enchanting

CraftEnchantingGlyph
AddExistingGlyphToGear(existingRequestTable, glyphBag, glyphSlot)
- Takes in the bag and glyph slots of an existing piece of gear, and an existing craft request table, and then will apply that glyph to the gear once the gear is created
AddGlyphToExistingGear(existingRequestTable, gearBag, gearSlot)
- Same as the above, but the gear already exists, and you're waiting on the glyph to be madeEnchantAttributesToGlyphIds(isCP, level, enchantId, quality) returns potencyId, essenseId, aspectId

Examples

Note: LLC_Global is a global queue meant only for testing and exploration.

/script LLC_Global:CraftSmithingItemByLevel(3, true, 150,3 ,1 ,false, CRAFTING_TYPE_CLOTHIER, 0, 3,true) -- crafts a blue CP150 shoes
/script for i= 2, 25 do LLC_Global:CraftSmithingItemByLevel(3, false, i*2,3 ,1 ,false, CRAFTING_TYPE_CLOTHIER, 0, 3,true) end -- Crafts lvl 4,6, 8, 10, etc. up to lvl 50. The items will be blue shoes.

/script LLC_Global:CraftEnchantingItemId(45830, 45838, 45851) -- Crafts a Monumental Glyph of Flame Resist

ABOUT THIS LISTING

This page describes LibLazyCrafting by Dolgubon. The description and screenshots are the author's own, imported from their listing on ESOUI on 14 August 2026: https://www.esoui.com/downloads/info1594-LibLazyCrafting.html

Mythiq hosts no files for it. The download button goes straight to the release file on cdn.esoui.com, so you are downloading from the author's own host, not from a copy of ours.

The download count, rating and comments on this page start at zero and count Mythiq only. The source's own figures are not copied here — they measure a different site, and a number that cannot be checked against our own ledger is not worth printing.

Requirements

Game versions
  • 12.0.0
  • 11.3.0
API VERSION

Built for ESO API version 12.0.0, 11.3.0. After a patch the game marks add-ons built for the previous API as out of date; the "Allow out of date add-ons" checkbox in the add-on menu loads them anyway, and most work.

LIBRARIES

Many ESO add-ons depend on a shared library — LibAddonMenu-2.0 above all — which is installed separately, exactly like an add-on. A dependency that is missing shows as the add-on simply not appearing in the list.

CONSOLE

Add-ons are PC and Mac only. There is no way to load them on console.

Installation

1. Download the archive with the button on this page and unzip it.

2. Move the unzipped folder into your add-ons directory:

Windows — Documents\Elder Scrolls Online\live\AddOns

macOS — ~/Documents/Elder Scrolls Online/live/AddOns

3. Start the game, and at the character select screen click Add-Ons.

4. Tick the add-on. If it is greyed out and marked out of date, tick "Allow out of date add-ons" at the top of the same panel.

5. Log in. Most add-ons need a /reloadui after they are first enabled.

UPDATING

Delete the old folder first. ESO loads everything it finds, and two copies of one add-on is the usual cause of "an add-on has produced an error" on login.

This release downloads from cdn.esoui.com, not from us, so there is no checksum to compare against. Scan the archive before you unpack it.

Version history

  1. v4.041 Latest 25 Jun 2026 · 66 KB via cdn.esoui.com · 0 downloads Download
    Version 4.0.4.1:

    Add check to provisioning that should prevent infinite crafting when the user is unable to craft any of the item (usually due to lacking inventory space)

    Version 4.0.4.0:

    Fixed a bug where the enchantment quality and level on generated item links was incorrect
    Fixed a reference to a function that is discontinued on consoles

    Version 4.0.3.9:

    API Bump
    Fixed a bug where, for dual enchanting+gear requests, if the user created the gear first, then the enchantment would not be properly applied. Thanks to DataVampire for the hint on what to change.

    Version 4.0.3.8:

    Fixed the slot search for enchanting, which was stopping at the first slot found, causing crafting to be done in n, n-1, n-2 etc amounts
    Fixed one possible cause of the 'Mismatch asked quantity: 1 actual max 0' error. It was being fired when the user had no mimic stones, but wanted to use mimic stones to craft an item. In that case, earlier checks on craftability failed to check for the presence of the required mimic stones

    Version 4.0.3.7:

    Various minor fixes thanks to Schtiel

    Version 4.0.3.6: (Console only)

    Changes which should allow it to work properly on Xbox play live

    Version 4.0.3.5:

    Fixed bug where the craft success event for stackable items did not include the quantity crafted
    Fixed bug where the craft success event for gear with an enchantment had a quantity of 0
    Fixed bug where getItemLinkFromParticulars did not include the enchantment

    Version 4.0.3.4:

    Fixed a bug where, if the user knew differing amounts of traits for the two jewelry items, and wanted to craft an item from a set which was released after New Moon Acolyte, the number of traits known for the other one would be used instead. Stop swapping the jewelry pattern indexes ZOS!

    Version 4.0.3.3:

    API Bump
    Fixed lua error which would fire when attempting to import an item link in a mail using the LLC mail buttons
    Fixed a bug where, for provisioning, furniture, and alchemy, if a stack size increased to over the max and overflowed into a new stack, a lua error would be thrown
    Fixed a bug where the stackable crafting complete would return a quantity of 1, even if the quantity was not 1

    Version 4.0.3.2:

    Fixed lua error which fired if an addon had queued a decon request, and the user used the deconstruction assistant for the first time after the game started on console

    Version 4.0.31:

    Added LibLazyCrafting.importCraftableLinksFromString(text) - Adds any item links in the given text to the queue

    Version 4.0.30:

    Overdue API Bump
    well... getItemLinkFromParticulars actually was working before! So last update broke some stuff using it.
    This one doesn't quite revert back but along with the new updates of LWC and LSC it will be fixed

    Version 4.0.29:

    Fixed a bug where getItemLinkFromParticulars did not work as intended.
    interactionTable:getItemLinkFromParticulars(pattern, isCP , level, style, trait, station, setIndex, quality, potencyId, essenceId, aspectId) - Will return an item link based on the parameters given.

    Added a slash command to turn sound off: /llcsoundoff
    Now uses LibRecipe if available and we don't have the recipe already
    Added two sets to the set data

    Added code from DakJaniels which adds support for deconstruction assistants

    Version 4.0.28:

    Fixed a bug with enchanting where, when using non autocraft, glyphs would only craft one-by-one

    Version 4.0.27:

    Updated recipe map
    Fixed lua error which would fire when calling CancelItem with an invalid station number

    Version 4.0.26:

    Added getAddonCraftingQueue to the API. Can optionally take in a station to get a station specific queue; otherwise, returns the entire addon's queue
    addonInteractionTable:craftItem will now also kickstart the actual crafting process

    Version 4.0.25:

    The 'voice' will now play when crafting glyphs
    Added support for deconstructing glyphs

    Version 4.0.24:

    Off-site on cdn.esoui.com — no checksum, because we never held this file. Link checked by our review team on 14 Aug 2026.

Comments

No comments yet.

Sign in to leave a comment.

Report this mod

Tell us if something is wrong — a file that will not work, content taken from someone else, or anything that looks unsafe. Reports go to our review team, not to the author.

Sign in to report this mod.

We use cookies to ensure that we give you the best experience on our website and improve your experience. By continuing to use this site you consent to such use of cookies.

Learn More