MrPlow
Regain that wasted space!
MrPlow is a fast and simple inventory sorter. Designed generally for Onebag style setups where it treats all bags as a single one, it will sort all the items in your inventory, bank or guild bank into item groups and types.
Could those who are having looping issues with the inventory sorting, and are willing to do a bit of debugging to help find the cause, post a ticket here with all the items that are being swapped around with? It's important to list all the items in that group, because the sorting algorithm has a few levels, and the reason it's looping is that the items are matching to the same comparison at different levels, so there ends up being conflicts in the order, depending on which gets compared first. I'll take those items, and give you a line to insert into the code so it'll output exactly how each of the items are being compared/sorted to one another, and from there we can debug where it's making the mistake.
To post a support ticket, please click here
So... uh. Yeah.
A year after the latest release, MrPlow is back. I went through the effort to kinda pimp him up a bit. He will work a lot faster (and without AceTimer/Event). I'd like some feedback on how it deals with special bags, currently it won't group them up well if you have multiple of the same bag, but it will sort within those bags (and consolidate to them all). Also, any suggestions as to the UI would be appreciated.
The commands are as follows:
/mrplow [[g]bank] [stack|defrag|sort|consolidate|theworks]
stack
- Restack all items to fit in the smallest number of slotsdefrag
- Move items to leave all available space at one end of the bagssort
- Sort all inventory items in placeconsolidate
- Move items from the normal bags to special bags if they fittheworks
- Runs Stack->Consolidate->Defrag->Sort->Stack
this comes out to:
Normal bags
/mrplow stack
/mrplow defrag
/mrplow sort
/mrplow consolidate
/mrplow theworks
Your bank:
/mrplow bank stack
/mrplow bank defrag
/mrplow bank sort
/mrplow bank consolidate
/mrplow bank theworks
Guild bank (No special bags to consolidate with):
/mrplow gbank stack
/mrplow gbank defrag
/mrplow gbank sort
/mrplow gbank theworks
And, if anything goes wrong, and MrPlow appears to be swapping items forever:
/mrplow stop
will apply the emergency brakes.
(/mp
is also a shortcut)
10.2.10 Darkmoon decks are now sorted within each other
10.2.9 - Adjusted guildbank sorting to not fail so much at the end. Changed special bag detection and consolidation forthwith.
10.2.6 - Added a fix for the Spring Flowers (which don't actually have an official equipslot location... damn them..) and one for those who were getting the null reference.
10.2.5 - Er, this bugfix fixes the sorting issue between chests and robes. Also included are some debug switches to make it a little easier to submit a ticket. Check out the bug ticket if you're having issues and follow the prompts there.
10.2.4 - This bugfix fixes the sorting issue between chests and robes. Temporarily, if you want, use /script MrPlow:Ignore(bag, slot)
to ignore a specific slot. I'll have it shoved into a config ui soon. Personal bags are 0,1,2,3,4 from the backpack, bank is -1,5,6,7,8,9,10,11. Remove the reference to the slot if you want to ignore a bag (MrPlow:Ignore(bag)
). Guildbank stuff is a little more involved for setting the ignore settings. I'll have this all in a ui at some point soon.
10.2.3 - This version fixes the issue in regards to equipment not sorting correctly, along with tradeskill items. This will also fix some of the infinite sort loops that occur in regards to Simple Grinding Stones and others.
10.2.2 - This is a embeds fix for people who want a clean install to actually work. Apologies for the messup on that.
10.2.1 - If you want reversed functionality, hit
/script MrPlow.db.profile.EmptySpace = "Top"
for the moment, until I can get a UI config going. This will set a toggle to affect the normal direction of flow of the addon. Set
/script MrPlow.db.profile.EmptySpace = ""
to undo it.
10.1 has guildbank functionality, please be aware however, that this is not perfect (and I very much doubt it will ever be). The problem with guild banking, is that due to it's shared functionality with other players, the response time for any action is far longer than your personal inventory/bank.
Thus, applying the normal speeds to the operation results in a hozillion spammed attempts at moving items. It all sounds very pretty, but is less than effective, as it attempts to move stuff, checks the order, tries to move it again, checks the order, etc etc repeat til you hear a ringing sound in your ears.
Wobin,
1st, love the mod. 2nd, I'm getting two mini-map buttons & I don't want any. I use an LDB display for MrPlow (Chocolate). How do I get rid of the mini map buttons?
ignoring isn't back in quite yet (well... it -is- but there's no actual UI to add stuff in...), but will be once I get a UI organised
Error occured in: Global
Count: 2
Message: attempt to compare table with nil
Debug:
(tail call): ?
[C]: ?
[C]: sort()
MrPlow\PlowEngine.lua:722: ?()
MrPlow\PlowEngine.lua:815:
MrPlow\PlowEngine.lua:802
..\AddOns\Postal\Modules\OpenAll.lua line 210:
attempt to call method 'ParseInventory' (a nil value)
Using MrPlow 10.2.1B and Postal r273 I don't get the error. In r273 he added some kind of new MrPlow support.
I used to use Mr Plow a long time ago before it stopped getting updated. In the meantime I've used Bankstack as an alternative, and while I've never had any real problems with it, I must say that I'm very excited to see Mr. Plow back! One thing I do like about Bankstack is the ability to ignore bag/bank slots from being sorted (i.e-I like to keep all my hunter ammo at end of bag and just have the rest of the bag slots sorted). I have yet to get the latest version of Plow, so I'm not sure if this is offered or not. Regardless, thanks very much for bringing this gem of an addon back to WoW!
Will be working on the reverse sorting
Currently propogation from the repo to Curse isn't working (may have to wait til after Thanksgiving for them to fix it...)
Time: 11/27/09 20:34:48
Count: 2
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
[C]: in function `RunJob'
Interface\AddOns\MrPlow\MrPlow.lua:113: in function `?'
...AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:94: in function `?'
Interface\FrameXML\ChatFrame.lua:3508: in function <Interface\FrameXML\ChatFrame.lua:3461>
[C]: in function `ChatEdit_ParseText'
Interface\FrameXML\ChatFrame.lua:3177: in function `ChatEdit_SendText'
Interface\FrameXML\ChatFrame.lua:3201: in function `ChatEdit_OnEnterPressed'
[string "*:OnEnterPressed"]:1: in function <[string "*:OnEnterPressed"]:1>
Locals: self =
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:384
Enable = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:316
RegisterChatCommand = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:85
returnTable = <function> defined @Interface\AddOns\MrPlow\MrPlow.lua:64
EnableModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:349
PlowEngine = PlowEngine {
}
GetModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:233
IterateEmbeds = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:459
defaultModuleLibraries =
}
OnClick = <function> defined @Interface\AddOns\MrPlow\MrPlow.lua:128
UnregisterChatCommand = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:111
Printf = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:69
SetDefaultModulePrototype = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:426
name = "MrPlow"
IsEnabled = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:468
PlowScheduler = PlowScheduler {
}
DisableModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:367
IgnoreSlots = <function> defined @Interface\AddOns\MrPlow\MrPlow.lua:132
GetArgs = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:144
Print = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:54
IsModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:485
db =
}
SetDefaultModuleState = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:404
SetEnabledState = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:441
UnignoreSlots = <function> defined @Interface\AddOns\MrPlow\MrPlow.lua:139
enabledState = true
getTable = <function> defined @Interface\AddOns\MrPlow\MrPlow.lua:51
baseName = "Blizzard_DebugTools"
DoStuff = <function> defined @Interface\AddOns\MrPlow\MrPlow.lua:94
OnInitialize = <function> defined @Interface\AddOns\MrPlow\MrPlow.lua:79
IterateModules = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:454
NewModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:258
modules =
}
GetName = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:301
defaultModuleState = true
tablePool =
}
Disable = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:331
}
args = "theworks"
(*temporary) = nil
(*temporary) = PlowEngine {
0 = <userdata>
}
(*temporary) = nil
(*temporary) = 0
(*temporary) = 1
(*temporary) = 2
(*temporary) = 3
(*temporary) = 4
(*temporary) = "attempt to call method 'RunJob' (a nil value)"
Date: 2009-11-28 01:27:59
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\MrPlow\MrPlow.lua line 15:
Usage: EmbedLibrary(addon, libname, silent, offset): 'libname' - Cannot find a library instance of "AceConsole-3.0".
Debug:
[C]: ?
[C]: ?
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:212: EmbedLibrary()
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:194: EmbedLibraries()
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:161: NewAddon()
MrPlow\MrPlow.lua:15: in main chunk