Coder Social home page Coder Social logo

betterbags's Introduction

BetterBags

CurseForge BetterBags Discord BetterBags Package and release Wago BetterBags

BetterBags Logo

BetterBags is a bag replacement addon for World of Warcraft, inspired by AdiBags.
It has a fresh, clean look, updated to the 2024 World of Warcraft art style.

It currently does not include all the features of AdiBags, but will slowly incorporate more and more changes over time.

BetterBags currently supports the following versions of World of Warcraft:
Retail (including WoW: Remix and The War Within Pre-Patch)
Classic (Era, Cataclysm Classic, SoD, etc.)
The War Within Beta

Screenshots

The Retail main player bag view with multiple custom categories. Currency selection in Retail.
The Retail main player bag view with multiple custom categories. Currency selection in Retail.
Configure Categories in Retail, allows you to pin and enable (highlighted) and disable a category. Extensive View options that can be fine-tuned by the user.
Configure Categories in Retail, allows you to pin and enable (highlighted) and disable a category. Extensive View options that can be fine-tuned by the user.

Summary

  • Items are organized into categories and displayed in a Section Grid.
  • Support for bags, bank, reagent bank, and Warband bank.
  • Customizable categories that hold items with multiple sorting options that can be pinned and toggled.
  • Search based categories where the items within the category are defined by a search function.
  • Items within categories have multiple sorting and stacking options (stack all, stack non-stackable, don't stack different transmogs).
  • Powerful recent items support with customizable duration (mark all new items as recent, flash all recent items).
  • Comprehensive Search that allows you to find an item most properties of an item (Type, Subtype, iLvl, and many more).
  • Multiple built-in themes with plugin support for the creation of more themes.
  • Robust plugin system allows for custom categories, configurations for user fine-tuning and even localization.
  • Integration support for Pawn (upgrade arrows) and Simple Item Levels (item level coloring).

More additions are being added all the time.

Features

Bag & Bank View

BetterBags offers its users a powerful category-based view, which also carry over to the bank.

Section Grid

This view sorts your inventory into their own visually distinct categories, allowing you to categorize items at a basic level that is easier for humans to understand by grouping like items together.

The Section Grid offers:

  • Customizable columns and number of items per row.
  • Categories can be sorted either alphabetically (top to bottom), size descending, or size ascending.
  • Categories can be pinned to the top, enabled, disabled or hidden at will.
  • Items within these categories can be sorted alphabetically and then by quality (or vice versa).
  • Multiple stacking options for fine-tuning your own experience.
Section Grid View in Retail.

Section Grid View in Retail.

Show Bags

This temporary view allows you to see your bags and the items within them how they currently are. It also allows you to swap out which bags are equipped for both the backpack and the bank.

Show Bags in Retail.

Show Bags in Retail.

Free Spaces

The default view for free spaces is to have them in 1 icon with a number showing how many free spaces you have in each type of container equipped. Regular bag slots are on the right and special containers (like Reagent Bags) are on the left. If you would rather see all of the spaces with their own icon, there is a setting in the config window to display them in that manner. When free spaces are all shown, non-regular bag containers will have a border around them to denote what type of container they belong to (Green for Reagent Bag on Retail).

Free Space Icons in Retail. Show All Free Spaces in Retail.
Free Space Icons in Retail. Show All Free Spaces in Retail.

Show Currencies

Currencies can be tracked at the bottom of the bag window. Up to 7 currencies can be shown at a time and tracking them is as simple as clicking on the currencies in the Show Currencies side window. Any currency that is highlighted is currently tracked. If you attempt to track more than 7 currencies, only the first 7 in the list will be shown at the bottom of the bag.

Currencies Side Window in Retail.

Currencies Side Window in Retail.

Tracked Currencies in Retail.

Tracked Currencies in Retail.

Configure Categories

Categories have a few ways in which they can be configured. All categories can be pinned or hidden. Non-dynamic categories can also be enabled or disabled. Custom categories can be deleted. Hovering over a category will bring up a tooltip that describes the actions that can be taken for that category.

  • Pinning categories (Drag or Shift Left Click) will display them in the listed order at the top of the bags. Any categories that are not pinned will be automatically ordered based on the Section Sorting option chosen in config.
  • Hiding categories (Right Click) will keep the items sorted into the category, but the category and all items within it will not be displayed in your bags.
  • Enabling or Disabling a category (Left Click) will stop items from being sorted into that category and will show as the category name not being high-lighted in the list.
  • Deleting a category (Right Click) will permanently delete the category. If a category is created by a plugin, the plugin might create the category again when reloading the game.
The Configure Categories Side Window in Retail. Category Options in Configure Categories in Retail.
The Configure Categories Side Window in Retail. Category Options in Configure Categories in Retail.
Configure Custom Categories in Retail. Configure Search Category in Retail.
Configure Custom Categories in Retail. Configure Search Category in Retail.

Bank

Bank Tabs

BetterBags displays the different types of bank as tabs along the bottom of the bank window. It also includes the option to purchase the Reagent Bank and any available Warband Bank tabs.
Tabs include:

  • Bank (Showing all base bank slots as well as bank bags).
  • Reagent Bank.
  • Warband Bank Tabs 1-5 (Called Warbank Tab in BetterBags).
Bank Tabs in Retail.

Bank Tabs in Retail.

Bank Bags

To purchase bank bag slots, turn on Show Bags and click on any red bag slot.

Purchasing Bank Bag Slots in Retail.

Purchasing Bank Bag Slots in Retail.

Warbank Tabs

To purchase Warbank tabs, click on the Purchase Warbank Tab button, then click purchase on the Blizzard pop-up.
Warbank tabs can be renamed and certain item types can be assigned to them by right-clicking on the tab at the bottom of the bank. This will bring up the Blizzard prompt to make any changes.

Editing Warbank Tab in Retail.

Editing Warbank Tab in Retail.

To deposit or withdraw gold from the Warbank, hover over the gold amount at the bottom of the bank/warbank window and left or right click. This works from any tab in the bank window.

Manipulating Warbank Money in Retail.

Manipulating Warbank Money in Retail.

Recent Items

BetterBags places items that have been flagged as new by the WoW client in a special category at the top of your bag so that you can quickly find these looted items.
Note: To clear recent items manually, right-click the bag icon. On Cataclysm and Classic, you must install the SortBags Addon to manually clear recent items.

These can be further fine-tuned by:

  • Setting a custom duration before they are sorted into their categories.
  • Marking all items as recent (bank --> bag transfer, opening containers, etc.).
  • Flashing new items in the stack to help the user find updated stacks more quickly.
Recent Items in Retail

Recent Items in Retail.

To disable recent items, uncheck the Recent Items category in the config window and set the New Item Duration to 0. After hovering over the item and changing anything in the bags, it will stop flashing.

Search

BetterBags offers a comprehensive Search option that can be toggled with a keybinding (BetterBags > Search Bags).

If you do not specify a search index, search will default to searching in all of name, type, subtype, category, and equipmentLocation using full text searches. By using the = operator, searches will be done in a prefix style, meaning the things you are searching for must start with what you type. To support full-text searching of each field, use the %= operator.
Search allows you to find items by the following indices (based on the item below):

Example Item in Retail.

Example Item in Retail.

Strings

  • name (name = Silent Tormentor's Hood) The name of the item; the first line in the tooltip.
  • type (type = Armor) The type of the item. Some examples include Armor, Weapon, Consumable, and Reagent.
  • subtype (subtype = Leather) The subtype of the item. Some examples include Leather, Potion, Bag, and Bows. See the Wiki for more information regarding type and subtype.
  • category (category = Head) The category that the item is sorted into in BetterBags.
  • equipmentLocation or slot (slot = Head) The item slot that the gear is for. Examples include Head, Legs, Main-Hand, and Finger.
  • expansion or exp (expansion = DF) The expansion that the item is originally from. Shorthands are: Classic, BC, WotLK, Cata, MoP, WoD, Legion, BfA, SL, DF, TWW.
  • equipmentSet (None in the example) The equipment set(s) that a piece of gear is part of.

Numbers

  • level or ilvl (ilvl = 506) The item level of the item. Non-gear items have item levels as well, but they are not shown to the user.
  • rarity (rarity = epic or rarity = 4) The rarity of the item. Poor = 0, Common = 1, Uncommon = 2, Rare = 3, Epic = 4, Legendary = 5.
  • id (id = 207133) The internal itemID of the item. A number uniquely identifying the item. Specific ItemIDs can be found in the url on the item's WoWHead page.
  • stackCount or count (stackCount = 1) The number of items in the stack for the item.
  • class (class = 4) The numeric representation of itemType.
  • subclass (subclass = 2) The numeric representation of itemSubtype. See the Wiki for more information regarding class and subclass.
  • bagid (bagid = 3) The location of the bag containing the item. BagID is 0 for the main backpack, 1-4 for the bags, 5 for a reagent bag (Retail only), -1 for the main bank window, 6-12 for bank bags, -3 for the reagent bank, -2 for the keyring (Classic only), and 13-17 for warbank tabs.
  • slotid (slotid = 6) The slot that the item is in, in the bag that contains it. Numbered from 1 to N for each bagID, where N is the size of the container.

Booleans

  • reagent (reagent = false) Is the item classified as a reagent?
  • bound (bound = true) Is the item bound to the character?
  • quest (quest = false) Is the item for a non-active quest?
  • activeQuest (activeQuest = false) Is the item for an active quest?

Logical Operators

  • AND (slot = Legs AND ilvl > 500 [This will match leg pieces that are also greater than 500 ilvl.]) The intersection of two terms. Items must match both sides of the AND.
  • OR (slot = Legs OR ilvl > 500 [This will match items that are leg pieces or are greater than 500 ilvl.]) The union of two terms. Items can match either or both sides of the OR.
  • NOT (NOT slot = Legs [This will match any item that cannot be equipped in the leg slot.]) The complement of a term. Items must not match the NOT.
  • ( and ) To group search terms.
  • = (type = Armor, ilvl = 506) Items with a value equal to the text or number on the right side. This will find any items starting with the value.
  • %= (slot %= Hand [This will match any gear pieces that are slotted into any slot with Hand in the name. eg. Hands, Main Hand, Offhand]) Items with the value in the full text of the field(s).
  • " or ' (slot = "Main Hand") To search for a multi-word string.

Comparison Operators

Note: These only work on numerical fields. Rarity names can be used with these operators.

  • > Items with a value greater than the number on the right side.
  • < Items with a value less than the number on the right side.
  • >= Items with a value greater than or equal to the number on the right side.
  • <= Items with a value less than or equal to the number on the right side.
Complex Search in Retail.

Complex Search in Retail.

BetterBags also allows you to turn on a search bar near the top of the bag instead of the floating search box.

In-Bag Search Bar in Retail.

In-Bag Search Bar in Retail.

Custom Categories

BetterBags allows items to be grouped into custom categories. These categories can be manually populated by the user, created by plugins, or created from a search.

Manual Custom Categories

To manually create custom categories that you can add items to, left-click on an item, then hover over the bag button in the top-left of the bag, and left-click again. You can also left-click and drag the item to the bag button, then drop it. Enter in a name for the new category and your item will be added to it. To add new items into categories, you can do the same procedure with any category name, but hold shift while dropping the item.

Create a New Category in Retail. Name a New Category in Retail. Add an Item to a Category in Retail.
Create a New Category in Retail. Name a New Category in Retail. Add an Item to a Category in Retail.

Search-based Custom Categories

Any search you complete has the option to be turned into a custom category. These categories will dynamically update as new items are added to the bag that match the search criteria.
To create a Search Category, type in a search, then press Enter. Fill out the required information in the dialogue box and save.

  • Category Name (string) is what the new category will be named.
  • Search Query (string) is the search that will be run to determine which items will be in the category. Any search options (described above) will work in the query.
  • Priority (number) is the order in which search categories will "steal" items. Items can only be in 1 category at a time and higher priority will get items first.
Creating a Search Category in Retail. Configure Search Category in Retail.
Creating a Search Category in Retail. Configure Search Category in Retail.

Themes

BetterBags offers a few built-in themes and an API to allow addon authors to create their own themes.
BetterBags will detect if you have ElvUI or GW2 UI installed and offer an addon specific theme.

Simple Dark Theme in Retail. GW2 UI Theme in Retail.
Simple Dark Theme in Retail. GW2 UI Theme in Retail.

Plugin System

BetterBags has a robust plugin system that allows developers to write custom categories.

Plugins have the following options:

  • Custom Category API, to create new categories through the plugin.
  • Config Module API, allowing plugin authors to let users fine-tune their own experience.
  • Theme API, to allow plugins to create new themes.
  • Localization module, which allows the plugin author to localize their text.
Plugin System (BetterBags - Appearances) in Retail

Plugin System (BetterBags - Appearances) in Retail.

Upcoming Updates

BetterBags is constantly getting new features and updates.
Github hosts both our Progress Board and means to report bugs and request new features.

The following features are under active development:

  • Moving all items in a category by clicking on the category name.
  • Searching for BoE/BoA/WuE items.

These features are planned for the long term:

  • Bag anchors.
  • Dynamic number of columns.
  • User customizable themes.
  • Reagent bag markers for items in the reagent bag.
  • Faster/smoother item updates.
  • And much more!

betterbags's People

Contributors

cidan avatar zeptognome avatar amaribo avatar juntereiner avatar zylideum avatar psykzz avatar ntowle avatar raenore avatar zawaken avatar fubbleskag avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.