This is an old revision of the document!
# MashLib A collection of useful commands that are going to be necessary to run my future addons.
## Support If you need support with this library or just wanna chat, join my [Discord Server](https://discord.gg/CvA8zjNRnq)! :D
## Structure ```lua MashLib = {
Helpers, -- Helpful stuff System, -- FFXIV related stuff (servers, regions, etc) Powershell, -- Powershell related functions Character, -- Character related stuff API, -- API Requests Crafting, -- Crafting related stuff Gathering, -- Gathering related stuff Misc, -- Temporary values Battle, -- Battle related stuff Hacks, -- Useful hacks Hunt, -- The Hunt related stuff Logging, -- Entity Logging Space, -- 2D and 3D space related stuff
} ```
## API ### Helpers ```lua –Get current time @param {type} type = 'epoch', 'formatted' or 'formatted_no_spec' @return {string} function MashLib.Helpers.GetTime(type)
–Get current date @param {type} type 'formatted' or 'formatted_no_spec' @return {string} function MashLib.Helpers.GetDate(type)
–Returns the time since the param @param {string} time @return {int} function MashLib.Helpers.TimeSince(time)
–Get a keyboard's key info @param {string} key @returns {table} function MashLib.Helpers.GetKeyInfo(key)
–Get a map's name @param {int} id @param {string} mode - 'default' or 'to_log' @returns {string} function MashLib.Helpers.GetMapName(id, mode)
–Returns float with a specific decimal @param {bool} float @returns {int} function MashLib.Helpers.ToFixed(float, dec)
–Return the size of the table @param {table} tbl @returns {int} function MashLib.Helpers.SizeOf(tbl)
–Turns seconds into milliseconds @param {int} time @returns {int} function MashLib.Helpers.HandleCoolDowns(time)
–Get the highest value from table @param {table} tbl @returns {int} function MashLib.Helpers.GetMax(tbl)
–Get the lowest value from table @param {table} tbl @returns {int} function MashLib.Helpers.GetMin(tbl)
–Get the normalization translation table @returns {table} function MashLib.Helpers.GetNormalizationTable()
–Get the special char normalization translation table @returns {table} function MashLib.Helpers.GetSpecialCharTable()
–Normalizes a string @param {string} string @param {boolean} parameterize @returns {string} function MashLib.Helpers.Normalize(string, parameterize)
–Returns the file name from path @param {string} path @returns {string} function MashLib.Helpers.GetFileNameFromPath(path)
–Split string @param {string} inputstr @param {string} separator @param {string} datatype @returns {string} function MashLib.Helpers.SplitString(inputstr, sep, datatype)
–Join table into a string @param {string} delimiter @param {table} table @returns {table} function MashLib.Helpers.Join(delimiter, table)
–Limit a string length @param {string} string @param {int} length @returns {string} function MashLib.Helpers.LimitLength(string, length)
–Validates an email string @param {string} str @returns {boolean} function MashLib.Helpers.ValidateEmail(str)
–Returns the percentage of a value @param {number} percent @param {number} value @returns {number} function MashLib.Helpers.PercentOf(percent, value)
–Removes a value from a table @param {table} table @param {string} value @returns {table} function MashLib.Helpers.RemoveByValue(table, value)
–Gets a key/value from a value @param {table} table @param {string} value @param {boolean} keyonly @returns {table} function MashLib.Helpers.GetByValue(table, value, keyonly)
–Formats a number with commas @param {string} number @returns {string} function MashLib.Helpers.FormatNumber(number)
–Escapes slashes / @param {string} string function MashLib.Helpers.EscapeSlash(string)
–Returns the first entry in a table @param {table} table @param {bool} key function MashLib.Helpers.First(table, key)
–Returns the last entry in a table @param {table} table @param {bool} key function MashLib.Helpers.Last(table, key)
–Returns the table without empty key/values @param {table} table @return {table} function MashLib.Helpers.DeleteEmpty(table)
```
### System ```lua –Get most common keys from the keyboard. @returns {Table} function MashLib.System.GetCommonKeys()
–Get a Server by it's ID @param {int} id @returns {table} function MashLib.System.GetServer(id)
–Get channel list @param {int} id @returns {table} function MashLib.System.GetChannelList()
–Get channel by id @returns {table} function MashLib.System.GetChannel(id)
–Get a Region by it's ID @param {int} id @returns {string} function MashLib.System.GetRegion(id)
–Get a Job's name by it's ID @param {int} id @returns {string} function MashLib.System.GetJob(id)
–Get a Job's ID by it's name @param {string} name @returns {int} function MashLib.System.GetJobId(name)
–Get the job list by all or by dominion @param {string} dominion - 'battle', 'h-l', 'any' @returns {int} function MashLib.System.GetJobList(dominion)
–Check if the character is logged in or not @returns {boolean} function MashLib.System.CheckLogin()
–Check if the game is loading @returns {boolean} function MashLib.System.IsLoading()
–Get map's ID by name @param {string} name @return {int} function MashLib.System.GetMapId(name)
–Get current map's info by Id @param {int} id @return {table} function MashLib.System.GetMap(id)
–Loads and run a lua file @param {string} filePath @return {variant} Code return function MashLib.System.Require(filePath)
–Converts TerritoryId to MapId @param {int} territoryid @return {int} function MashLib.System.GetMapIDFromTerritoryID(id)
–Get expansion list @param {string} type @return {table} function MashLib.System.GetExpansionList(type)
–Get expansion by id @param {int} expansionid @return {table} function MashLib.System.GetExpansionByID(expansionid)
–Returns the file names inside a folder, and the files inside subfolders Thanks to xSalice! <3 @param {string} folder path @return {table} function MashLib.System.GetFilesInside(folder)
–Changes to and enables Assist Bot Mode function MashLib.System.EnableAssistMode()
–Disables Bot Mode function MashLib.System.TurnOffBotMode()
–Searchs for an action by Name @param {int} type @param {string} name function MashLib.System.SearchAction(type, name)
–Searchs for an action by Id @param {int} type @param {int} id function MashLib.System.SearchActionById(type, id)
–Searchs for an entity nearby @param {int} contentId function MashLib.System.FindEntityAroundPlayer(contentId) ```
### Powershell ```lua –Execute a powershell file (.ps1) @param {string} path function MashLib.Powershell.ExecuteFile(path)
–Downloads a file @param {string} url @param {string} path on system function MashLib.Powershell.DownloadFile(url, path)
–Opens a url in your browser @param {string} url function MashLib.Powershell.OpenLink(url)
–Executes a command on powershell @param {string} command function MashLib.Powershell.Execute(command)
– Not yet implemented function MashLib.Powershell.PlaySound() ```
### Character ```lua –Get the list of buffs on your character @return {table} function MashLib.Character.GetBuffList()
–Get the list of buffs on your character @return {table} function MashLib.Character.HasBuff(id)
–Teleports the player to the map with corresponding id @param {int} aetheryteid function MashLib.Character.TeleportTo(aetheryteid)
–Teleports the player to the first aetheryte of a map @param {int} mapid function MashLib.Character.TeleportToFirst(mapid)
–Teleports the player to the first aetheryte of a map, skips if already there @param {int} mapid function MashLib.Character.TeleportToMap(mapid)
–Checks if character is casting teleport @return {boolean} function MashLib.Character.IsCastingTeleport()
–Switch between Standard (0) and Legacy (1) move modes @param {int} id function MashLib.Character.SetMoveModeTo(id) ```
### Character.Inventory ```lua –Return an inventory item info by id @param {int} id @returns {table} ResultObject .category .uicategory .searchcategory .name .max .level .requiredlevel .canequip .equipslot .class .price .rarity .isunique .desynthvalue .replairclassjob .repairitem .iscollectable .isuntradeable .isbinding function MashLib.Character.Inventory.GetItemDetails(id)
–Get inventory item list to a txt file for speeder @param {string} search @param {string} norepeat function MashLib.Character.Inventory.GetSpeederInventory(search, norepeat)
–Get inventory item list or search @param {string} search @param {string} norepeat @return {table} items function MashLib.Character.Inventory.Get(search, norepeat)
–Get item from inventory by Id if quantity == 1 @param {string} id @return {table} function MashLib.Character.Inventory.GetOneById(id)
–Get item from inventory by Id @param {string} id @param {string} norepeat @return {table} function MashLib.Character.Inventory.GetById(id, norepeat)
–Get item list or search in a specific inventory @param {string} inventory @param {string} search @param {boolean} norepeat @return {table} items function MashLib.Character.Inventory.GetFromSpecific(inventory, search, norepeat)
–Move an item to another slot @param {int} inventory @param {int} slot @param {int} toinventory @param {int} toslot function MashLib.Character.Inventory.Move(inventory, slot, toinventory, toslot)
–Move an item object to another slot @param {int} toinventory @param {int} toslot function MashLib.Character.Inventory.MoveObject(object, toinventory, toslot) ```
### API ```lua –Get an API endpoint's info by name @param {string} name @return {table} function MashLib.API.GetEndpoint(name) ```
### Crafting ```lua –Get a craft condition by name @param {string} name @return {table} function MashLib.Crafting.GetCondition(name) ```
### Gathering ### Battle ```lua –Get an encounter info by ID @param {int} id @return {table} function MashLib.Battle.GetEncounter(id)
–Get a list of skills on a specific job @param {int} job @return {table} function MashLib.Battle.GetSkillListByJobID(job) ```
### Hacks ```lua –nil} fly @param {int|nil} walk @param {int|nil} mount function MashLib.Hacks.Speed.Set(fly, walk, mount) ```
### Hunt ```lua –Get a mark's name by it's id @param {string} expansion @param {string} rank @param {int} contentid @retun {string} function MashLib.Hunt.GetMarkNameByID(expansion, rank, contentid)
–Get mark list @param {string} expansion @param {string} rank @retun {table} function MashLib.Hunt.GetMarkList(expansion, rank)
–Gets the mark list on a map @param {int} mapid @retun {table} function MashLib.Hunt.GetMarkListOnMap(mapid)
– to_combo @retun {table} function MashLib.Hunt.GetMarkListPerMap(option) ```
### Space ```lua –Moves character to coords @param {table} coords function MashLib.Space.MoveTo(coords)
–Stops character from moving function MashLib.Space.Stop()
–Get random coordinates around another coordinates, in a circular area Thanks to Kitanoi <3 @param {table} coords @param {int} radius @return {table} function MashLib.Space.RandomPosCloseToCoords(coords, radius)
–Calculates the 2D distance between two points Thanks to Kali <3 @param {table} pos @param {table} pos2 @param {bool} ignoreradius @return {int} function MashLib.Space.Distance2D(pos, pos2, ignoreradius)
–Calculates the 3D distance between two points Thanks to Kali <3 @param {table} pos @param {table} pos2 @param {bool} ignoreradius @return {int} function MashLib.Space.Distance3D(pos, pos2, ignoreradius)
–Places a flag in the map @param {int} territoryid @param {table} world coords -> x, z @param optinal {int} mapid function MashLib.Space.SetMapFlag(territoryid, coords, mapid)
–Gets the flag position in the map @return {table} function MashLib.Space.GetMapFlag()
–Converts world coordinates to map coordinates @param optional {table} world coords @param optional {int} mapid @param optional {bool} exact @return {table} function MashLib.Space.WorldToMap(coords, mapid, exact)
–Converts map coordinates to world coordinates Thanks to Kali and Kitano <3 @param {table} map coords @param {int} scale @return {table} function MashLib.Space.MapToWorld(coords, mapid)
–Gets a specific map's scale @param {int} mapid @return {int} function MashLib.Space.GetMapScale(id) ```
### Logging ```lua –Logs an entity @param {table} target @return {table} function MashLib.Logging.Entity(target) ```