BeardLib
Search…
Hooks
Updated for version 3.38.

Module Definition

The module inherits ModuleBase. All parameters and functions of this class are inherited by the module.

Module name

The name of the module you use as the meta of the module definition is 'Hooks' or 'HooksModule' if _force_search is set to true in the module definition.

XML Structure

<Hooks directory type>
<hook type file source_file use_clbk/>
<hooks directory>
</hooks>
</Hooks>
<Hooks directory type>
Parameter
Type
Description
directory
String
Directory/path relative to the mods directory which contains all the hooked. [OPTIONAL]
<hook type file source_file use_clbk/>
Parameter
Type
Description
source_file
String
The path of the lua source file you wish to hook to. [REQ]
file
String
File path of the file that is hooking to the source_file [REQ]
Both
Parameter
Type
Description
type
String
The type of hook. If this is set to pre then the hook will be called before the source_file is loaded. Otherwise, it will be called after (Mostly for pre hooks)
pre
Boolean
Like type but as a quick boolean value to set to pre hooks
post
Boolean
Like type but as a quick boolean value to set to post hooks (Very specific cases as post is default)

Example

This example is what you would put inside your main node within your mod config
<Hooks directory="Hooks">
<hook file="Setup.lua" source_file="lib/setups/setup"/>
<hook file="Setup2.lua" source_file="lib/setups/setup" use_clbk="self.setup_hook_enabled"/>
</Hooks>
And if you are using the use_clbk, have something like this:
function MyMod:setup_hook_enabled()
return true
end
For this example your hook will be here: mods/MyMod/Hooks/Setup.lua. If you are using this module in a BLT mod.

<hooks> example

<Hooks directory="Hooks">
<hooks directory="Other">
<hook file="Setup.lua" source_file="lib/setups/setup"/>
</hooks>
</Hooks>
Now it will be in: mods/MyMod/Hooks/Other/Setup.lua.

Functions

Functions

Function
Description
Load(Table config, String prev_div)
Called normally by the module's init function. This is what adds the hooks. config is the current looping hooks table (or self._config if not present) and prev_dir is the previous directory so it will join the directory to it
GetPath(String directory, String prev_dir)
Joins directory and prev_dir. If prev_dir is not present returns directory alone. Used by the Load function
Copy link
Edit on GitHub
On this page
Module Definition
Module name
XML Structure
Example
Functions
Functions