Quantcast
Download
(31 Kb)
Download
Updated: 07/06/19 02:33 PM
Compatibility:
Elsweyr (5.0.5)
Updated:07/06/19 02:33 PM
Created:02/05/17 10:02 PM
Monthly downloads:95,282
Total downloads:416,090
Favorites:306
MD5:
5.0.5
LibLazyCrafting  Popular! (More than 5000 hits)
Version: 2.71
by: Dolgubon [More]
Addons currently utilizing this Library:


Dolgubon's Lazy Writ Crafter
Dolgubon's Lazy Set Crafter
Writ Worthy

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

What does LibLazyCrafting Do?
  • Allows addons to create and upgrade a piece of gear with just one function
  • Allows addons to request items to be crafted anywhere, not just at the relevant crafting station
  • Abstracts away the confusing material index and material amount Smithing parameters
  • Provides functions to determine all the materials required to create a piece of gear
  • Extends CraftSmithingItem to allow the specification of crafting set and quality
  • Extends crafting functions to allow the use of itemIds in consumables
  • Allows addons to queue multiple crafts of the same type with one function call
  • Allows addons to use some crafting related functions anywhere, not just at a crafting station
  • Tells you when an item your addon requested is crafted, and where in the bag it is located
If you want your addon to craft items, LibLazyCrafting can help!


General Usage

Note: The usage section is incomplete at this time. If you wish to use this library, let me know and I can help you out.
Add the following to your manifest.txt file:
## DependsOn: LibLazyCrafting

Next, register your addon with LibLazyCrafting (LLC) in the addon initialized function:
local LibLazyCrafting = LibStub:GetLibrary("LibLazyCrafting")
local interactionTable = LibLazyCrafting:AddRequestingAddon(String addonName, boolean autoCraft, function callbackFunction)
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, String addon, table requestTable) : The function that should be called when a requested craft is either complete, or failed for some reason.
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:
InteractionTable:isSmithingLevelValid(boolean isCP, integer lvl)
returns boolean isValidSmithingLevel -- This returns true if equipment can be created at that level
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.
returns: The request table, which contains all the information about the craft request.


CraftSmithingItemByLevel -- The second and third parameters are replaced by boolean isCP, integer level. The materialIndex and materialQuantity conversions are handled internally by LLC.
ImproveSmithingItem
GetCurrentSetInteractionIndex
GetMatRequirements
compileRequirements
GetSetIndexes
GetSmithingResultLink -- IN PROGRESS CraftSmithingItem(patternIndex, materialIndex, materialQuantity, styleIndex, traitIndex, useUniversalStyleItem, stationOverride, setIndex, quality, autocraft, reference, potencyId, essenceId, aspectId) (Added potencyId, essenceId and aspectId at the end)
CraftSmithingItemByLevel(patternIndex, isCP , level, styleIndex, traitIndex,
useUniversalStyleItem, stationOverride, setIndex, quality, autocraft, reference, potencyId, essenceId, aspectId)
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 made



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
Version 2.71:

Fixed the lua error that was occurring when crafting glyphs

Version 2.7:

Actually fixed the issue where not knowing one or more runes in a requested glyph would result in two glyphs being created

Version 2.6:

Enchanting support added. (might give more detailed later)

Version 2.5:

Added the LibLazyCrafting.INDEX_NO_SET constant

Version 2.4:

API Bump
Did some backend modifications in preparation for adding Furniture support
Gear crafting now uses the set Ids provided by the game
Added the ## isLibrary manifest command
Added Elsweyr sets
Fixed an issue where not knowing one or more runes in a requested glyph would result in two glyphs being created
Fixed a bug where the library was not properly clearing the craftNow fields in request tables
Added the ability to queue an enchanted piece of gear. The API for these are:

CraftSmithingItem(patternIndex, materialIndex, materialQuantity, styleIndex, traitIndex, useUniversalStyleItem, stationOverride, setIndex, quality, autocraft, reference, potencyId, essenceId, aspectId) (Added potencyId, essenceId and aspectId at the end)
CraftSmithingItemByLevel(patternIndex, isCP , level, styleIndex, traitIndex,
useUniversalStyleItem, stationOverride, setIndex, quality, autocraft, reference, potencyId, essenceId, aspectId)
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

Version 2.33:

Updated version numbers so that it doesn't conflict with old versions.

Version 2.32:

The library now comes in a standalone library format, similar to many other libraries. If you use an addon which uses this library, you will need to download it (Writ Worthy, Dolgubon's Lazy Set Craft and Dolgubon's Lazy Writ Crafter)
API version 'bump'

Version 2.31:

Fixed a type causing lua errors: CRAFTING_TYPE_JEWELRY -> CRAFTING_TYPE_JEWELRYCRAFTING

Version 2.3:

Added Murkmire sets.
Added a debug option and a throw error function in the addon. Not really used yet, but might add more error throwing to help debugging in the future.

Version 2.21:

Fixed a bug where improving a jewelry item to green would use 2 improvement mats rather than one.
Fixed a bug where the number of improvement mats for jewelry given by the Compile Requirements would use the old amounts (Thanks to @Ziggr)

Version 2.2:

Crown Mimic Stones will now be used even if the style stone is missing.
Old versions of the widgets will no longer be overwritten by a new version.
Will now work on PTS.
Code cleanup: Some unnecessary code has been deleted, and some previously global fields are now local.

Version 2.1:

Improvement level checking now uses textures, which is non language dependent.
Now checks the crafting skill for Blacksmithing, Clothing, and Woodworking to see if the user has a high enough skill to make an item.
Compiling mats now works for Jewelry Crafting.
Jewelry Crafting will no longer fail due to lack of style mats.
Added a new field to the Craft Request tables, craftNow. By default not set (i.e. set to nil) if it is true, the library will craft the item when at a station. It can only be set to true while at a station, and if the user exits the station it will be set back to false automatically. CraftAllItems and CraftItem now change this new field, and their old functionality has been taken over by the new functions SetAllAutoCraft and SetAutoCraft.
Added craftInteract to the function table. This is the function which is called when the player interacts with a crafting station. An addon can call it to force the library to rescan the queue and see if there is something it can craft.
Enchanting file added back in.

Version 2.0: (Jewelry Crafting)

Preliminary support for jewelry crafting. - Ziggr
Refactored checks for style and trait knowledge. - Ziggr
Fixed the check for the improvement skill in languages other than English. - Ziggr
Added checks to determine if the user has enough mats to craft Alchemy and Provisioning items.
Changed to use GetItemLinkItemId instead of the custom version. If not on PTS, it will still use the custom version.

