No edit summary |
mNo edit summary |
||
(16 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | + | __NOTOC__ |
|
− | |||
− | |||
<div> |
<div> |
||
− | {| width="75%" border="0" cellpadding="4px" cellspacing="2px" style=" |
+ | {| width="75%" border="0" cellpadding="4px" cellspacing="2px" style="text-align:center;" |
|- align="center" bgcolor="#121212" |
|- align="center" bgcolor="#121212" |
||
! width="50%" | '''What are AddOns?''' |
! width="50%" | '''What are AddOns?''' |
||
! width="50%" | '''How do I install AddOns?''' |
! width="50%" | '''How do I install AddOns?''' |
||
|- valign="top" |
|- valign="top" |
||
− | | [[AddOn]]s are [[Lua]]/XML files that can modify the |
+ | | [[AddOn]]s are [[Lua]]/XML files that can modify the WoW [[User Interface]]. |
| You can [[AddOn#Installing_an_addon|install]] an addon by extracting its folder(s) into the addons directory: |
| You can [[AddOn#Installing_an_addon|install]] an addon by extracting its folder(s) into the addons directory: |
||
<code>World of Warcraft\_retail_\Interface\AddOns</code> |
<code>World of Warcraft\_retail_\Interface\AddOns</code> |
||
|} |
|} |
||
− | {| width="75%" border="0" cellpadding="4px" cellspacing="2px" style=" |
+ | {| width="75%" border="0" cellpadding="4px" cellspacing="2px" style="text-align:center;" |
|- align="center" bgcolor="#121212" |
|- align="center" bgcolor="#121212" |
||
! width="50%" | '''How do I develop AddOns?''' |
! width="50%" | '''How do I develop AddOns?''' |
||
Line 23: | Line 21: | ||
== Interface documentation == |
== Interface documentation == |
||
− | [[File:Interface Customization logo.png|right]] |
+ | [[File:Interface Customization logo.png|right|Interface customization]] |
+ | <ul class=side-by-side><li> |
||
− | {| |
||
− | | valign="top" | |
||
<h4>API Reference</h4> |
<h4>API Reference</h4> |
||
* [[World of Warcraft API|Global API]] · [[Lua functions|Lua API]] |
* [[World of Warcraft API|Global API]] · [[Lua functions|Lua API]] |
||
** [[Widget API|Widget API]] · [[Widget_script_handlers|Widget Scripts]] |
** [[Widget API|Widget API]] · [[Widget_script_handlers|Widget Scripts]] |
||
** [[Events]] · [[CVars]] · [[API change summaries|API changes]] |
** [[Events]] · [[CVars]] · [[API change summaries|API changes]] |
||
− | * [[XML_user_interface|XML |
+ | * [[XML_user_interface|XML overview]] · [[XML_elements|XML schema]] |
* [[Macro commands]] · [[Macro conditionals]] |
* [[Macro commands]] · [[Macro conditionals]] |
||
<h4>Technical Details</h4> |
<h4>Technical Details</h4> |
||
+ | |||
⚫ | |||
⚫ | |||
* [[TOC format]] |
* [[TOC format]] |
||
+ | * [[UnitId]] · [[GUID]] |
||
⚫ | |||
⚫ | |||
* [[Secure Execution and Tainting]] |
* [[Secure Execution and Tainting]] |
||
** [[SecureTemplates]] · [[SecureHandlers]] |
** [[SecureTemplates]] · [[SecureHandlers]] |
||
Line 43: | Line 42: | ||
<h4>Development Resources</h4> |
<h4>Development Resources</h4> |
||
* [[Viewing Blizzard's interface code]] |
* [[Viewing Blizzard's interface code]] |
||
− | : |
+ | : [https://github.com/Gethe/wow-ui-source wow-ui-source] |
− | : |
+ | : [https://github.com/Ketho/BlizzardInterfaceResources BlizzardInterfaceResources] |
Townlong Yak |
Townlong Yak |
||
* [https://www.townlong-yak.com/framexml/live FrameXML] · [https://www.townlong-yak.com/framexml/live/Blizzard_APIDocumentation API Documentation] |
* [https://www.townlong-yak.com/framexml/live FrameXML] · [https://www.townlong-yak.com/framexml/live/Blizzard_APIDocumentation API Documentation] |
||
Line 54: | Line 53: | ||
<h4>Development Tools</h4> |
<h4>Development Tools</h4> |
||
− | * [[Development AddOns]] |
||
* WeakAuras Wiki [https://github.com/WeakAuras/WeakAuras2/wiki/Lua-Dev-Environment Lua Dev Environment] |
* WeakAuras Wiki [https://github.com/WeakAuras/WeakAuras2/wiki/Lua-Dev-Environment Lua Dev Environment] |
||
* VS Code [https://marketplace.visualstudio.com/items?itemName=sumneko.lua Lua Extension] |
* VS Code [https://marketplace.visualstudio.com/items?itemName=sumneko.lua Lua Extension] |
||
* IntelliJ IDEA [https://github.com/Ellypse/IntelliJ-IDEA-Lua-IDE-WoW-API EmmyLua WoW API] |
* IntelliJ IDEA [https://github.com/Ellypse/IntelliJ-IDEA-Lua-IDE-WoW-API EmmyLua WoW API] |
||
* Sublime Text [https://packagecontrol.io/packages/WoWDevelopment WoWDevelopment] |
* Sublime Text [https://packagecontrol.io/packages/WoWDevelopment WoWDevelopment] |
||
+ | </li><li> |
||
− | | valign="top" | |
||
<h4>Tutorials ([[HOWTOs]])</h4> |
<h4>Tutorials ([[HOWTOs]])</h4> |
||
# [[Introduction to Lua]] |
# [[Introduction to Lua]] |
||
# [[Create a WoW AddOn in under 15 Minutes]] |
# [[Create a WoW AddOn in under 15 Minutes]] |
||
+ | # [[Ace3 for Dummies]] |
||
# [[Using the BigWigs Packager with GitHub Actions]] |
# [[Using the BigWigs Packager with GitHub Actions]] |
||
− | :* [https://www.mmo-champion.com/threads/817817-Creating-Your-Own-WoW-Addon MMO-Champion: Creating Your Own WoW Addon] |
||
− | :* [[WelcomeHome - Your first Ace3 Addon]] |
||
YouTube |
YouTube |
||
− | + | {{Elink|type=youtube|link=https://www.youtube.com/playlist?list=PL3wt7cLYn4N-3D3PTTUZBM2t1exFmoA2G|site=Mayron: Creating WoW AddOns}} |
|
− | + | {{Elink|type=youtube|link=https://www.youtube.com/playlist?list=PLtKjv92L0ihCEwnh3jNifgGaZ6KxKV9AW|site=Paul Halliday: World of Warcraft AddOn Development}} |
|
<h4>AddOn Features</h4> |
<h4>AddOn Features</h4> |
||
Line 89: | Line 86: | ||
* [https://us.forums.blizzard.com/en/wow/c/guides/ui-macro/35 UI and Macro forums] (US) |
* [https://us.forums.blizzard.com/en/wow/c/guides/ui-macro/35 UI and Macro forums] (US) |
||
* [https://eu.forums.blizzard.com/en/wow/c/guides/interface-and-macros/239 UI and Macro forums] (EU) |
* [https://eu.forums.blizzard.com/en/wow/c/guides/interface-and-macros/239 UI and Macro forums] (EU) |
||
+ | </li></ul> |
||
− | |||
− | IRC |
||
− | * chat.freenode.net: [irc://chat.freenode.net/wowuidev #wowuidev] |
||
− | * chat.freenode.net: [irc://chat.freenode.net/wowace #wowace] |
||
− | |} |
||
== Categories == |
== Categories == |
||
Line 115: | Line 108: | ||
* [[Lua editors|Lua and XML editing software]] |
* [[Lua editors|Lua and XML editing software]] |
||
--> |
--> |
||
+ | |||
+ | [[Category:Interface customization| ]] |
Revision as of 21:37, 29 November 2021
What are AddOns? | How do I install AddOns? |
---|---|
AddOns are Lua/XML files that can modify the WoW User Interface. | You can install an addon by extracting its folder(s) into the addons directory:
|
How do I develop AddOns? | Where can I get AddOns? |
---|---|
Start with Create a WoW AddOn in under 15 Minutes. | They can be downloaded from CurseForge and WoWInterface or one of the addon updater clients. |
Interface documentation
-
API Reference
- Global API · Lua API
- XML overview · XML schema
- Macro commands · Macro conditionals
Technical Details
Development Resources
Townlong Yak
WoW.tools
wowprogramming.com
Development Tools
- WeakAuras Wiki Lua Dev Environment
- VS Code Lua Extension
- IntelliJ IDEA EmmyLua WoW API
- Sublime Text WoWDevelopment
-
Tutorials (HOWTOs)
- Introduction to Lua
- Create a WoW AddOn in under 15 Minutes
- Ace3 for Dummies
- Using the BigWigs Packager with GitHub Actions
YouTube
AddOn Features
- Handling events
- Creating a slash command
- Saving variables between game sessions
- Using the Interface Options Addons panel
- Using UIDropDownMenu
- Hooking functions
- Localizing an addon
Developer Communities
Discord
Forums
Categories
- Category:Development Help AddOns
- Category:Hosted AddOns
- Category:Function Libraries
Things you can help out with
- Before editing API pages, please read the relevant guidelines.
- Fill out all those red links in World of Warcraft API! (though pick in order of likelihood of being useful). Looking at the FrameXML code to find out how the functions are being used is good way to begin. Please do not create stubs if you are not adding new and useful facts - we prefer red links over stubs with no additional information.
- Scan Category:API stubs for unfinished pages!
- Take a look in Category:Votes for deleting and look for API pages.
- Help convert old pages to the Help:API Function articles style!