===== Using Libs (Libraries) =====
Libs (or Libraries) are scripts that contain helpful functions and definitions that all addons can make use of. These come prepackaged with Ashita and can be found within the /addons/libs/ folder.
Libraries can be used by addons easily, just simply 'require' them into your code. For example, most addons will make use of the 'common' Lua library include. This brings a collection of libraries into your code automatically. This can be used like this:
require 'common'
This will include the common library into your addons global Lua state. Libraries that are within sub-folders can be included like this:
require 'ffxi.recast'
This would include the following library:
\addons\libs\ffxi\recast.lua
----
==== Available Libraries ====
^ Library Name ^ Description ^
| [[addons:using_libs:common]] | Includes the various common libraries in a simple single lib for addons to include. |
| [[addons:using_libs:imguidef]] | Includes the enums, functions and other features to interact with Ashitas UI system. |
| [[addons:using_libs:logging]] | Includes helper functions to write to Ashitas log files. |
| [[addons:using_libs:ltn12]] | Helper library for LuaSocket. |
| [[addons:using_libs:mathex]] | Includes extensions to Lua's math namespace. |
| [[addons:using_libs:mime]] | Helper library for LuaSocket. |
| [[addons:using_libs:settings]] | Includes helper functions for reading and writing simple configuration files for addons. |
| [[addons:using_libs:socket]] | LuaSocket library allowing addons to make use of sockets. |
| [[addons:using_libs:stringex]] | Includes extensions to Lua's string namespace. |
| [[addons:using_libs:tableex]] | Includes extensions to Lua's table namespace. |
| [[addons:using_libs:timer]] | Includes functions that allow addons to create timers to fire functions at specific intervals. |
| [[addons:using_libs:ffxi.enums]] | Contains various FFXI related enumerations. |
| [[addons:using_libs:ffxi.recast]] | Contains functions to interact with FFXIs recast timers. |
| [[addons:using_libs:ffxi.targets]] | Contains functions to interfact with FFXIs various targeting objects. |
| [[addons:using_libs:ffxi.vanatime]] | Contains functions to obtain various aspects of the Vana'diel time. |
| [[addons:using_libs:ffxi.weather]] | Contains functions to obtain weather information. |
| [[addons:using_libs:json.json]] | Library used to read and write JSON files. |
| [[addons:using_libs:socket.ftp]] | LuaSocket library used for the FTP protocol. |
| [[addons:using_libs:socket.headers]] | LuaSocket library used for various HTTP header related things. |
| [[addons:using_libs:socket.http]] | LuaSocket library used for HTTP connections. |
| [[addons:using_libs:socket.smtp]] | LuaSocket library used for SMTP connections. |
| [[addons:using_libs:socket.tp]] | LuaSocket library used for SMTP connections. |
| [[addons:using_libs:socket.url]] | LuaSocket library used for URI parsing. |