Download
(53Kb)
Download
Updated: 09-02-08 08:09 AM
Pictures
File Info
Updated:09-02-08 08:09 AM
Created:unknown
Downloads:4,594
Favorites:58
MD5:

Junkie

Version: 2.4.3-1.5
by: VagrantEsha [More]

Junkie: A DataBroker Plugin

Have you ever wanted an easy way to track the junk in your bag, and to be rid of it on demand? If so, then Junkie is for you. Take a look at the screenshots to see how it works.

To elaborate on what you're seeing there a little; Junkie basically seeks out the cheapest trash (grey coloured) item in your bag and then displays that for you (along with the size of the item's stack and the overall price, taking the stack into account).

Junkie presents a number of options to you for managing grey items:

Clicking Junkie adds the item to a temporary ignore list, this item won't be considered again until the temporary ignore list is cleared or until the current session ends (logout/reload). The way this works is sort of like an inverse shopping list, it checks off the current item and then goes to the next item (on the most worthless list).

Shift-clicking Junkie clears the aforementioned temporary ignore list, going back to the first (and cheapest) trash item it found.

Alt-clicking Junkie destroys the item that's currently being shown to you.

If you want to be able to have Junkie consider certain non-grey items as trash, you can do that. Junkie has an exceptions management mode, which can be toggled on and off by control-clicking.

When in exceptions mode, the click and shift-click functionality remains the same, but alt-clicking an item adds an exception tag to an item. Alt-clicking the same item again removes its exception tag. When an item has an exception tag, it'll be shown amidst the greys in Junkie's default mode.

Once you're done managing exceptions, you can return to Junkie's default mode again by control-clicking.

Just to bring everything together, I'll provide an example of my long-winded explication: Let's say that I want Junkie to be able to consider Shiny Fish Scales for destruction. First, I'd control-click Junkie to put it into exceptions management mode, then I'd click it as many times as needed until Shiny Fish Scales are shown, once they are I'd then do an alt-click to add an exception tag to the Shiny Fish Scales. At this point, I'd reset the temporary ignore list with a shift-click, then I could return to normal mode with a control-click.

This might sound complicated, but give it a go and see for yourself. I really disliked how complicated junk-management systems with long, long fiddly menus were, and this is nothing like that. It does a similar thing, but it's a completely new way to handle it, and once you've used it for a while I feel it becomes really intuitive. All it takes is getting used to the click combinations.

And if you only want to destroy greys, then don't worry, you won't have to fiddle with the exceptions management system at all! It's completely optional.

Things to Consider

If you're after a mod that can sell all grey items, then you might want to check out Haggler (linked below). Haggler also has Junkie interoperability built in, so it can read JunkieDB's list of exceptions. Normally, Haggler just sells all grey items to the vendor whenever its button is clicked at a vendor, but if Junkie is present then it will also sell items from the exceptions list too (this can be toggled on/off, of course).

Haggler: http://www.wowinterface.com/downloads/info10658-Haggler.html

What is DataBroker?

DataBroker is part of a system that's similar to FuBar and its plugins, what you have here is a plugin but you'll also need something to display the output of the plugin. You have many options for this, and I've listed a number of them below for your perusal, just pick the one that interests you the most.

- Fortress: http://www.wowinterface.com/downloads/info10401-Fortress.html
- ButtonBin: http://www.wowinterface.com/downloads/info10474-ButtonBin.html
- StatBlockCore: http://www.wowinterface.com/downloads/info9221-StatBlockCore.html
- MakeRocketGoNow: http://www.wowinterface.com/downloads/info9771-MakeRocketGoNow.html
- Carousel: http://www.wowinterface.com/downloads/info10295-Carousel.html
- Titan: http://www.wowinterface.com/downloads/info8092-TitanPanel.html

If you want further information, that nice feller tekkub has put together some information on his wiki. And it's good information too, information that you should probably read if you're just getting into DataBroker plugins. (Not to mention that poor old tek puts these pages together and not many people seem to read them, so I thought I'd do my part to help remedy that situation. )

http://github.com/tekkub/libdatabroker-1-1/wikis

2.4.3-1.5

- Certain mods/conditions may overload Junkie, I have a system in place to prevent this but I didn't have any kind of debug report in place informing the user. This has been remedied.

2.4.3-1.4

- This is almost exactly the same as the preview version below, with the simple change that the list of saved item IDs is now per character, as there are some items which may be considered as trash to one character, but not another (e.g.: Shiny Fish Scales).
- For a full explanation of how Junkie has changed, see the new screenshots and check out the new description.

2.4.3-1.4-PREVIEW

- Please note, this is a preview release. This is not meant for public consumption. If you're an everyday mod user, I'd recommend using the 2.4.3-1.3 version, which is the last official release. If you like testing out new mods and frequently pull new code from SVNs though, you should be fine. But be warned, you're goin' in there with no documentation!
- Junkie has been rewritten, a number of fundamental things have changed and it's a different beast compared to what it was in 2.4.3-1.3. There's now an exceptions list and a system for handling it, and its default mode only considers greys for destruction. This took me a long while to get right, because I wanted to play with a number of prototypes in order to find the one that behaved the best, and didn't veer from my philosophy of lightweight mods (I hope this one hasn't, anyway).
- Footnote: Though this is a rewrite, I spent hours upon hours testing this mod, bugfixing, testing again, until finally I was satisfied that even the most cosmetic of errors was fixed. I bought numerous items for the sole purpose of destruction, and I've kept at it until fatigue began to set in. I can find no issues, so I believe it's safe for public consumption. The reason as to why this is a preview release instead of a proper release can be found in the comments, but it has nothing to do with bugs.

2.4.3-1.3

- Removed the auto-sell part and sectioned it off into its own mod (Haggler). It really was something that should've been considered as beyond the scope of Junkie, and I've been thinking about doing this for a while. If you liked the auto-sell functionality, snag Haggler (linked in the description).

2.4.3-1.2

- Removed the green-colour from the plugin name in the toc, it causes alphabetical-listing issues. I'll do this for my other plugins too, but not tonight... too late, must sleep.
- Fixed the Junkie/Analyst bug zedbg was having due to differing GetSellValue() implementations, that bug shouldn't rear its head again (I hope!).

2.4.3-1.1

- Quick change to fortify the last update. Last update for the night though, it's time for me to do things that aren't work, and then get some sleep!

2.4.3-1.0

- I've added a check to make absolutely sure that Junkie doesn't try to sell grey items which can't actually be sold.

2.4.3-0.9(b)

- Upload error. My fault, sorry! I forgot to move the new zip-file to my folder of zip-files before uploading it. I've got a lot on my mind at the moment, so hopefully it's an understandable oversight. Still, my apologies.

2.4.3-0.9

- There's now an option to show only greys when Junkie is in its default "DESTROY ALL ITEMS!" mode. Get it? Greys? Destroy All Humans pun? ...never mind. Anyway! Via a combination of some clickiness and key-holding, you can tell Junkie to ignore all items which aren't actually, technically trash in its considerations.
- I've redone the keybindings a bit to work with this new feature.

2.4.3-0.8

- I've implemented that GetSellValue thing that everyone seems to be crazy about these days! Thanks goes to Phanx for the tip.
- I've corrected the toc-version, I am scared and confused by toc-versions.

2.4.3-0.7

- Junkie now scans when the mail frame, trade frame, and auction house frames are closed. Thanks to Skylinee for the heads up.

2.4.3-0.6

- Not released on WoWI.

2.4.3-0.5

- First release on WoWI.
Post A Reply Comment Options
Unread 09-01-08, 10:37 PM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Hm...

I honestly don't know what's wrong, I'm unable to test it at the moment and my brain is far from firing on all of its cylinders at this time.

