Oct 19, 2014 Beta
Central registry for addons to register their frames as possible frame anchor. Other addons can then retrieve the list of anchor and then let their user anchor the addon to whatever frame they like. To register a frame with the registry: LibStub("LibFrameAnchorRegistry-1.0"):RegisterAnchor("MyCateogry", "NameOfFrame", "Identidy", frame) To register with sub-categories: LibStub("LibFrameAnchorRegistry-1.0"):RegisterAnchor("MyCateogry\001MySub-Category", "NameOfFrame", "Identidy", frame) To...
Example results


Apr 27, 2011 Beta
LibStatsPane-1.0 is a library to assist in adding custom data in the new character stats pane in 4.0. Usage example, with results show in image: local StatsPane = LibStub("LibStatsPane-1.0") local function test(statFrame, unit) PaperDollFrame_SetLabelAndText(statFrame, "Hello", 3.33) statFrame.tooltip = HIGHLIGHT_FONT_COLOR_CODE.."Test is the tooltip title"..FONT_COLOR_CODE_CLOSE statFrame.tooltip2 = "Tooltip lines" statFrame:Show() end local function test2(statFrame, label, value, ispercent,...


Sep 04, 2010 Beta
LibRecursiveAnim-1.0 A library allows creating AnimationGroup that handles frame with all child frames as single object. API documentation Example: libAnim = LibStub:GetLibrary("LibRecursiveAnim-1.0"); local MyFrame1 = CreateFrame("Frame", nil, UIParent); MyFrame1:SetHeight(100); MyFrame1:SetWidth(100); MyFrame1:SetPoint("CENTER"); local Texture1 = MyFrame1:CreateTexture(); Texture1:SetAllPoints(); Texture1:SetTexture(0, 0, 0); local animationGroup =...


Mar 15, 2011 Inactive
LibCombatLogEvent-1.0 dispatchs combat log events using CallbackHandler-1.0, passing along a table with the event arguments. It integrates nicely with AceAddon-3.0 addons and use an efficient argument parsing. AceAddon-3.0 integration Quite simple, here is a basic sample: local myAddon = LibStub('AceAddon-3.0'):NewAddon("foo", "LibCombatLogEvent-1.0") function myAddon:OnEnable() self:RegisterCombatLogEvent("UNIT_DIED") end function myAddon:UNIT_DIED(event, eventArgs) print("Oh noes !",...
Usage sample


Oct 19, 2016 Mature
LibTourist is a library that provides information about zones, instances, transports and more. For zones, instances, complexes (like Caverns of Time), arenas and battlegrounds, LibTourist can provide level range, faction, location and connections with other zones, as well as instance group sizes, instance entrance portal coordinates, battle pet level ranges and required fishing skills, if applicable. Color-coding for level ranges and zone names is available. Relationships between zones can be...


Sep 29, 2016 Mature
An intuitive keybindings system: simply mouseover frame, click keys or buttons. Links API LibKeyBound Forum LibKeyBoundExtra-1.0 CommonUI What it Does Activating it brings up an instruction frame from which KeyBinding mode can be cancelled. KeyBinding mode Hover cursor over participating frames. The current keys are shown in tooltip and in the frame. Click buttons or keys to bind. Press Escape to clear bindings Implemented: It is now a LibStub lib. Removed AceLocale-3.0 and AceEvent-3.0...


Sep 26, 2016 Mature
LoggerHead Lite is a an automated combat log enabler. The "Lite" means it only cares about when you are in a raid or mythic+ instance and is greatly simplified /lh for options. Only instances you've entered will show. The first time you enter a raid or start a mythic keystone dungeon, you'll get a popup asking if you'd like to log that instance/difficulty. /log to manually toggle logging. If you want to clear out old entries, you can reset the database in Profiles.
Unlocked unit frames


Sep 09, 2016 Mature
LibMovable-1.0 This library allows addon developers to quickly and easily setup user-positionable frames. End-user features LibMovable-1.0 works using a lock/unlock mechanism. When unlocked, the position of the frames are shown with colored overlays, even if the frames are hidden. The user can then move the frames around by dragging the overlays and rescale them using the mousewheel ; x- or y-axis locking is available through modifier keys. There is no need to enable mouse interaction with...


Aug 28, 2016 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:...


Aug 24, 2016 Mature
Adds spec profile support to individual AceDB-3.0 databases and provides AceDBOptions-3.0 hooks to handle it. This allows the user to enable the spec profile feature to select alternate profiles to be set on specialization switch. This feature is disabled by default and the user has to create the alternate profiles themselves. Read the Quick tutorial to know how to add spec profile support to your addon. There is also an API reference, although you shouldn't be calling the API directly in...


Aug 18, 2016 Mature
LibStub is a minimalistic versioning library that allows other libraries to easily register themselves and upgrade. It is meant to be a cross-community library sharing system. LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke LibStub-1.0 API :GetLibrary(major [, silent]) Returns The table instance of a registered library or nil if not found and the minor version of the library as the second return value. Arguments major The...


Aug 16, 2016 Mature
Communicates with guild members for their positions on the world map


Aug 08, 2016 Mature
A library to handle rearrangement of blizzard's frames when bars are added to the sides of the screen.


Aug 05, 2016 Mature
A library allowing for easy creation of graphs


Jul 30, 2016 Mature
LibQuixote-2.0 is a library that tells you about quests. It handles getting information from the quest log, and letting you know when it has changed. No more annoying scanning and rescanning of the whole thing whenever QUEST_LOG_UPDATE fires! If you want to use it, there's some documentation on the callbacks API.
lib-st in action!


Jul 26, 2016 Mature
lib-st provides a convenient way to create and display a scrolling table of data. Supply column info and your table data, and you're off! To get a handle in lua: local ScrollingTable = LibStub("ScrollingTable"); To package in your addon, add to your .pkgmeta file: externals: Libs/lib-st: url: svn:// tag: latest Leave off the tag line if you want the absolute lastest alpha version from the site. (I try to keep a stable copy tagged as latest) New...


Jul 18, 2016 Mature
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...


Jun 18, 2016 Mature
BetterBlizzOptions in embeddable form. Whee.


Feb 25, 2015 Mature
LibPubSub-1.0 Simple embeddable publish-subscribe implementation. Including LibPubSub functionality The easiest method for utilising LibPubSub is a mixin, like so: MyAddon = LibStub('AceAddon-3.0'):NewAddon('MyAddon', 'LibPubSub-1.0') If you're not using AceAddon, you can still embed LibPubSub in an object/table via LibPubSub's Embed() function: LibStub('LibPubSub-1.0'):Embed(MyObject) If you don't want to embed LibPubSub's methods in your objects, you can get a separate LibPubSub object:...


Oct 19, 2014 Mature
Several useful bag related APIs that you wish were built into the WoW API: local LBU = LibStub("LibBagUtils-1.0") for bag,slot in LBU:Iterate("BANK", "Major Healing Potion") do LBU:PutItem("BAGS") end :Iterate("which"[, "lookingfor"]) which string: "BAGS", "BANK", "BAGSBANK" lookingfor OPTIONAL: itemLink, itemName, itemString or itemId(number). Will not match partial names. Returns an iterator that can be used in a for loop, e.g.: for bag,slot,link in LBU:Iterate("BAGS") do -- loop all slots...