arkayenro / arkinventory

A World of Warcraft Inventory mod for Retail, Burning Crusade, and Classic
108 stars 14 forks source link

Add multiple Item-IDs to categories in one go #1901

Closed DT-DIY-Tech closed 2 months ago

DT-DIY-Tech commented 3 months ago

This is a feature request combined with questions, because I might misunderstand some things. I want to be as polite as possible (even when it doesn't sound that way, I've been told I have that effect on people), because I've enjoyed this addon for more than 15 years. If you are short on time, you probably can skip the next paragraph, it's just my reasoning for the request.

When the end of an expansion provides time to take stock in my addon usage, I often try to find solutions for any minor annoyances I might have had. Before "Dragonflight" I did a complete overhaul of my ArkInventory setup for the first time in years and I was happy with it (for example I created bars for mounts, toys and pets, which I never had before). During "Dragonflight" I noticed that some items are grouped with mounts that aren't mounts, the same goes for pets and toys. After checking it out I learned that those items are used to create or buy mounts, which was a great change. Since Blizzard decided to go ham on that concept during "Dragonflight", I now have so many items in those bars even after I farmed the corresponding mount, and every time I get back to WoW after a few weeks I've forgotten which items are sellable/destoryable and which aren't. Now I know that I can change the default category to something else, but that's a bit annoying with so many items. That' why I wanted to group them up using either "custom categories" or "rules". Now before I start doing that I would like to know which is computationally faster. Should I use custom categories, adding every item by its id (or via edit-menu) or should I use the name or even tooltip rules (for "'Artisan Curios" for example)?

Now I assume custom categories are faster, because string comparisons should work slower than id comparisons. That's why I would like to request a feature to add items to categories in batch. I would suggest adding a category menu similar to the rules menu (that's just to have more screen real estate and make it easily accessible, the current menu is a bit hidden). This menu can look pretty much the same, but should have a larger input box, so you can add a large list of comma-separated values for batch importing (using wowhead for the list of ids for example). Additionally a "remove all" buttons next to the "remove" button would be nice, in case I need to repopulate a category.

That way I can create a category for "Lizi's Reins", add it to my mount-bar and once I have the mount, I can add it to my "auction"-bar. When the items aren't worth anything anymore I can add that category to my "junk"-bar and everything gets sold without me checking every few month what "High-Fiber Leaf" is good for.

arkayenro commented 3 months ago

custom categories are fastest, its a simple numeric comparison.

if theres at least one item already in your bag in the destination category then its quicker to drag and drop the other item on top of it (let go while holding alt) while in edit mode to change its category. everything else needs the item id, and that means getting it from the debug menu then pasting it somewhere.

config > settings > custom categories will accept one item id but i can easily recode that to take a comma/space separated list of them.

i'll see if i can add some extra code to check if you already have the mount/pet the part belongs to and if you do, revert it back to its normal category

DT-DIY-Tech commented 3 months ago

Thanks for your reply.

I knew about the current methods of creating and expanding custom categories, well except for the drag and drop one. Being able to import multiple item ids at once would be a nice addition, because it's not that hard to get lists of item ids. On wowhead you can copy a comma-separated list of item ids (or any other fields really), there are item lists for different purposes available that can be turned into a comma-separated list with a little bit of "textpad magic". For example: https://thenumber2.net/tsm-groups/ or https://github.com/AvyAddons/BetterBags_Dragonflight/blob/main/db.lua.

The advantage of having these items in a group is, being able to move the whole group to a different bar in one go, even if you don't have the items in your inventory. Additionally once you categorized an item you can just click on it in edit mode and you know what its purpose is (by using a helpful category name), without repeatedly checking wowhead. Also, you can have multiple categories on a single bar, still clumped together using the right sort order (so I can have all dream seeds together in my "Dragonflight"-bar instead of spread over the default quest category).

I will start to use custom categories more and hope to see the batch import option in the future.

Thank you.

arkayenro commented 3 months ago

will be in 3.10.33 alpha 5 (when it gets released)

DT-DIY-Tech commented 3 months ago

I tried it out and it works as expected, so that's great. There is one thing though, that really trips you up, when using this functionality.

I tested it out with the following ids: 191251,193201,191264 (The Dragonbane Keep key and its components). After I did that nothing happened and after a while of further testing I found my error. If you only use ids, the items get added as unbound (with 0) and those items are soulbound. So next I tested the batch import using the complete string and it worked aswell.

So, I'd like to add another item to my wishlist... Is it possible to create custom categories with just item-ids. I'm not advocating for removing the current way, just add to it. Maybe use "item:<itemid>:-1" (or any other number that's convenient for you) for items where the bound-state doesn't matter. Make that the default import, if no bound-state is provided and voila, it's done. That would be really great, because DF tends to clutter up my reputation bar and my guess is TWW will be similar. So that way I can move the old reputation tokens to my "Dragonflight" bar once TWW launches and my reputation bar will be free for new clutter.

Thank you for your work on this addon.