Version 1.9: (Release #2 - Smithing update)

Moved smithing timestamps to a unique identifier. The identifiers are integers, and incremented each time an item is added to the queue.
Fixed issues with backwards compatibility - if an old version was loaded before a newer version, an event handler would not be properly overridden. The old version would then change a local variable in the old version, but not a local variable in the new version which should have been changed.

Version 1.9:

Uses of sortCraftQueue have been removed, in favour of sticking solely with table.remove and table.insert. table.sort is unstable, which caused a rare double crafting issue when multiple items were added at the exact same timestamp while at a crafting station.
Fixed a bug where incorrect material requirements (light materials) would be returned for medium armour.

Version 1.8:

Created a new function to throw events to clean up some code.
Added two new events: LLC_NO_FURTHER_CRAFT_POSSIBLE and LLC_INITIAL_CRAFT_SUCCESS.
LLC_NO_FURTHER_CRAFT_POSSIBLE: Thrown when no more items can be made at the current station
LLC_INITIAL_CRAFT_SUCCESS: Thrown when the white item is created, but must be further improved before being complete.
Fixed a bug where creating multiple items with green or higher quality would cause some white items to be made too many times.
The EndInteraction function was previously removed from the main LLC.lua file, and has been added back in.
Added a check to determine if a CP and level combination is valid.
Added the return of the requestTable to more craft event places.
Fixed a bug where the wrong improvement mat requirements would be given.
Fixed a bug where sometimes the wrong ability would be checked when determining the improvement skill level.

Version 1.7:

Added Material totals for Smithing.
Changed the interaction tables to be slightly more OOP by taking in self.
Removed double crafting bugs. (Pretty confident about this one!)
Fixed an off by one error in smithing
Added a return of the request table to the smithing functions.

Version 1.6:

Possibly fixed a double crafting issue.
Added LibLazyCrafting:IsPerformingCraftProcess()

Version 1.5:

Fixed a bug in provisioning and alchemy whereby the library would fail to recognize an item was crafted if it created a new stack. - fix by ziggr

Version 1.4:

Added the Clockwork City sets.

Version 1.3:

Fixed various typos in the Alchemy file.
Went back to GetTimeStamp() in the smithing file (as it should have been. Sorry!)
Added back timesToMake as an optional parameter in the Alchemy file.
Replaced the body of the crafting complete function with the stackableCraftingComplete function in the alchemy file.
Removed the FindIncreasedSlotIndex from the Alchemy file, as it was already contained in the main LLC file.

Version 1.2:

Fixed a LUA error that would appear when using Provisioning functions.

Version 1.1:

Now supports all types of crafting! (Minus furniture) - Thank you to Ziggr for creating the functions required to support it!
Updating current version. Probably has various bugfixes. The library has been updated over time as needed with various bugfixes and changes, and has just not been updated here on esoui.


Version 1:

Various changes, bugfixes, and improvements, mostly based on what I needed. Not a comprehensive list.
- Added an option reference when you create a craft request
- Added the ability to cancel craft requests based on position in queue or by reference
- Fixed an error where the craft queue was not updating properly
-
Optional Files (0)


Archived Files (24)
File Name
Version
Size
Uploader
Date
2.7
31kB
Dolgubon
07/06/19 12:47 PM
2.6
30kB
Dolgubon
06/30/19 07:44 PM
2.5
28kB
Dolgubon
05/27/19 08:26 PM
2.4
28kB
Dolgubon
05/19/19 04:54 PM
2.33
26kB
Dolgubon
02/25/19 10:42 PM
2.32
26kB
Dolgubon
02/21/19 08:46 PM
2.31
25kB
Dolgubon
10/21/18 10:25 PM
2.23
25kB
Dolgubon
10/21/18 08:56 PM
2.21
25kB
Dolgubon
08/19/18 03:57 PM
2.2
22kB
Dolgubon
07/21/18 09:19 PM
2.1
25kB
Dolgubon
05/21/18 02:44 AM
2.0
22kB
Dolgubon
05/01/18 11:58 AM
1.9
22kB
Dolgubon
12/22/17 11:29 AM
1.9
22kB
Dolgubon
12/15/17 10:39 AM
1.8
21kB
Dolgubon
12/14/17 11:54 AM
1.7
21kB
Dolgubon
12/13/17 10:44 AM
1.6
19kB
Dolgubon
12/10/17 10:47 AM
1.5
18kB
Dolgubon
11/04/17 01:13 PM
1.4
18kB
Dolgubon
10/22/17 12:10 AM
1.3
17kB
Dolgubon
08/27/17 07:10 AM
1.2
19kB
Dolgubon
08/24/17 01:53 PM
1.1
16kB
Dolgubon
08/14/17 03:27 AM
1
14kB
Dolgubon
05/20/17 05:24 PM
0.1
12kB
Dolgubon
02/05/17 10:02 PM


Post A Reply Comment Options
Unread 07/07/19, 02:33 PM  
Elephant
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 65
Uploads: 1
Re: Thanks!

Originally Posted by Ciannicay
Hi!
wow you are fast. Thanks!.

Kind regards
Ciannicay
What he/she said
Report comment to moderator  
Reply With Quote
Unread 07/07/19, 05:27 AM  
Ciannicay

Forum posts: 3
File comments: 37
Uploads: 0
Thumbs up Thanks!

Hi!
wow you are fast. Thanks!.

Kind regards
Ciannicay
Report comment to moderator  
Reply With Quote
Unread 07/06/19, 02:34 PM  
Dolgubon
 
Dolgubon's Avatar
AddOn Author - Click to view AddOns

Forum posts: 338
File comments: 606
Uploads: 15
Whoops sorry. The lua error should be fixed in the new version; it will probably take a while for it to be available though, since it needs to be approved by the site admins and it doesn't seem like any are on right now
Report comment to moderator  
Reply With Quote
Unread 07/06/19, 02:26 PM  
p4ck3tl055

Forum posts: 0
File comments: 4
Uploads: 0
Re: error encountered

Originally Posted by Ciannicay
Hi, after I did my daily at the enchantment table I stumbled across the following error. Hope I am barking at the right tree, tho.

bad argument #1 to 'unpack' (table/struct expected, got nil)
stack traceback:
[C]: in function 'unpack'
user:/AddOns/LibLazyCrafting/Enchanting.lua:385: in function 'LLC_EnchantingCraftingComplete'
|caaaaaa<Locals> event = 3 </Locals>|r
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:688: in function 'CraftComplete'
|caaaaaa<Locals> event = 131531, station = 3, k = 3, v = tbl </Locals>|r

Kind regards
Ciannicay
I can confirm this. But only on Enchanting writs. Minion updated this library today and I started getting these LUA errors. (I do run Craftstore and Writworthy if that matters.)
Report comment to moderator  
Reply With Quote
Unread 07/06/19, 02:22 PM  
Elephant
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 65
Uploads: 1
Re: error encountered

Originally Posted by Ciannicay
Hi, after I did my daily at the enchantment table I stumbled across the following error. Hope I am barking at the right tree, tho.

bad argument #1 to 'unpack' (table/struct expected, got nil)
stack traceback:
[C]: in function 'unpack'
user:/AddOns/LibLazyCrafting/Enchanting.lua:385: in function 'LLC_EnchantingCraftingComplete'
|caaaaaa<Locals> event = 3 </Locals>|r
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:688: in function 'CraftComplete'
|caaaaaa<Locals> event = 131531, station = 3, k = 3, v = tbl </Locals>|r

Kind regards
Ciannicay
Ditto here, happens after hitting the Craft button or after deconstructing a glyph.
BTW I'm also running CraftStore Elsweyr which might be germane.
Report comment to moderator  
Reply With Quote
Unread 07/06/19, 01:54 PM  
Ciannicay

Forum posts: 3
File comments: 37
Uploads: 0
Exclamation error encountered

Hi, after I did my daily at the enchantment table I stumbled across the following error. Hope I am barking at the right tree, tho.

bad argument #1 to 'unpack' (table/struct expected, got nil)
stack traceback:
[C]: in function 'unpack'
user:/AddOns/LibLazyCrafting/Enchanting.lua:385: in function 'LLC_EnchantingCraftingComplete'
|caaaaaa<Locals> event = 3 </Locals>|r
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:688: in function 'CraftComplete'
|caaaaaa<Locals> event = 131531, station = 3, k = 3, v = tbl </Locals>|r

Kind regards
Ciannicay
Last edited by Ciannicay : 07/06/19 at 01:56 PM.
Report comment to moderator  
Reply With Quote
Unread 05/29/19, 05:57 PM  
Dolgubon
 
Dolgubon's Avatar
AddOn Author - Click to view AddOns

Forum posts: 338
File comments: 606
Uploads: 15
Originally Posted by Weolo
Do any of your settings delete jewellery writs?
I seem to have lost mine and I am trying to figure out how
Nope
Report comment to moderator  
Reply With Quote
Unread 05/29/19, 03:46 PM  
Weolo
AddOn Author - Click to view AddOns

Forum posts: 78
File comments: 430
Uploads: 4
Do any of your settings delete jewellery writs?
I seem to have lost mine and I am trying to figure out how
Report comment to moderator  
Reply With Quote
Unread 03/04/19, 08:38 PM  
Dolgubon
 
Dolgubon's Avatar
AddOn Author - Click to view AddOns

Forum posts: 338
File comments: 606
Uploads: 15
Re: Re: Re: LibLazy causes crashes :(

Originally Posted by Leah Ann
Originally Posted by Dolgubon
Originally Posted by Leah Ann
Hi. I haven't ever had crashing issues before. I installed the liblazy and immediate the game crashes. I restarted the game and eventually the computer. It sill crashed. I uninstalled liblazy and the crashes stopped. The addons won't work without it, so there's that.

Any ideas?

Thanks!
Frankly, it's probably not LibLazyCrafting, and if it does have any part in it, it's because of a conflict with something else. Do you have any addons which are very old, or are very rarely used?
I disabled every addon except the these and it still crashes.

Unfortunately, I use all the addons I have installed, and some of them haven't been updated for a very long time. However, there was no issue until I installed this. Uninstalling it fixes the crashing, but I love the addon too much!

If I knew where to get the crash log, I could copy it. Or if I knew where to get the bug catcher logs, I could look for that.

**I did disable every addon but liblazy and it crashed. I disabled it and no crash. If that's the only addon, even to the exclusion of the crafting writ addons, I don't know what else to do.**

Thanks for looking at it~

Leah Ann
Yeah this library won't cause any issues when it is truly by itself (though you can't really do that, you need to have LibStub enabled for it too)
It's possible that some other addon has something inside it which is causing issues when combined with the library, even if that addon is turned off, but it's unlikely.
The only advice I can give is to uninstall and then reinstall the library, but other than, I don't think I can help you.

Mostly, I'd just point out that it doesn't seem like anyone else is having this issue at all. So, it's probably something on your end.

Also, what exactly do you mean by 'crash'?
Last edited by Dolgubon : 03/04/19 at 11:44 PM.
Report comment to moderator  
Reply With Quote
Unread 03/01/19, 12:49 PM  
Leah Ann

Forum posts: 10
File comments: 33
Uploads: 0
Re: Re: LibLazy causes crashes :(

Originally Posted by Dolgubon
Originally Posted by Leah Ann
Hi. I haven't ever had crashing issues before. I installed the liblazy and immediate the game crashes. I restarted the game and eventually the computer. It sill crashed. I uninstalled liblazy and the crashes stopped. The addons won't work without it, so there's that.

Any ideas?

Thanks!
Frankly, it's probably not LibLazyCrafting, and if it does have any part in it, it's because of a conflict with something else. Do you have any addons which are very old, or are very rarely used?
I disabled every addon except the these and it still crashes.

Unfortunately, I use all the addons I have installed, and some of them haven't been updated for a very long time. However, there was no issue until I installed this. Uninstalling it fixes the crashing, but I love the addon too much!

If I knew where to get the crash log, I could copy it. Or if I knew where to get the bug catcher logs, I could look for that.

**I did disable every addon but liblazy and it crashed. I disabled it and no crash. If that's the only addon, even to the exclusion of the crafting writ addons, I don't know what else to do.**

Thanks for looking at it~

Leah Ann
Last edited by Leah Ann : 03/01/19 at 01:26 PM.
Report comment to moderator  
Reply With Quote
Unread 02/28/19, 09:47 PM  
Dolgubon
 
Dolgubon's Avatar
AddOn Author - Click to view AddOns

Forum posts: 338
File comments: 606
Uploads: 15
Re: LibLazy causes crashes :(

Originally Posted by Leah Ann
Hi. I haven't ever had crashing issues before. I installed the liblazy and immediate the game crashes. I restarted the game and eventually the computer. It sill crashed. I uninstalled liblazy and the crashes stopped. The addons won't work without it, so there's that.

Any ideas?

Thanks!
Frankly, it's probably not LibLazyCrafting, and if it does have any part in it, it's because of a conflict with something else. Do you have any addons which are very old, or are very rarely used?
Report comment to moderator  
Reply With Quote
Unread 02/26/19, 09:23 PM  
Leah Ann

Forum posts: 10
File comments: 33
Uploads: 0
LibLazy causes crashes :(

Hi. I haven't ever had crashing issues before. I installed the liblazy and immediate the game crashes. I restarted the game and eventually the computer. It sill crashed. I uninstalled liblazy and the crashes stopped. The addons won't work without it, so there's that.

Any ideas?

Thanks!
Report comment to moderator  
Reply With Quote
Unread 02/25/19, 12:15 AM  
Dolgubon
 
Dolgubon's Avatar
AddOn Author - Click to view AddOns

Forum posts: 338
File comments: 606
Uploads: 15
Originally Posted by code65536
Originally Posted by Dolgubon
Originally Posted by F-Lambda
The fact that libraries are installed separately now probably helps.
This one isn't though.
Apparently it is in the 2.5.16 you just released.
Yup!
Report comment to moderator  
Reply With Quote
Unread 02/24/19, 10:46 PM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 17
File comments: 110
Uploads: 18
Originally Posted by Dolgubon
Originally Posted by F-Lambda
The fact that libraries are installed separately now probably helps.
This one isn't though.
Apparently it is in the 2.5.16 you just released.
Report comment to moderator  
Reply With Quote
Unread 01/20/19, 09:35 PM  
Dolgubon
 
Dolgubon's Avatar
AddOn Author - Click to view AddOns

Forum posts: 338
File comments: 606
Uploads: 15
Originally Posted by F-Lambda
The fact that libraries are installed separately now probably helps.
This one isn't though.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: