This project is abandoned.

Whether this project is out of date or its author marked it as abandoned, this project is no longer maintained.

If you wish to take this project over, please report it and state your intentions.

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 slots
  • defrag - Move items to leave all available space at one end of the bags
  • sort - Sort all inventory items in place
  • consolidate - Move items from the normal bags to special bags if they fit
  • theworks - 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.

I've put in a throttle to slow down the cycles and the gbank will move a whole lot closer to what the original MrPlow sorting speeds were, and also, due to lag and response times from the server reporting where items in the guild bank are, MrPlow -may- get utterly confused near the end and endlessly cycle some items around in a loop. As a patch for this eventuality, there's now a /mp stop command to cease his endless plowing if you notice a loop occurring. Generally, given enough time, it'll sort itself out, but I'm sure you all have better things to do, when it's down to two or three last items =)

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Natronx77 Natronx77 Dec 29, 2009 at 05:37 UTC - 0 likes

    Is it feasible to organize equipable items by rarity before item slot?

    Currently, all my hat items are lined up, sorted by rarity. This mixes seasonal items in with epics, and there is no benefit to having joke hats next to epic hats.

    I would like all my white items lined up, sorted by slot and all my epic items together, sorted by slot.

  • Avatar of spode2 spode2 Dec 22, 2009 at 19:45 UTC - 0 likes

    Glad MrPlow is back! But I miss the gossip he used to say when driving around in my bags. Any chance of adding that? :-)

  • Avatar of LaoTseu LaoTseu Dec 13, 2009 at 15:01 UTC - 0 likes

    Hello, I wanted to beta test but the lack of menu on the LDB Data broker was stoping me. I added a some code to get a menu to my local version. It's not very polished and doesn't have any localization code but it does the job for me and might allow others to beta test the MrPlow more.

    Here's the code

    Note that I put Defrag instead of The Works as the default. It's my personal preference, feel free to change that. The menu also allow to hide or show the minimap icon.

    BTW, for those who just want to hide the minimap icon and don't want to modify their local copy of the addon, use the following script:

    /script LibStub("LibDBIcon-1.0"):Hide("MrPlowLDB");MrPlow.db.profile.hide = true

    You only need to do it once since MrPlow will remember not to show the button the next time you log in.

    To get the icon back, you run the following script:

    /script LibStub("LibDBIcon-1.0"):Show("MrPlowLDB");MrPlow.db.profile.hide = nil

    Anyways, I'm very glad you started working again on the addon. So far, it appears to be working way better then it used to.


  • Avatar of wobin wobin Dec 12, 2009 at 22:39 UTC - 0 likes

    line 95:

    icon:Register("MrPlowLDB", myldb, db)

    comment that one out

  • Avatar of cyberian cyberian Dec 12, 2009 at 02:57 UTC - 0 likes

    Error when I tried to sort my bank:

    1x attempt to compare nil with table: <in C code>: in function `sort' MrPlow-10.1\PlowEngine.lua:736: in function `?' MrPlow-10.1\PlowEngine.lua:827: in function <MrPlow\PlowEngine.lua:813>

    Locals: (*temporary) = <table> { 37 = <table> {} 160 = <table> {} } (*temporary) = nil (*temporary) = <table> { itemName = "Glacial Salmon" itemRanking = 8 itemEquipLoc = "" itemLevel = 70 slot = 13 Set = "" itemStackCount = 20 bag = 7 itemSubType = "Meat" itemRarity = 1 itemMinLevel = 0 itemID = "41809" itemType = "Trade Goods" itemTexture = "Interface\Icons\INV_Misc_Fish_51" itemArmWepRanking = 27 itemLink = "|Hitem:41809:0:0:0:0:0:0:0:71[Glacial Salmon]" pos = 80 } (*temporary) = nil


  • Avatar of cyberian cyberian Dec 12, 2009 at 02:48 UTC - 0 likes

    I'd like to get rid of that minimap button. What code do I need to comment out? Thanks!

  • Avatar of wobin wobin Dec 06, 2009 at 07:04 UTC - 0 likes

    @Excelis Docking Station is how I got MrPlow onto Docking Station

    Last edited Dec 06, 2009 by wobin
  • Avatar of Excelis Excelis Dec 03, 2009 at 03:52 UTC - 0 likes

    As of v10.2.2-Beta:

    • Still hanging up on Simple Grinder when I have it in my bags.
    • Still can't seem to make it's icon show on Docking Station. I'm not very familiar with Docking Station so it might be me. I'll keep working with it.
    • Still looking forward to ignoring. :)
  • Avatar of wobin wobin Nov 30, 2009 at 05:31 UTC - 0 likes

    I'll add in a toggle on the options when that gets completed.

  • Avatar of Phaelen Phaelen Nov 29, 2009 at 07:25 UTC - 0 likes


    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?


Date created
Sep 16, 2008
Last update
Nov 22, 2012
Development stage
  • enUS
All Rights Reserved
Recent files



Tool used
Embedded library