https://github.com/jaliborc/wildaddon-1.1
WoW addon implementation pipeline heavily based on AceAddon-3.0
https://github.com/jaliborc/wildaddon-1.1
framework lua world-of-warcraft
Last synced: 5 months ago
JSON representation
WoW addon implementation pipeline heavily based on AceAddon-3.0
- Host: GitHub
- URL: https://github.com/jaliborc/wildaddon-1.1
- Owner: Jaliborc
- Created: 2019-12-03T21:06:32.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-07-20T22:33:25.000Z (6 months ago)
- Last Synced: 2025-08-15T19:55:27.952Z (6 months ago)
- Topics: framework, lua, world-of-warcraft
- Language: Lua
- Homepage:
- Size: 20.5 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# WildAddon-1.1 :computer:
[](https://www.patreon.com/jaliborc)
[](https://www.paypal.me/jaliborc)
[](https://bit.ly/discord-jaliborc)
A library for developing addons using a module-based approach.
Originally inspired on [AceAddon-3.0](https://www.wowace.com/projects/ace3) with minor behavior tweaks, this project has since diverged, adding features like _EventTrace_ support for signal debugging. Requires [CallbackHandler](https://www.curseforge.com/wow/addons/callbackhandler).
### Library API
|Name|Description|
|:--|:--|
| :Embed(object) | Adds the library method to your object. |
| :NewAddon(name [, object] [, libraries]) | Creates a public **addon object** or turns the provided one into it. |
### Addon Objects
Objects created using `:NewAddon` come with a set of predefined methods:
|Name|Description|
|:--|:--|
| :NewModule(name \[, object] \[, libraries, ...]) | Same as `:NewAddon`, but creates a local **addon object** parented to the main addon, called a module. |
| :SetDefaults(table, defaults) | Initializes a table with a set of default values, without actually modifying the table. Useful for saved variables. |
| :RegisterEvent(event, call \[, args, ...]) | Listens to a game event. |
| :UnregisterEvent(event) | Stops listening to a game event. |
| :ContinueOn(condition, call) | Listens to a game event **once**. |
| :RegisterSignal(id, call \[, args, ...]) | Listens to an internal message among the addon and its modules. |
| :UnregisterSignal(id) | Stops listening to an internal addon message. |
| :SendSignal(id \[, args, ...]) | Sends an internal message to the addon and its modules. |
| :UnregisterAll() | Unregisters all registered events and signals. |
Additionally, `:OnLoad()`, if defined, will be called on each object once the game has started and the addon is ready to load.
### :warning: Reminder!
If you use this library, please list it as one of your dependencies in the CurseForge admin system. It's a big help! :+1: