Get an Epic Experience with Premium

Reagent Restocker

Bags & Inventory Login to Add Favorites
  • World of Warcraft
  • 4,240 Monthly Downloads
  • Supports: 6.0.2
  • 257,085 Total Downloads
  • Updated 10/15/2014
  • Created 10/06/2009
  • 374 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: MIT License
  • Newest File: v9.1
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.

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

If you like it, feel free to donate! I highly recommend donating to your favorite addons, it really helps.

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:

r120 | cobraa1 | 2014-10-16 01:30:42 +0000 (Thu, 16 Oct 2014) | 2 lines
Changed paths:
   A /tags/v9.1 (from /trunk:119)

* Removed guild level code, since that functionality has been removed as of Warlords of Draenor.

r119 | cobraa1 | 2014-10-16 01:29:24 +0000 (Thu, 16 Oct 2014) | 1 line
Changed paths:
   M /trunk/Core.lua
   M /trunk/NEWS.TXT
   M /trunk/ReagentRestocker.toc

Commit before update.
r117 | cobraa1 | 2014-10-14 23:25:26 +0000 (Tue, 14 Oct 2014) | 1 line
Changed paths:
   M /trunk/BankBag.lua

Commit before update.


First Previous Page 15 of 34 Next Last
  • #300
    Chances are, the memory usage is due to the low reagent check whenever the inventory's being changed (ie, when looting or using a spell that uses a reagent).

    In a garbage collected language like Lua, I have very little control over when the GC comes around and reclaims released memory. I've done my best to keep it under control, but it's ultimately up to Lua to reclaim memory I'm not using anymore.

    It shouldn't slow anything down, however. Memory waiting for the GC won't eat up CPU cycles or anything like that.

    As long as it doesn't affect your FPS, I wouldn't worry about it.
  • #301
    Unfortunately, that's one of the issues I've been having as of late. I'm getting ridiculous FPS while raiding. My rig is a little bit outdated (2006 Mac) with 2GB of memory. I've managed to get my addon usage down to 19MB and it seems like when I'm raiding (and a few addons go nuts with the memory; Satrina Buff Frame is another one, and Grid does it, too) my FPS drops down to 2-4 which makes me a sad panda.

    However, chances are I have no idea what I'm talking about since I'm not very FPS/memory savvy. Then again, I'm also sure this has a lot to do with my current video card that I cannot upgrade. Hoping to get a new system later this year, but in the meantime I'm trying to cut addon corners where I can. Maybe dropping my overall memory usage for my addons isn't going to do anything?

    Thanks for your reply, and keep fightin' the good fight!
  • #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
  • 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 »

VIP trip to SMITE World Championship