AddOn
What is an AddOn?
AddOns are, basically, somewhat self-contained UI pieces. AddOns can be dependent on other AddOns to work though. There is currently no size restriction on AddOns, so you can make one huge lump of lua/xml if you want.
How do I create an AddOn?
First of all, you need to create a new directory in Interface\AddOns. The name of this directory is kinda important, as it is what other AddOns use to refer to your AddOn (in dependencies and stuff). I would therefore recommend that you do not use version numbers in your AddOn directory name, or you will run the risk of having other AddOns "break" when you upgrade the version. This will probably lead to people either not depending on your AddOn or, worse, that they'll keep using an old version.
Major version numbers as part of AddOn directory names might work, though.
What is this .toc file?
You need to create a file named <YourAddOnDirectoryName>.toc in "Interface\AddOns\YourAddOnDirectoryName\".
This file needs to have two things - an interface keyword with a correct interface number, and the filename of an xml file you want to load. However, Blizzard asks that you include at least four lines.
Minimal .toc file contents:
## Interface: 1300 ## Title: My Add On ## Description: What my addon does YourAddOnDirectoryName.xml
Note: Ensure you don't have any extra spaces at the end of the line with the filename specified. The extra space is taken as part of the filename and will cause your AddOn to silently fail to load. --Talonius 08:46, 17 Dec 2004 (CST)
Interface number for US as of March 22: 1300 (Yes, we know the logon page says 4284. It's lying again)
Current Interface number for EU as of March 30: 1300 same like US shows 4284
Note: The interface number can be seen in the WoW login screen at the lower left. The number in the .toc file must match the current build or the add on will not be loaded/active. This number has been incorrect for the past two patches. Use the Interface Customization Kit Blizzard provides for the real number
It's also probably a good idea to add a short description of your AddOn, since this is now displayed in the Addon List UI, simply add a line like the following after the Title or Description line:
## Notes: Short desription of the Addon
Special case : Bindings.xml
If you include a Bindings.xml file, it does not have to be included in your .toc list of files to load - WoW loads this file automatically.
For a more detailed look on Bindings.xml, click the wiki word.
What other keywords are there in the .toc file?
Please check out AddOn_Keywords for a more detailed list.
What Addons are available?
See Community AddOns List for a list of current Add-Ons.
See Cosmos AddOns for Cosmos-specific Add-Ons