====== Foundation Library Functions ======
===== createMod =====
Creates and returns a new mod
''void **foundation.createMod**()''
----
===== isModEnabled =====
Checks if a mod is enabled
Returns ''true'' if the mod is found and it is enabled, ''false'' otherwise
''boolean **foundation.isModEnabled**(//modId//)''
^ Name ^ Type ^ Description ^
| //''modId''// | ''string'' | the ID of the target mod. This ID is automatically generated and can be found in the mod's folder, in the file ''generated_ids.lua'', in the field ''ModId'' |
----
===== isModLoaded =====
Checks if a mod is already loaded, for soft dependencies purposes
Returns ''true'' if the mod is found and it is loaded, ''false'' otherwise
''boolean **foundation.isModLoaded**(//modId//)''
^ Name ^ Type ^ Description ^
| //''modId''// | ''string'' | the ID of the target mod. This ID is automatically generated and can be found in the mod's folder, in the file ''generated_ids.lua'', in the field ''ModId'' |
----
===== getModVersion =====
Retrieves the version of a mod
Returns the version as set by the mod's creator. This version can, or not, respect any versioning standard.
''string **foundation.getModVersion**(//modId//)''
^ Name ^ Type ^ Description ^
| //''modId''// | ''string'' | the ID of the target mod. This ID is automatically generated and can be found in the mod's folder, in the file ''generated_ids.lua'', in the field ''ModId'' |
----
===== getGameVersion =====
Retrieves the game's version
Returns a string corresponding to the version of the game
''string **foundation.getGameVersion**()''
----
===== createData =====
Creates a new instance of a data type
''data **myMod:createData**(//instanceData//)''
^ Name ^ Type ^ Description ^
| //''instanceData''// | ''table'' or ''nil'' | the data defining the new instance. If not ''nil'', the table must contain at least the instance's type (''DataType'', see [[api|API]] for the complete list) |
==== Example ====
local instanceData = {
DataType = "DATA_TYPE",
...
}
local newData = foundation.createData(instanceData)
----
===== createAsset =====
Creates a new runtime instance of an asset type
''[[api:ASSET|ASSET]] **myMod:createAsset**(//instanceAssetData//)''
^ Name ^ Type ^ Description ^
| //''instanceAssetData''// | ''table'' | the data defining the new runtime asset instance. The table must contain at least the instance's type (''DataType'', see [[api|API]] for the complete list) |
==== Example ====
local assetData = {
DataType = "DATA_TYPE",
...
}
local newAsset = foundation.createAsset(assetData)
----
===== findAsset =====
Finds an asset by its name
''[[api:ASSET|ASSET]] **foundation.findAsset**(//assetName//)''
^ Name ^ Type ^ Description ^
| //''assetName''// | ''string'' | the name of the wanted asset. |
----
===== findGameObject =====
Finds a GameObject by its name
''[[api:GAME_OBJECT|GAME_OBJECT]] **foundation.findGameObject**(//objectName//)''
^ Name ^ Type ^ Description ^
| //''objectName''// | ''string'' | the name of the wanted object. |