Quantcast
Download
(34 Kb)
Download
Updated: 08/19/19 03:58 PM
Pictures
File Info
Compatibility:
Scalebreaker (5.1.5)
Updated:08/19/19 03:58 PM
Created:06/09/15 03:54 PM
Monthly downloads:3,368
Total downloads:35,790
Favorites:56
MD5:
5.1.5
Mass Deconstructor  Updated this week!  Popular! (More than 5000 hits)
Version: 4.4b
by: ahmetertem, MaralieRindu
MassDeconstructor deconstructs items based on your filter settings. These filters are:
If you're not using item saver addons please be carefull and check add-on options. It's also worth getting into the habit of locking items you want to keep! Mass Deconstructor's default options:
  • Deconstruct items in bank: off
  • Deconstruct bound items: off
  • Deconstruct ornate items: off
  • Deconstruct set pieces: off
  • Deconstruct intricate items: off
  • Deconstruct crafted items: off
  • Maximum item quality to deconstruct: 4 (Epic/Purple)

Used/benefited some functions and algorithms in:
For in-game donations: @ManicDee.

For out-of-game donations: [email protected]

Maralie's Discord channel for Mass Deconstructor
Version 4.4b
  • Updated for Scalecaller, no support for in-game mass-refining yet, just uses the old method for now
  • Tweaked mode changes to use the mode bar
  • Stop displaying Mass Deconstruct/Refine buttons while performing actions, to prevent subsequent attempts at starting actions

Version 4.3
  • Version bump for Elsweyr

Version 4.2
  • Mass Refine now takes items from backpack and bank, not just craft bag
  • Buttons once again show when interacting with crafting stations

Version 4.0a

Only a version bump for Wrathstone.

Version 4.0
  • Updated for Murkmire
  • No longer shows list of things to deconstruct when opening alchemy table

Version 3.4
  • Updated for Wolfhunter
  • No longer shows mass deconstruct or mass refine buttons where they don't apply
  • Rough Oak is now refined

Version 3.3
  • Now properly handles preferences regarding ornate and intricate jewellery.

Version 3.2
  • Minor bugfix

Version 3.1
  • Restored deconstruction of enchantments which got broken in 3.0. Sorry!

Version 3.0
  • Supports Jewellery deconstruction (only for jewellery found after release of Summerset)
  • Supports refining of Jewellery raw materials

Version 2.5
  • Will not deconstruct crafted items (option in settings)

Version 2.4
  • Supports ESO Dragon Bones
  • Verbose option to list items that will be deconstructed

Version 2.3
  • bug fix: Mass Deconstructor will no longer try to deconstruct locked items.

Version 2.2
  • bug fix: Mass Deconstructor once again honours your choice about deconstructing intricates

Version 2.1
  • Mass refine now has a key bind

Version 2.0

Welcome to Clockwork City!
  • New major version due to significant rewrite
  • Will now deconstruct items flagged by FCO Item Saver for deconstruction
  • Experimental "Mass Refine" feature to refine raw materials in your ESO+ craft bag

Version 1.3

Welcome to Horns of the Reach!
  • Updated for Horns of the Reach
  • Added experimental Mass Refine feature

Version 1.2c
  • Added support for FCO Item Saver v1.0