All I can say is that if it works on login/reloadui/item updates, it should work on closing the vendor frame, unless something is messing with the events or the event isn't working properly.

The reason I think this is because of the way I set Junkie up...

Code:
frame:RegisterEvent"PLAYER_LOGIN"
frame:RegisterEvent"BAG_UPDATE"
frame:RegisterEvent"MERCHANT_CLOSED"
frame:RegisterEvent"TRADE_CLOSED"
frame:RegisterEvent"MAIL_CLOSED"
frame:RegisterEvent"AUCTION_HOUSE_CLOSED"

frame.MERCHANT_CLOSED      = scan
frame.PLAYER_LOGIN         = scan
frame.BAG_UPDATE           = scan
frame.TRADE_CLOSED         = scan
frame.MAIL_CLOSED          = scan
frame.AUCTION_HOUSE_CLOSED = scan
As you can see, all of the events are simply passed to the scan function. So I could understand if none of them were working, but for all to be working but one? That seems to point to something being up with the merchant event.

Does the problem happen if:

A.) You sell the item manually?
B.) Only Junkie (and your DataBroker handler) is enabled?

I'm really hesitant to say it isn't Junkie because of what happened with Bagsy recently. But as I said, all that happens is that when the events are called it initiates the scan, if something isn't working then it seems to go beyond Junkie.

The only other thing I could offer you is some new code to try, with MERCHANT_UPDATE registered too.

http://pastebin.com/d18f8b460

(There's an editbox on the lower half of the page where you can get the code not numbered.)

Paste that into the Junkie.lua you have locally and save it. If that solves the problem then I'll include that in the next official version. I was actually a bit hesitant to include that because it seems to fire for every merchant update, which I was none too sure about (as I said, I'm trying to stay away from spammy events), but if it solves the problem...

Well, anyway, let me know!

And I'm sorry I couldn't be of more help than this.
Report comment to moderator  
Reply With Quote
Unread 09-01-08, 08:33 PM  
break19
A Flamescale Wyrmkin
AddOn Author - Click to view AddOns

Forum posts: 116
File comments: 99
Uploads: 3
Originally posted by VagrantEsha
Junkie only fires on non-spammy events to try to keep the processing it creates down, one of the events it fires on is when the vendor frame is closed. If I may guess - are you checking before the vendor frame closes? If so, that's why. When the vendor frame closes, it updates. I've actually checked this out with Haggler's auto-sell capabilities and it updates fine.
You can guess all you like, however, the item in question continues to appear in the ldb block, long after leaving the merchant, and only goes away when i acquire another grey item, or when I do a reloadui

break19
Report comment to moderator  
Reply With Quote
Unread 09-01-08, 01:56 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Still noticing that Junkie's not refreshing when my "Reagent Restocker" addon auto-sells my greys..
Junkie only fires on non-spammy events to try to keep the processing it creates down, one of the events it fires on is when the vendor frame is closed. If I may guess - are you checking before the vendor frame closes? If so, that's why. When the vendor frame closes, it updates. I've actually checked this out with Haggler's auto-sell capabilities and it updates fine.

edit: oh, and big bags dont help much when you're level 15, being run thru VC by your buddy's 70 and ffa loot is on.. I wind up dropping damn near everything except greens and blues, and sometimes have to have my friend hold stuff. lol
Alts and new players are why Junkie exists, to be sure! When I was playing any of my characters that were level 50 or above, I didn't find much use for the item destroying part of Junkie, I more used the Junkie/Haggler bits because I could hold onto all that I needed to until I reached a vendor. But I've found that the destruction part of Junkie keeps its usefulness well up to level 30, then after that it begins to wane and continues to until about level 50 where it becomes mostly useless (except for the aforementioned Junkie/Haggler interoperability).
Last edited by VagrantEsha : 09-01-08 at 01:56 AM.
Report comment to moderator  
Reply With Quote
Unread 09-01-08, 12:47 AM  
break19
A Flamescale Wyrmkin
AddOn Author - Click to view AddOns

Forum posts: 116
File comments: 99
Uploads: 3
Still noticing that Junkie's not refreshing when my "Reagent Restocker" addon auto-sells my greys..

edit: oh, and big bags dont help much when you're level 15, being run thru VC by your buddy's 70 and ffa loot is on.. I wind up dropping damn near everything except greens and blues, and sometimes have to have my friend hold stuff. lol
Last edited by break19 : 09-01-08 at 12:53 AM.
Report comment to moderator  
Reply With Quote
Unread 08-30-08, 03:45 PM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
No worries, really.

For a moment there I was actually worried that SavedVariablesPerCharacter wasn't working as intended, I'm just relieved that's not the case. I'm glad you're enjoying them though, and I hope you'll continue to. But if you have any further issues, don't hesitate to bring them to me.
Report comment to moderator  
Reply With Quote
Unread 08-30-08, 02:39 PM  
Hench
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
Upgraded to latest version and everything is hunky dory.

Sorry for wasting your time I could have sworn I was using the current release.

Keep up the good work. I'm loving Attrition, Junkie and Haggler.
Report comment to moderator  
Reply With Quote
Unread 08-30-08, 09:32 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Are you using the very latest version? I just had to check to be sure, I think the first version of Junkie that had that exceptions DB might've been global, but it's been corrected for a while now. In your toc, the SavedVariables line should read as thus:

## SavedVariablesPerCharacter: JunkieDB

If it doesn't, grab the most recent version. If it does, buh? I hate to sound like an idiot but "Buh." is the only response for it. That setting is supposed to imply that it's storing by character-realm. If that's not the case then let me know and I'll set it up so that my mod itself (in the lua) stores things per character.
Report comment to moderator  
Reply With Quote
Unread 08-30-08, 06:56 AM  
Hench
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
Are Junkie exceptions made on a global or per character basis?

I was under the impression (don't know from where) that exceptions were supposed to be per character.

The reason I ask is because I put Shiny Fish Scales and Fish Oil in my exceptions list on my Warrior and when I logged my Shaman they were in the exception list there too. Which wasn't very good for his underwater breathing or water walking.
Report comment to moderator  
Reply With Quote
Unread 08-28-08, 04:52 PM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
I'm kinda amused by this whole thing. As I'm sure you're aware GarbageFu was a fork/port/rewrite of my old ItemizedDedutions... a TITAN plugin *shudder*
Good grief, I remember ItemizedDeductions, I used it... egads, it seems like a bloody age ago. Taking into account my amazingly poor memory, I'd completely forgotten about it, and I had no idea that GarbageFu was a rewrite of it.

Sadly I grew out of that need (I always have tons of bag space now), so the addon was abandoned for the simple reason that it wasn't needed anymore.
I can see where you're coming from, but I'm an altoholic and in those early levels it can be handy to have something like this. When I get to the point where I can deck a character out with Netherweave Bags, the need for the mod becomes less. But I'll always be keeping it around in the wings for the inevitable time where I start over again.

[...] cause I didn't care for the direction things were headed.
Same here.

I respect GarbageFu on a technical/mechanical level, but it was a massive beast of a thing. It was a... a borg mod. I dislike borg mods. This is why I've had to put my foot down in the past with Junkie, I don't want Junkie becoming a borg mod either.

There are many users out there who'll use something like GarbageFu and not see the... well, I can't call it bad, but I'll say they can't see the lack of focus in it, and they'll not understand either why I won't simply turn Junkie into a rehash of said mod. But I have to keep my focus or in the end, Junkie will just be GarbageFu; another borg mod filled with features that people think they want but never actually use.

And that's the part that irritates me the most, really. At the moment, I'm doing my bestest to keep Junkie sleek, because whilst I can appreciate fat people, and I love Moonkin (who certainly lay into the pies), bloated just isn't beautiful to me where code is concerned. Sleek is. And Junkie must be sleek, or it might aswell not be me writing it.

I just thought I'd give you some insight into my thinking anyway, because I think we share a lot of the same kind of development philosophies. I'm not really on your level yet though, as you've done crazy things with some of your mods and libraries that I don't entirely understand. But, I have my focus, and I have my intent to listen and learn!

I'm certainly not suggesting you do either, removing that keeps the addon super small, which makes me happy.
Indeed, I had considered it actually but the amount of code I'd have to put in and the data-management involved just didn't make it worthwhile. To me, something is only practical if I can do it without harming what the mod was when I first envisioned it. I'm stubborn like that. So I'm glad that you think that was a good choice.

So, even though I have no need for this plugin thanks to cheap large bags these days, I just figured I'd pop in and say "good jorb".
Shouldn't that be jaeorb? ;p

I have to say though, coming from you tek, that means a lot. I think it should be clear by now that I have no small bloody amount of respect for you as a coder, and really you're a dev's dev, so yeah... that's made my day. Thanks!
Report comment to moderator  
Reply With Quote
Unread 08-28-08, 04:10 PM  
Tekkub
A Molten Giant
 
Tekkub's Avatar
AddOn Author - Click to view AddOns

Forum posts: 960
File comments: 334
Uploads: 67
I'm kinda amused by this whole thing. As I'm sure you're aware GarbageFu was a fork/port/rewrite of my old ItemizedDedutions... a TITAN plugin *shudder*

ID was born of a simple need, bagspace, but with the additional logic of considering auction prices if they were available. Sadly I grew out of that need (I always have tons of bag space now), so the addon was abandoned for the simple reason that it wasn't needed anymore.

Then GarbageFu came along and adding in lots of things I never would have put in ID. It was written okey, but I never used the addon, partially cause I didn't need it and partially cause I didn't care for the direction things were headed.

Now it seems you're getting things "back on track" with my original design, though you don't appear to use auction prices. I'm certainly not suggesting you do either, removing that keeps the addon super small, which makes me happy.

So, even though I have no need for this plugin thanks to cheap large bags these days, I just figured I'd pop in and say "good jorb".
Report comment to moderator  
Reply With Quote
Unread 08-28-08, 03:03 PM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Okay, there's now a preview version up for everyone to test.

I would make this an official release considering that I've tested it until the bovines return, but that'd mean I'd have to rewrite the front-page (since the way it works has changed drastically), and I'd have to upload new screenshot(s)... these are things I don't feel up to doing tonight. In fact, I'm going back to bed! Well, soon enough anyway, I'll be updating the description and screenshot tomorrow but I didn't want to make everyone wait.

I think I've done a good job with this, I'm satisfied and maybe even a litle pleased with myself. I worked hard on finding the most lightweight solutions to the features I wanted to put in there, and I even found a rather unique way of handling the database of exceptions that Junkie will now have. There might be things I could improve on though, so I'm open to thoughts and opinions here. What do you think of the new Junkie, as far as both the code and functionality are concerned?

I'll be back to read the comments and do the appropriate spring cleaning tomorrow.
Report comment to moderator  
Reply With Quote
Unread 08-28-08, 05:18 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Bah, you and your "I can be succinct when I reply to something!"-ness, how I envy that!

Anyway, as far as Junkie goes, I'll get to work on that after I'm done playing the game today. It might not arrive until late tomorrow because looking over Junkie, it'll be a rewrite of a few fundamental things, and I want to make sure I take the time to do that right. Rest assured though, it will happen soon enough, and I've already put my thinking cap on in regards to it.

Thanks, Phanx!
Report comment to moderator  
Reply With Quote
Unread 08-28-08, 04:48 AM  
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5617
File comments: 2321
Uploads: 54
Yeah, that sounds about what I had in mind.
Report comment to moderator  
Reply With Quote
Unread 08-28-08, 12:44 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
/me throws fish.
Can't say I didn't have that coming, but I'm still not sure what to do with those tooltip titles. I did try removing the subtitle and it made it all look so very barren. What would work is if I could align the tooltip title to the center, then I'd remove the subtitle because the title wouldn't look so horrid if it wasn't left aligned. Any advice there?

[...] it occurred to me that it might be simpler to instead add an "un-ignore" list that would work in conjuction with the "destroy only grays" option. There really aren't many white items (and no green or higher items, that I can think of) that you'd ever want to destroy, as anything that isn't gray generally has some other use besides vendoring.
You know, that's bloody brilliant! I'm honestly amazed I hadn't come up with this, and I hope this is what you meant because it solves all my problems of not wanting to deal with libraries. In fact, I really do think I can use that but I'm not sure if it's what you actually intended.

I'm not sure how best to explain what I'm thinking here, but bear with me...

First of all, we do away with the default mode. The grey-item mode becomes the only mode. By default, Junkie will only present grey items to the user for consideration and no others.

Now instead of switching between the old default (all items) and grey mode, that keybinding switches between three modes.

1.) The default "destroy greys" mode.

2) The "exceptions management" mode.

The idea is that exceptions management will work similar to the old mode, you'll be able to scroll through all the items in your bag and either tag or untag them as exceptions with different key + click combinations. For example, "Small Furry Paw" might be added with shift + click, and removed with alt + click. As always, using control + click would reset the cycled list back to the first item.

This means that the interface remains entirely with the button, the clicks, and the tooltip (thus keeping the cohesion of the plugin), and it remains easier to deal with than fiddling with a huge menu since the only time an item would be considered is when the player actually has an item.

So if a player found later that they didn't want such-and-such a white item to be considered for destruction, they could simply switch back to the other mode, cycle through to the item and then untag it again.

One of the main problems I had with the GarbageFu system is that it simply dumps a view of all the items a player ever ignored on them, and that's simply not very user-friendly. But this method you've come up with (or that I've misinterpreted) actually allows one to completely avoid these huge list. The motto of Junkie remains that you deal with the items you have, and only the items you have.

And actually working from a greys-only position and adding exceptions from there is a bloody brilliant concept anyway, because that allows the list to be so much smaller. It means adding only a few items here and there that would actually be destroyed, as opposed to adding every damn item under the sun to the ignore list.

Yes, this could work because it solves all the problems!

As I said, that's bloody brilliant.

I'm not sure if this is what you meant though, so I'll leave this here for you to mull over and consider. But it could add all the bits that everyone's always wanted, and at the same time it allows me to be stubborn and stick to the initial vision of Junkie, of a mod which is easy to understand, never overwhelms the user, and doesn't have huge menus or lots of extra files bundled in with it.
Report comment to moderator  
Reply With Quote
Unread 08-27-08, 07:37 PM  
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5617
File comments: 2321
Uploads: 54
Originally posted by VagrantEsha
I feel like I'm going to be pelted with fish though for even suggesting that.
/me throws fish.

... it would have Ace3 embedded for the purpose of a configuration screen and via that configuration it would allow for the creation and maintenance of a permanent list. I'll check out StealYourCarbon too to see if tek's libraries are more suited than Ace3 in this case too (as I do love the guy's work, I have most of his mods in my ersonal collection so I should).
While I generally think Ace3 is great, I don't use it for configuration in my simple addons, simply because the size of the libraries to craft a config GUI are significantly larger than my entire addon. Tekkub's tekKonfig widget "libraries" are tiny, easy to work with, and each one is totally standalone. I'm not sure if the item-list widget he uses in StealYourCarbon is lib-ified, but I'm sure he wouldn't mind if you "borrowed" the relevant code.

As for the whole ignore-list concept, it occurred to me that it might be simpler to instead add an "un-ignore" list that would work in conjuction with the "destroy only grays" option. There really aren't many white items (and no green or higher items, that I can think of) that you'd ever want to destroy, as anything that isn't gray generally has some other use besides vendoring.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: