Get an Epic Experience with Premium

Reagent Restocker

Bags & Inventory Login to Add Favorites
  • World of Warcraft
  • 3,344 Monthly Downloads
  • Supports: 6.0.3
  • 263,705 Total Downloads
  • Updated 11/25/2014
  • Created 10/06/2009
  • 377 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: MIT License
  • Newest File: v10.0
Support development! **

About Reagent Restocker

Reagent Restocker is a simple addon for automatically purchasing items, selling unwanted items, and repairing. Unlike many other similar addons, Reagent Restocker supports drag and drop and has a full GUI for editing buy/sell lists.

If you like it, feel free to donate! I highly recommend donating to your favorite addons, it really helps. If every person who downloads this addon donates as little as $1 per month, I could actually work on this addon full time. As it stands, however, it's actually kinda hard to justify putting much time into it at all.

Reagent Restocker now has Google+ and Facebook pages! News, notes, and patch releases will be posted to Google+ and Facebook.

NOTE: I've been seeing copies of Reagent Restocker popping up at other download sites. The only three places I currently upload the addon to are,, and I cannot guarantee the integrity of any other download sites.

What can you do with Reagent Restocker? Well, you can do the following:

  • Automatically buy items from vendors.

  • Automatically sell items you can't use.

  • Automatically fix your gear.

  • Warn you when you're getting low on items you automatically buy.

  • Use LDB to show your current stock of items.

  • Automatically mark items in ArkInventory as trash (Note: This feature is maintained by the authors of ArkInventory).

  • Access it via the minimap (must have LibDBIcon installed).

  • When automatically buying water, it can automatically update the buy list to the latest usable water by your character.

  • Stock excess items in your bank or the guild bank.

  • Control buying/selling/repairing based on vendor discounts.

Devs wanted! It's open source, and I've been busy with other things in real life. I'm willing to add more members to the team. Must have a CurseForge account.


If you have LibDBIcon or a LDB compatible bar installed, you can access Reagent Restocker simply by clicking on the icon. Otherwise, you can access it via slash commands.

To start using Reagent Restocker, type /rr at the command line. /rrstock and /reagentrestocker also work.

Raid Roll users: Reagent Restocker may take over /rr - if that happens, use /rrl for Raid Roll.

/rrbuy and /rrsell add items to the sell and buy lists (thanks g3gg0)


The primary portal for Reagent Restocker is at, even though I also publish the addon to (the old portal) and, and may publish to other places in the future.

The public facing page is here:

The development pages are here:

r126 | cobraa1 | 2014-11-26 04:19:17 +0000 (Wed, 26 Nov 2014) | 6 lines
Changed paths:
   A /tags/v10.0 (from /trunk:125)

-   Fixed bank overstocking

-   Updated icon

-   NEW: You can now instruct Reagent Restocker to automatically move reagents to the reagent bank! The new option is in the "Bank" section, and is off by default.

r125 | cobraa1 | 2014-11-26 04:18:13 +0000 (Wed, 26 Nov 2014) | 1 line
Changed paths:
   M /trunk/ReagentRestocker.toc

Commit before update.
r124 | cobraa1 | 2014-11-26 04:13:59 +0000 (Wed, 26 Nov 2014) | 6 lines
Changed paths:
   M /trunk/BankBag.lua
   M /trunk/
   M /trunk/DatabaseUpdate.lua
   M /trunk/
   A /trunk/RR Icon 2014.svg
   M /trunk/RRIcon128.tga
   M /trunk/ReagentRestocker.toc
   M /trunk/UI.lua

-   Fixed bank overstocking

-   Updated icon

-   NEW: You can now instruct Reagent Restocker to automatically move reagents to the reagent bank! The new option is in the "Bank" section, and is off by default.

r122 | cobraa1 | 2014-10-29 16:56:15 +0000 (Wed, 29 Oct 2014) | 1 line
Changed paths:
   M /trunk/BankBag.lua
   M /trunk/
   M /trunk/ReagentRestocker.toc

Commit before update.
r121 | cobraa1 | 2014-10-17 23:04:38 +0000 (Fri, 17 Oct 2014) | 1 line
Changed paths:
   A /trunk/
   A /trunk/
   D /trunk/NEWS.TXT
   A /trunk/

Converted documentation to markdown, which is easier to work with across all sites I upload to. The editor I am using is called Texts.


First Previous Page 16 of 35 Next Last
  • #302
    I'll definitely keep looking at ways to reduce memory usage and increase performance overall.
  • #296
    Here goes nothing - just released a beta, should be up soon. Includes guild bank support, something that's been requested for a long time.

    Bugs pretty much guaranteed for bank/guild bank transactions. Rewrote quite a bit to support the guild bank APIs. Please report them.

    Also includes a mess of other changes, see the changelog for complete details.
  • #295
    Life's been keeping me busy, sorry for no updates yet :(. Still some bugs in the guild bank code. If anybody wants to help with coding, that would be great.
  • #294
    Guild support is in and working, but very buggy. Might be looking at a beta release soon.
  • #292
    Humm, got *some* guild bank support working, although there's a bug that will currently eat through the withdrawal limit if you have one for some odd reason.

    If there's anybody who has a guild on Ysera or Dark Iron I can join that doesn't have a limit, I could continue testing.
  • #290
    ''In addition, I'm deep in an overhaul of some of RR's core code trying to get guild bank support working. Other features are unlikely to happen until I've got it working.''

    Fair enough, but I will bring this to you attention nevertheless, just in case: Reagent Restocker refuses to stock up on Dust of Disappearance.
  • #293
    I've also stumbled across some possible causes of the bug, and an attempted fix will be in the upcoming beta.
  • #291
    Try removing it, reloading WoW, and re-adding it.
  • #289

    Not sure if this is a bug/conflicting addon, but RR simply doesn't sell anything, whether its set to 0, 2, 3, enabled etc, anything. I can't get it to sell items whether the box to enable auto sell is ticked or not.

  • #285
    Hey I just love your addon. But was wondering if u maybe could talk to the creator of Mr.Plow... about making so when reagent restocker is done selling and buying everything that it auto matically starts up Mr.Plow. Mr.Plow re organizes ur bags to make them more neater. if you could TY if not its ok ur addon is still really great!!
  • #286
    Try Adibags or ArkInventory, they do that automatically.
  • #287
    In addition, ArkInventory's trash() rule works with Reagent Restocker :). Anything that RR will throw away should be detected by the trash() rule.

    I'm not sure how I'd integrate Mr. Plow in a way that makes a lot of sense - it seems an odd thing to do for Reagent Restocker.

    In addition, I'm deep in an overhaul of some of RR's core code trying to get guild bank support working. Other features are unlikely to happen until I've got it working.
  • #282
    Message: Interface\AddOns\ReagentRestocker\Core.lua:2449: attempt to concatenate field 'sName' (a nil value)
    Time: 01/04/11 12:13:55
    Count: 1149
    Stack: Interface\AddOns\ReagentRestocker\Core.lua:2449: in function

    Locals: self = {
    0 =
    event = "BAG_UPDATE"
    sl = {
    17031 = 1
    17032 = 0
    17020 = 0
    (for generator) = defined =[C]:-1
    (for state) = {
    17031 = {
    17032 = {
    17020 = {
    17058 = {
    59809 = {
    (for control) = 17031
    itemID = 17031
    numItems = {
    item_sell = 250
    0 = "Rune of Teleportation"
    3 = 20
    tags = {
    5 = "Miscellaneous"
    4 = 0
    7 = 20
    6 = "Reagent"
    9 = "Interface\Icons\INV_Misc_Rune_06"
    8 = ""
    low_warning = 5
    qty = 20
    2 = 1
    1 = "[Rune of Teleportation]"
    (*temporary) = {
    warned = false
    label = ""
    (*temporary) = nil
    (*temporary) = ": 19"
    (*temporary) = ""
    (*temporary) = "19"
    (*temporary) = {
    repair = defined @Interface\AddOns\ReagentRestocker\Core.lua:1438
    SetDefaultModuleLibraries = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:383
    findOptimalDestinationInBags = defined @Interface\AddOns\ReagentRestocker\Core.lua:2191
    EnableModule = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:348
    modules = {
    baseName = "ReagentRestocker"
    IterateEmbeds = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:458
    MERCHANT_SHOW = defined @Interface\AddOns\ReagentRestocker\Core.lua:975
    MERCHANT_UPDATE = defined @Interface\AddOns\ReagentRestocker\Core.lua:864
    showFrame = defined @Interface\AddOns\ReagentRestocker\UI.lua:822
    purchaseItems = defined @Interface\AddOns\ReagentRestocker\Core.lua:1100
    lockTransaction = defined @Interface\AddOns\ReagentRestocker\Core.lua:840
    Printf = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceConsole-3.0\AceConsole-3.0.lua:69
    getSellPrice = defined @Interface\AddOns\ReagentRestocker\Core.lua:515
    listType = defined @Interface\AddOns\ReagentRestocker\Core.lua:635
    defaultModuleState = true
    IsEnabled = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:467
    isToBeDestroyed = defined @Interface\AddOns\ReagentRestocker\Core.lua:1395
    areSlotsUnlocked = defined @Interface\AddOns\ReagentRestocker\Core.lua:2043
    DisableModule = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:366
    RegisterMessage = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:118
    GetArgs = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceConsole-3.0\AceConsole-3.0.lua:144
    isReagentVendor = defined @Interface\AddOns\ReagentRestocker\Core.lua:1425
    safeGetItemInfo = defined @Interface\AddOns\ReagentRestocker\Core.lua:502
    isSpecialBagType = defined @Interface\AddOns\ReagentRestocker\Core.lua:2269
    addToListByID = defined @Interface\AddOns\ReagentRestocker\Core.lua:689
    SetEnabledState = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:440
    enabledState = true
    isSlotUnlocked = defined @Interface\AddOns\ReagentRestocker\Core.lua:2037
    RegisterEvent = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:118
    hideFrame = defined @Interface\AddOns\ReagentRestocker\UI.lua:818
    IterateModules = defined @Interface\AddOns\AlarBGHelper\libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:453
    sell = defined @Interface\AddOns\ReagentRestocker\Core.lua:1585
    countItemInBags = defined @Interface\AddOns\ReagentRestocker\Core.lua:2070
  • #283
    When does this happen?
  • #284
    Every-time I loot mobs and talk to vendors, the above error occurs.

    Live and let live or you might get killed!

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Plantronics GameCom Commander Headset Giveaway!