Version 1.2c
  • Fixed a packaging derp (another one)
  • Fixed the UI error on the keybind (my bad, I didn't test it)
  • Known problem: the queue will sometimes get stuck with traitless items like Iron Axes.

Version 1.2a
  • Updated to work with ESO: Morrorwind
  • Fixed a packaging derp

Version 1.2
  • Updated to work with ESO: Morrorwind

Version 1.1c
  • Fixed add-on directory bug. Thanks to @Votan

Version 1.1b
  • Fixed Glyph extraction bug

Version 1.1a
  • Added Deconstruct set pieces option (Thanks to @Tonyleila for idea)
  • Grouped 4 profession for Maximum item quality to deconstruct and Deconstruct intricate items
  • Special thanks to circonian for writing LibItemInfo. Deleted previous unnecessary functions and filters.
Optional Files (0)


Archived Files (27)
File Name
Version
Size
Uploader
Date
4.4a
38kB
MaralieRindu
08/19/19 06:56 AM
4.4
38kB
MaralieRindu
08/18/19 03:24 AM
4.3
38kB
MaralieRindu
06/22/19 01:43 AM
4.2
38kB
MaralieRindu
03/29/19 02:26 PM
4.0a
38kB
MaralieRindu
02/23/19 10:59 PM
4.0
38kB
MaralieRindu
10/23/18 02:54 AM
3.4
38kB
MaralieRindu
08/13/18 02:52 PM
3.3
38kB
MaralieRindu
07/09/18 02:36 AM
3.2
38kB
MaralieRindu
07/01/18 03:15 PM
3.1
38kB
MaralieRindu
05/24/18 03:26 AM
3.0
38kB
MaralieRindu
05/21/18 02:14 AM
2.5
37kB
MaralieRindu
04/08/18 03:36 PM
2.4
37kB
MaralieRindu
02/12/18 02:26 PM
2.3
37kB
MaralieRindu
01/30/18 07:21 AM
2.2
37kB
MaralieRindu
01/28/18 02:12 PM
2.1
37kB
MaralieRindu
01/28/18 11:59 AM
2.0
37kB
MaralieRindu
10/25/17 02:37 AM
1.3
37kB
MaralieRindu
08/15/17 03:53 AM
1.2d
40kB
MaralieRindu
07/16/17 07:02 AM
1.2c
40kB
MaralieRindu
07/07/17 04:40 AM
1.2b
40kB
MaralieRindu
07/07/17 03:39 AM
1.2a
7kB
MaralieRindu
06/30/17 04:04 AM
1.2
7kB
MaralieRindu
06/24/17 06:47 PM
1.1c
142kB
ahmetertem
08/02/15 01:07 PM
1.1b
36kB
ahmetertem
06/14/15 03:04 PM
1.1a
36kB
ahmetertem
06/14/15 02:02 AM
1.0
34kB
ahmetertem
06/09/15 03:54 PM


Post A Reply Comment Options
Unread Today, 10:30 PM  
MaralieRindu

Forum posts: 7
File comments: 65
Uploads: 0
Originally Posted by Baertram
Yep and this is e.g. the reason why I mentioned the keybinds should only work (visible function does this) if you ARE at the crafting table AND are at the panel where the needed operation (in this case deconstruction) should be done
The button already has a visible function which should only allow the button interaction when the user is at the crafting table.

edit: it was the Key mapping linking directly to the functions that start the deconstruction process, nothing to do with the toolbar button visibility.

so I do need to check the scene, but from the key bind handler, and the key bind handler needs to be distinct from the deconstruct method. Work in progress, should be resolved soon.
Last edited by MaralieRindu : 08/23/19 at 11:49 PM.
Report comment to moderator  
Reply With Quote
Unread 08/21/19, 11:31 AM  
SneakyWitchTheif

Forum posts: 1
File comments: 21
Uploads: 0
Hey there! This is just a cross-post from Baertram's FCOCraftFilter page regarding my strange, uh, UI error.

Pretty much.

Since the launch of Scalebreaker, I no longer get the FCOCraftFilter error. Now it's appearing as a Mass Decontructor bug, which is good, I think? Or at least, I'm now getting a Mass Deconstructor error in the same fashion as the original FCO error. Randomly.
Code:
user:/AddOns/MassDeconstructor/MassDeconstructor.lua:223: operator .. is not supported for nil .. string
stack traceback:
user:/AddOns/MassDeconstructor/MassDeconstructor.lua:223: in function 'ShouldDeconstructItem'
|caaaaaa<Locals> bagId = 1, slotIndex = 9, itemLink = "|H1:item:26133:358:50:0:0:0...", sIcon = "/esoui/art/icons/gear_breto...", iStack = 1, iSellPrice = 28, bMeetsUsageRequirement = true, isLocked = false, iEquipType = 10, iItemStyle = 1, quality = 2, itemType = 2, specialisedItemType = 300, boundType = 2, isSetPc = false, isIntricateItem = false, isOrnateItem = false, isGlyph = false </Locals>|r
user:/AddOns/MassDeconstructor/MassDeconstructor.lua:329: in function 'AddItemsToDeconstructionQueue'
|caaaaaa<Locals> bagId = 1, bagSlots = 101, slotIndex = 9, itemLink = "|H1:item:26133:358:50:0:0:0..." </Locals>|r
user:/AddOns/MassDeconstructor/MassDeconstructor.lua:352: in function 'BuildDeconstructionQueue'
user:/AddOns/MassDeconstructor/MassDeconstructor.lua:398: in function 'MD.StartDeconstruction'
:1: in function '(main chunk)'
|caaaaaa<Locals> keybind = "MD_DECONSTRUCTOR_DECON_ALL" </Locals>|r
This can be reproduced simply by hitting the keybind for mass deconstruct outside the craft window.

Original issue:


New issue:
Edit: I see the keybind thing was already reported.
Last edited by SneakyWitchTheif : 08/21/19 at 11:33 AM.
Report comment to moderator  
Reply With Quote
Unread 08/21/19, 05:47 AM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2293
File comments: 2524
Uploads: 57
Yep and this is e.g. the reason why I mentioned the keybinds should only work (visible function does this) if you ARE at the crafting table AND are at the panel where the needed operation (in this case deconstruction) should be done

Originally Posted by jayman10000
I got this error when I accidentally hit my MD keybind while not being at a crafting table (I was just running through the city on my way to the stables). At first I didnt understand why the error came, so after reading inside it it mentioned the MassDeconstructor, I for some reason tried pressing the keybind for MD and it happened again.

Warning: Spoiler



Note: just as a test I tried going to a crating table and interacting with it then pressing the MD keybind and that works fine still. So above error only seems to happen if pressing MD keybind while not interacting with crafting station.
Report comment to moderator  
Reply With Quote
Unread 08/20/19, 10:14 PM  
jayman10000

Forum posts: 1
File comments: 78
Uploads: 0
I got this error when I accidentally hit my MD keybind while not being at a crafting table (I was just running through the city on my way to the stables). At first I didnt understand why the error came, so after reading inside it it mentioned the MassDeconstructor, I for some reason tried pressing the keybind for MD and it happened again.

Warning: Spoiler



Note: just as a test I tried going to a crating table and interacting with it then pressing the MD keybind and that works fine still. So above error only seems to happen if pressing MD keybind while not interacting with crafting station.
Last edited by jayman10000 : 08/20/19 at 10:17 PM.
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 02:40 PM  
jayman10000

Forum posts: 1
File comments: 78
Uploads: 0
Originally Posted by MaralieRindu
Originally Posted by jayman10000
Getting below error when at crafting tables when trying to mass deconstruct.

EDIT: I found out how to trigger it. It will trigger if there is a gear piece already added before starting to mass deconstruct. Clearing it manually before using Mass Deconstructor will prevent the error from happening.

Warning: Spoiler
That error should be gone now.

Originally Posted by jayman10000
EDIT3: Found another error. If accidentally trying to mass deconstruct again while MD is already working to deconstruct will produce this error and halt the work (and place a ?-icon where the gear to be deconned is normally displayed):
that's a curly one! I'll see about fixing that one ASAP.
Much appreciated for the quick fix!
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 08:40 AM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2293
File comments: 2524
Uploads: 57
Originally Posted by MaralieRindu
Originally Posted by Baertram
But nevertheless setting the mode will also get you in trouble with other addons so forget the FCOCraftFilter problems and stop switching the modes manually where not needed please! Believe me or not...
That will come in time, it will take a lot more work than seeking a less-broken method to do what it used to do.

Now let's just see if this current fix resolves the issue that your user was having.
Aye, still investigating the code to see why this could happen. I guess there might be another addon invloved but cannot find where or how. If he says this happens as he mouse hovers a station this must be something which registers to the reticle.

Or maybe your keybinds are "to global" and get tried to be registered even on other panels and then call some code.

btw: If you'd change your keybindings to only be visible at the panel where they relate to you'd be fine.
No call to ZO_MenuBar_SelectDescriptor(SMITHING.modeBar, SMITHING_MODE_REFINMENT) or other mode functions needed anymore then.

Example function for the visible stuff:
Lua Code:
  1. local function ShouldShow(isRefineKeybind)
  2.     isRefineKeybind = isRefineKeybind or false
  3.     local retVar = false
  4.     local currentScene = SCENE_MANAGER.currentScene.name
  5.     if currentScene == "enchanting" or yourAddon.IsShowingExtraction() then
  6.         if isRefineKeybind then return false end
  7.         local enchantMode = ENCHANTING.enchantingMode
  8.         if enchantMode == ENCHANTING_MODE_EXTRACTION then
  9.             retVar = true
  10.         end
  11.     elseif currentScene == "smithing" or yourAddon.IsShowingSmithing() then
  12.         local mode = SMITHING.mode
  13.         if mode == SMITHING_MODE_REFINMENT and isRefineKeybind then
  14.             retVar = true
  15.         elseif mode == SMITHING_MODE_DECONSTRUCTION then
  16.             if isRefineKeybind then return false
  17.             retVar = true
  18.         end
  19.     end
  20.     return retVar
  21. end

Depending on your keybind you could change retVar for refine to true or for decon or extract to true. e.g. using a parmater isRefineKeybind in the function's parameter list.

In your addon functions yourAddon.IsSHowingSmithing and IsShowingEnchantment can use your event_craftingstation_interact variables e.g.
Last edited by Baertram : 08/19/19 at 08:43 AM.
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 08:27 AM  
MaralieRindu

Forum posts: 7
File comments: 65
Uploads: 0
Originally Posted by Baertram
But nevertheless setting the mode will also get you in trouble with other addons so forget the FCOCraftFilter problems and stop switching the modes manually where not needed please! Believe me or not...
That will come in time, it will take a lot more work than seeking a less-broken method to do what it used to do.

Now let's just see if this current fix resolves the issue that your user was having.
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 08:21 AM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2293
File comments: 2524
Uploads: 57
Originally Posted by Baertram
Changing the mdoe will run all "prehooked"/"posthooked" code of other addons which then fail or get strange behaviour.
None of this explains how simply running around a dungeon can be triggering Mass Deconstructor in any way. MD only acts on the crafting table interaction events.
I know and I cannot explain this myself.

But nevertheless setting the mode will also get you in trouble with other addons so forget the FCOCraftFilter problems and stop switching the modes manually where not needed please! Believe me or not...

Edit:
btw: check your manifest txt file there is an empty entry ## DependsOn:.
Last edited by Baertram : 08/19/19 at 08:23 AM.
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 08:18 AM  
MaralieRindu

Forum posts: 7
File comments: 65
Uploads: 0
Originally Posted by Baertram
You are right that it's basically nothing else like ZOs code does but I guess the addon here does it sometime where a mode was already set and then changes it again?
It's exactly what the mode buttons do, as per the code in ZOS-provided in-game UI.

Originally Posted by Baertram
Changing the mdoe will run all "prehooked"/"posthooked" code of other addons which then fail or get strange behaviour.
None of this explains how simply running around a dungeon can be triggering Mass Deconstructor in any way. MD only acts on the crafting table interaction events.

Also the code you just quoted is what I have updated it to just in the last hour. See if anyone can replicate the error. ZO_MenuBar_SelectDescriptor will set the appropriate panel just as if the user had clicked the button.
Last edited by MaralieRindu : 08/19/19 at 08:21 AM.
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 07:59 AM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2293
File comments: 2524
Uploads: 57
Originally Posted by MaralieRindu
Originally Posted by Baertram
PLEASE do not do this.
How do I change modes safely? This is how the buttons set the mode in the first place: smithing_keyboard.lua line 203 function ZO_Smithing:InitializeModeBar(). Each button has a callback which sets the mode.

How is what I am doing any different to what the panel buttons do?

And how is Mass Deconstructor being invoked when the player hasn't opened the crafting table scene?
You are right that it's basically nothing else like ZOs code does but I guess the addon here does it sometime where a mode was already set and then changes it again? Changing the mdoe will run all "prehooked"/"posthooked" code of other addons which then fail or get strange behaviour.
ZOs only sets the mode AT THE BEGINNING as you change the filter tabs like from "Create" to "Deconstruct".

Do you have any option which automatically deconstructs if you enter a crafting station or similar to this?
Like you approach the woodworking table, are at the "Refine" panel (SMITHING.mode is refine then).
Now you start the deconstruction of items and set the smithing mode to deconstruction, which will run other addon codes, which fail as they think they are at deconstruction but one is at the refine panel. Something like this?
I do not know your addon in detail.

The only thing I know is that several crafting related addons rely on a proper handling of the smithing mode/enchanting enchantigMode and this addon somehow changes it either too early or in between or whatever, so that they will break the others, or run their code and get strange behaviours.

Please check the lines where you set the mode. If at the time this happens you are currently NOT at a deconstruction panel of SMITHING or a extraction panel of ENCHANTING then you cannot simply change the modes and go on.

Either the lines in your code to set the mode are simply not needed and you can remove them.
Which should fix at least some possible addon error.
Or you'd need to find another way like simulating a button press on the smithing/enchanting tabs to activate the deconstruction/extract tab properly.

Example:
Lua Code:
  1. function MD.StartRefining()
  2.   if MD.isEnchanting then
  3.     return
  4.   end
  5.   if SMITHING.mode ~= SMITHING_MODE_REFINMENT then
  6. DebugMessage('Setting refining mode')
  7.     ZO_MenuBar_SelectDescriptor(SMITHING.modeBar, SMITHING_MODE_REFINMENT)
  8.     EVENT_MANAGER:RegisterForEvent(MD.name, EVENT_CRAFT_COMPLETED, ProcessRefiningQueue)

This makes no sense? Why should you start refining if you are not at the refining tab.
You need to check this before using the function instead of setting the SMITHING.mode to refining youself.
If ppl are at the refining tag they can refine, if not they need to switch.
If you set the mode to refine you let other addons call their code for prehooks/Posthooks to SMITHING.SetMode or ZO_Smithing.SetMode

Same for the other panels. I do not understand why these checks and changes are needed? If the users are not able to refine or deconstruct if they ARE NOT at the desired panel, you shouldn't need this at all.
So better build checks in before like remove the keybinds properly so they cannot start the process if they are not at the panel etc.

Another hint:
You should maybe add an event for the craft_failed as well, if you started crafting. Not always the crafting will work normal and if it fails and you do leave the station or not, your internal variables are messed.
You maybe should use your cleanup functions (CleanupAfterRefining(), ...) also at event_craft_failed and event_crafting_station_interact_end to be sure everthing is reset properly for next mass crafting.
Last edited by Baertram : 08/19/19 at 08:20 AM.
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 07:58 AM  
MaralieRindu

Forum posts: 7
File comments: 65
Uploads: 0
Originally Posted by jayman10000
Getting below error when at crafting tables when trying to mass deconstruct.

EDIT: I found out how to trigger it. It will trigger if there is a gear piece already added before starting to mass deconstruct. Clearing it manually before using Mass Deconstructor will prevent the error from happening.

Warning: Spoiler
That error should be gone now.

Originally Posted by jayman10000
EDIT3: Found another error. If accidentally trying to mass deconstruct again while MD is already working to deconstruct will produce this error and halt the work (and place a ?-icon where the gear to be deconned is normally displayed):
that's a curly one! I'll see about fixing that one ASAP.
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 06:46 AM  
MaralieRindu

Forum posts: 7
File comments: 65
Uploads: 0
I think I found it:

ZO_MenuBar_SelectDescriptor(SMITHING.modeBar, SMITHING_MODE_DECONSTRUCTION)

So this will be interacting with the mode bar without simply performing the function that the button performs. Now to see if I can replicate the error the FCO Craft Filter user was experiencing (though it still doesn't explain why Mass Deconstructor is being invoked without actually interacting with a crafting table).
Last edited by MaralieRindu : 08/19/19 at 07:30 AM.
Report comment to moderator  
Reply With Quote
Unread 08/19/19, 05:48 AM  
MaralieRindu

Forum posts: 7
File comments: 65
Uploads: 0
Originally Posted by Baertram
PLEASE do not do this.
How do I change modes safely? This is how the buttons set the mode in the first place: smithing_keyboard.lua line 203 function ZO_Smithing:InitializeModeBar(). Each button has a callback which sets the mode.

How is what I am doing any different to what the panel buttons do?

And how is Mass Deconstructor being invoked when the player hasn't opened the crafting table scene?
Last edited by MaralieRindu : 08/19/19 at 06:10 AM.
Report comment to moderator  
Reply With Quote
Unread 08/18/19, 05:02 PM  
jayman10000

Forum posts: 1
File comments: 78
Uploads: 0
Getting below error when at crafting tables when trying to mass deconstruct.

EDIT: I found out how to trigger it. It will trigger if there is a gear piece already added before starting to mass deconstruct. Clearing it manually before using Mass Deconstructor will prevent the error from happening.

Warning: Spoiler


EDIT2: and found another error. When exiting the crafting table before Mass Deconstructor is done produces this error:
Warning: Spoiler


EDIT3: Found another error. If accidentally trying to mass deconstruct again while MD is already working to deconstruct will produce this error and halt the work (and place a ?-icon where the gear to be deconned is normally displayed):
Warning: Spoiler



I realize that all these errors can be prevented by the user. But still, should probably be fixed?
Last edited by jayman10000 : 08/18/19 at 05:17 PM.
Report comment to moderator  
Reply With Quote
Unread 08/18/19, 01:28 PM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2293
File comments: 2524
Uploads: 57
And here we go (related to my post directly below):
Some user complaiend in the past at my addon FCOCraftFilter that something is broken. He tested and found out it's MasssDeconstructor which is changing SMITHING variables (I bet you do the same like with the ENCHANTING described below, changing the smithingMod here...) and this will make my addon's buttons don't work properly.
https://www.esoui.com/downloads/file...=1104#comments

PLEASE do not do this. Let the user swith to the extraction/deconstruction tab properly and THEN start the deon/extraction. Or DO NOT change the enchantingMopde or smithing mode and just extract the stufgf. But if you keep it running like this is will break my and other addons for sure
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: