Feb 24, 2015 Release
A library to help with localization of item types and subtypes. Please see This post will provide you with information on how to contribute to the translation of this babble library.


Feb 24, 2015 Release
A library to help with localization of factions. Please see This post will provide you with information on how to contribute to the translation of this babble library.


Feb 24, 2015 Release
A library to help with localization of bosses. Please see This post will provide you with information on how to contribute to the translation of this babble library.
How scaling and positioning works with different approaches


Feb 24, 2015 Release
WindowLib is a small library that takes care of standard "windowy" behavior used in the main frames of many addons, and attempts to do so in a smarter way than the average addon author would find time to do. Save and restore positions: WindowLib will pick the attach point based on which quadrant of the screen the frame is in: top-left? bottom-right? center? Handle window dragging Mouse wheel zooming Only mouse-enabling the window while Alt is held Why bother? Because users change their UI...


Feb 24, 2015 Release
LibButtonGlow-1.0 is a replacement for the ActionButton_Show/HideOverlayGlow APIs. Using the built-in APIs will irreversibly taint the Action Button functionality, which is why it should be entirely avoided. The resulting taint is hard to track and pin-point exactly, resulting in action blocked messages when switching stances or using vehicles. Unfortunately, even using Blizzards XML template can cause taint and will break the Action Buttons under certain circumstances. LibButtonGlow-1.0 does...


Feb 21, 2015 Release
Summary A small library which keeps track of group members and keeps an up-to-date cache of their specialization, talents and glyphs. It's similar to the old LibGroupTalents/LibTalentQuery and the LibRaidInspect libraries, but unlike the former it's actually working on 5.0, and unlike the latter it works properly in Battlegrounds. Additionally it has the feature where it communicates spec/talent/glyph updates to other LibGroupInSpecT users. This is an important point as of the writing of this...


Feb 17, 2015 Alpha
Library to facilitate some common tasks. Not necessarily designed to be infinitely flexible or applicable for any given situation. local Libra = LibStub("Libra") Libra:NewAddon(addonName, addonTable) Table with module and event handling functions. addonName String identifying the addon object. should be the same as your addon folder name. addonTable An existing table to use as the addon object. If not provided, will create a new table. local addon = Libra:NewAddon("MyAddon", {})...


Feb 02, 2015 Release
LibBabble-Artifacts-3.0 A library to help with localization of Artifacts (Archaeology research projects) names. How to Use .pkgmeta and repository Libs/LibBabble-Artifacts-3.0: svn:// .toc Libs\LibBabble-Artifacts-3.0\lib.xml .lua local AF = LibStub("LibBabble-Artifacts-3.0"):GetLookupTable() print(AF["Skull Drinking Cup"]) -- prints "Trinkschädel" in deDE client For an example of an actual addon using LibBabble-Artifacts-3.0 and a...


Jan 30, 2015 Beta
LibFrameX-1.0 This library lets you create your frames dynamically and handles most of the function calls for you. (work in progress) Dependencies: LibStub Structure of the[MyAddon].tframes table t = { { name = "root", children = { { name = "child1", children = { { name = "grandson1", }, }, }, }, }, } - Each table within tframes can have the following elements, including sub-tables: Basic Properties KeywordDescription rootThis frame's elements wont be drawn; acts as an invisible...


Jan 16, 2015 Mature
LibCompress is a compression and decompression library implemented entirely in WoW-friendly Lua. It supports the LZW and Huffman algorithms, and can automatically choose the most efficient algorithm for your data. One popular usage for this library is to send a compressed table to another player or add-on. Doing this requires additional encoding to remove the \000 characters from the data stream. Take a look at the forum post for more info and a development discussion:...


Jan 14, 2015 Mature
Embeddable library to track raid/party roster


Dec 24, 2014 Alpha
Caches requested item info, allowing much quicker access on subsequent requests than GetItemInfo. Caches return values from GetItemInfo and are localised wherever applicable. Callbacks when items get cached. Simply get a reference to the library and then use it as a table, accessing item info using either item ID or item string. If the item is cached, will return a table: items[13262] = { name = "Ashbringer", quality = 5, itemLevel = 76, reqLevel = 60, type = "Weapon", subType = "Two-Handed...


Dec 22, 2014 Release
Small library that provides mapfile data. it include width,height, upper left x,y and lower right x,y. This data includes multi-floor maps such as the new instances. API Documentation To get the mapfile names use GetMapInfo() on the current map. Filenames are constant across localizations. Sample usage: mapfiles = LibStub("LibMapData-1.0"); -- get the size of Coth defaulting to the first floor size local width,height = mapfiles:MapArea('CoTStratholme') -- get the size of the 8th floor of icc...


Dec 20, 2014 Release
LibItemUpgradeInfo-1.0 provides information about item upgrades applied to items. Functions :GetUpgradeID(itemString) Arguments itemString String - An itemLink or itemString denoting the item Returns upgradeID Number - The upgrade ID (possibly 0), or nil if the input is invalid or does not contain upgrade info :GetCurrentUpgrade(id) Returns the current upgrade level of the item, e.g. 1 for a 1/2 item. Arguments id Number - The upgrade ID of the item (obtained via GetUpgradeID()) Returns...


Dec 06, 2014 Beta
LibArena-1.0 is a Library that provides usefull data from an arena match!


Dec 04, 2014 Release
This library will fix the shortfalls with debugprofilestart() and debugprofilestop() with the goal of providing a conflict-free way for addons to get accurate timing information. A common use-case for this would be for timing coroutines in order to limit the amount of processing that's done, or to do something in the "background" without using up too much CPU time. Manually Installing Download the latest version. Rename the extracted folder to "!AccurateTime" (add the '!' to the front). Place...


Dec 02, 2014 Release
LibBossIDs-1.0 provides a table that flags mobIDs true if the mob linked to the ID is a boss. Example: if LibStub("LibBossIDs-1.0").BossIDs[tonumber(mobID)] then print("Found a boss!") end One can get the mobID from a GUID in the following way: local _, _, _, _, _, mobID = strsplit("-", UnitGUID("target")) Target macro: /run print(tonumber((select(6, strsplit("-", UnitGUID("target"))))))


Nov 13, 2014 Release
A library intended to supply color manipulation tools. Until I get the documenter working, I suppose I'll just type it in here manually. Also, for the purposes of this documentation, ℝ is to be considered redefined as "computer-real", which is actually closer to ℚ, but.. myeah. Assuming Prism = LibStub("LibPrism-1.0"): Prism:Gradient(type, rMin, rMax, gMin, gMax, bMin, bMax, x) Call with 2*rgb values representing the colors at x = 0 and x = 1 respectively, alongside the x coordinate you wish...


Nov 06, 2014 Mature
This is a variant of AceGUI-3.0's Frame container, with some changes: The read-only status text bar at the bottom is replaced with an edit box for input. Additional buttons can easily be added across the bottom, outside the control of the container/widget scheme. The ':EnableResize()' method of the (undocumented) Window container is also present here, but not (yet?) in Frame. Documentation of new methods and AceGUI-style callbacks are at the top of the .lua file. Comments, bugs, etc, should...


Oct 28, 2014 Mature
Provides UTF-8 aware string functions implemented in pure lua: string.utf8len(s) string.utf8sub(s, i, j) string.utf8reverse(s) If utf8data.lua (containing the lower<->upper case mappings) is loaded, these additional functions are available: string.utf8upper(s) string.utf8lower(s) All functions behave as their non UTF-8 aware counterparts with the exception that UTF-8 characters are used instead of bytes for all units.