(→Interface documentation: removed curseforge forum) |
mNo edit summary |
||
(46 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]] |
+ | | [[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 |
+ | | 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> |
|
|} |
|} |
||
− | {| 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?''' |
||
! width="50%" | '''Where can I get AddOns?''' |
! width="50%" | '''Where can I get AddOns?''' |
||
|- valign="top" |
|- valign="top" |
||
+ | | Start with [[Create a WoW AddOn in under 15 Minutes]]. |
||
− | | Begin with [[Getting started with writing addons]]. A simple text editor like [https://code.visualstudio.com/ VS Code] or [https://notepad-plus-plus.org/ Notepad++] is sufficient. See the [https://github.com/WeakAuras/WeakAuras2/wiki/Lua-Dev-Environment WeakAuras Lua Dev Environment] page for a more extensive guide on addon development. |
||
− | | |
+ | | They can be downloaded from [https://www.curseforge.com/wow/addons CurseForge] and [https://www.wowinterface.com/addons.php WoWInterface] or one of the [https://ogri-la.github.io/wow-addon-managers/ addon updater] clients. |
|} |
|} |
||
</div> |
</div> |
||
− | |||
== Interface documentation == |
== Interface documentation == |
||
⚫ | |||
− | {| width="55%" |
||
+ | <ul class=side-by-side><li> |
||
− | |- |
||
− | | valign="top" | |
||
<h4>API Reference</h4> |
<h4>API Reference</h4> |
||
⚫ | |||
+ | ** [[Widget API|Widget API]] · [[Widget_script_handlers|Widget Scripts]] |
||
⚫ | |||
+ | * [[XML_user_interface|XML overview]] · [[XML_elements|XML schema]] |
||
+ | * [[Macro commands]] · [[Macro conditionals]] |
||
+ | <h4>Technical Details</h4> |
||
⚫ | |||
− | ** [[Events]] · [[CVars]] · [[Lua functions|Lua API]] · [[:Category:API_types|Data Types]] |
||
⚫ | |||
− | *'''[[Widget API|Widget API]]''' |
||
− | ** [[XML_user_interface|XML declarations]] · [[Widget handlers|Script handlers]] · [[:Category:Widgets|Summaries]] |
||
⚫ | |||
⚫ | |||
− | + | * [[UnitId]] · [[GUID]] |
|
+ | * [[COMBAT_LOG_EVENT|Combat Log]] |
||
+ | * [[UI escape sequences]] · [[Hyperlinks]] |
||
⚫ | |||
+ | ** [[SecureTemplates]] · [[SecureHandlers]] |
||
+ | ** [https://www.townlong-yak.com/taint.log/about About taint] · [https://www.wowinterface.com/forums/showthread.php?t=58021#5 How to deal with taint] |
||
⚫ | |||
− | * [[Macro commands]] |
||
⚫ | |||
+ | : [https://github.com/Gethe/wow-ui-source wow-ui-source] |
||
+ | : [https://github.com/Ketho/BlizzardInterfaceResources BlizzardInterfaceResources] |
||
+ | 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/globe/ Globe] · [https://www.townlong-yak.com/globe/wut/ who uses that?] |
||
+ | WoW.tools |
||
+ | * [https://wow.tools/files/ File Search] · [https://wow.tools/dbc/ DBC Browser] |
||
+ | wowprogramming.com |
||
+ | * [https://wowprogramming.com/ Website] · [https://books.google.com/books?id=tOSDV71ND_0C 2nd Edition Book] |
||
+ | <h4>Development Tools</h4> |
||
⚫ | |||
+ | * WeakAuras Wiki [https://github.com/WeakAuras/WeakAuras2/wiki/Lua-Dev-Environment Lua Dev Environment] |
||
− | ** [[TOC format]] · [[Console variables]] |
||
+ | * VS Code [https://marketplace.visualstudio.com/items?itemName=sumneko.lua Lua Extension] |
||
− | ** [[AddOn loading process]] · [[:Category:UI technical details|more...]] |
||
+ | * IntelliJ IDEA [https://github.com/Ellypse/IntelliJ-IDEA-Lua-IDE-WoW-API EmmyLua WoW API] |
||
+ | * Sublime Text [https://packagecontrol.io/packages/WoWDevelopment WoWDevelopment] |
||
+ | </li><li> |
||
⚫ | |||
+ | # [[Introduction to Lua]] |
||
+ | # [[Create a WoW AddOn in under 15 Minutes]] |
||
+ | # [[Ace3 for Dummies]] |
||
+ | # [[Using the BigWigs Packager with GitHub Actions]] |
||
+ | 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> |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | | valign="top" | |
||
⚫ | |||
⚫ | |||
− | |||
− | * [[UI beginner's guide|An introduction to addons, scripts and macros]] |
||
− | * [[Getting started with writing addons]] |
||
− | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | ** [[HOWTOs|more...]] |
||
− | |||
− | |- |
||
− | | colspan="2" style="height: 1.5em" | |
||
− | |- |
||
− | | valign="top" | |
||
⚫ | |||
− | |||
⚫ | |||
⚫ | |||
− | * [[:Category:Hosted AddOns|Hosted addon pages]] · [[:Category:Function Libraries|Function Libraries]] |
||
⚫ | |||
⚫ | |||
− | |||
− | | valign="top" | |
||
<h4>Developer Communities</h4> |
<h4>Developer Communities</h4> |
||
− | + | Discord |
|
− | + | * [https://discord.gg/sVQCHr5 WoWUIDev] |
|
− | + | * [https://discord.gg/sXy46yZ WoW AddOns;] |
|
⚫ | |||
− | * '''IRC''' |
||
⚫ | |||
− | ** chat.freenode.net: [irc://chat.freenode.net/wowuidev #wowuidev] |
||
+ | * [https://www.reddit.com/r/wowaddons/ r/wowaddons] |
||
− | ** chat.freenode.net: [irc://chat.freenode.net/wowace #wowace] |
||
⚫ | |||
⚫ | |||
+ | </li></ul> |
||
+ | == Categories == |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | * [[:Category:API types]] |
||
⚫ | |||
− | |} |
||
+ | * [[:Category:Hosted AddOns]] |
||
+ | * [[:Category:Function Libraries]] |
||
== Things you can help out with == |
== Things you can help out with == |
||
Line 98: | Line 104: | ||
* Take a look in [[:Category:Votes for deleting]] and look for API 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! |
* Help convert old pages to the [[Help:API Function articles]] style! |
||
+ | <!-- outdated pages |
||
+ | * [[User defined functions]] |
||
⚫ | |||
+ | --> |
||
+ | |||
+ | [[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!