Frameworks
Updated for version 4.0.
Frameworks in BeardLib are a major part in BeardLib's mod loading, this is what loads the mods and gives them a place to stay in.
There are 3 frameworks in BeardLib: FrameworkBase, AddFramework and MapFramework.
Each framework gets added to this table: BeardLib.Frameworks. Each framework key is the type_name of the framework so: BeardLib.Frameworks.Base, BeardLib.Frameworks.Add, and BeardLib.Frameworks.Map. These are the classes you'd want to call to use functions such as GetModByName
.
FrameworkBase
The base framework, all other frameworks inherit this framework. By itself, the framework loads any main.xml it finds inside BLT mods.
Access with BeardLib.Frameworks.Base
Variables
Parameter | Type | Description |
---|---|---|
_directory | String | The directory of the mods that the framework should load. In this case it's set to "mods/" |
_mod_core | Class | The class that the mod of this framework should initialize in. All frameworks use ModCore |
main_file_name | String | The main file that the framework should load. All frameworks use "main.xml" |
auto_init_module | Boolean | Automatically initialize the modules in this framework? |
_ignore_folders | Table | A table of folders that the framework should ignore. The values inside are folder = true |
_ignore_detection_errors | Boolean | Determines if the framework should not log about folders it could not find a main.xml in the directory of the framework. Defaults to true (Except map framework) |
menu_color | Color | The default color of mods that are inside this framework (Shown in the BeardLib mods manager) |
Functions
Function | Description |
---|---|
init() | The init function. Registers the framework to BeardLib using BeardLib:RegisterFramework and sets up stuff. Creates a hook that runs every time require is called and in that hook CheckModQueue is called |
CheckModQueue(Booolean post, String file) | Called a few times to check for mods that are waiting to load through a post or pre hook |
Load() | Called after init finished the setup process |
FindMods | Searches for mods to load. Loads each mod using |
SortMods | Sorts the mods based on priority |
InitMods | Calls PreInitModules on mods to start loading the modules. Mods with |
RegisterHooks() | Called automatically by a BeardLib hook for each framework from some point in tweakdata. This calls |
log(s, ...) | A log function. Parameters act like string.format |
DevLog(s, ...) | Same as log but only logs when BeardLib has developer mode on (mods folder needs to have mod.txt file and you need to turn on the option in BeardLib options) |
LoadMod(String folder_name, String directory, String main_file) | Instantiates a mod. |
AddMod(String dir, ModCore mod) | Adds the mod to the mod lists |
RemoveMod(String dir) | Removes the mod from the mod lists |
Get
Function | Return Type | Description |
---|---|---|
GetModByDir(String dir) | ModCore | Returns a mod based on a directory. For example mods/Holo will return HoloUI if exists |
GetModByName(String name) | ModCore | Returns a mod based on a name. For example Sora HUD Reborn will return the Sora's HUD mod |
AddFramework
The framework for mod overrides mods and add.xml.
Access with BeardLib.Frameworks.Add
Variables
Parameter | Type | Description |
---|---|---|
add_configs | Table | The table that holds all add.xml configs. Each config is stored in a mod path key. |
Inherits BaseFramework and does the following things:
Allows loading a file named "add.xml" which is a quick and dirty way of loading AddFiles by modifying the
FindMods
function to pickup these files.Sets
_directory
to assets/mod_overrides
MapFramework
The framework for custom maps basically your "Maps" folder.
Access with BeardLib.Frameworks.Map
Inherits BaseFramework and does the following things: Sets _directory
to "Maps" Sets _ignored_folders
to {"backups", "prefabs"} to ignore the default editor folders
Modules of interest
Functions
Function | Description |
---|---|
AddCustomContact() | A function called from a modified |
Get
Function | Return Type | Description |
---|---|---|
GetMapByJobId(String job_id) | ModCore | Searches for a mod that has a narrative/job with id |
Last updated