BeardLib
  • Home
  • Things to Know
    • Adding Files
    • ScriptData
  • Modules
    • Achievements
    • Add Files
    • Adding your own modules
    • AssetUpdates (Mod Updates)
    • Classes
    • Contact (contractors)
    • Crime Spree Mission
    • DLC
    • Dependencies
    • Elements
    • Global Value (Tagging weapons/etc)
    • Heist Music
      • Stealth Music
    • Hooks
    • Interactions
    • Keybind
    • Level
    • Localization
    • Mask Material
    • Mask Pattern
    • Mask
    • Melee
    • Menu Music
    • Menu
    • ModuleBase
    • Narrative
    • Options
    • Package
    • Script Mods (Replace script data)
    • Sounds
    • Tweak Modify
    • Weapon Mod
    • Weapon Skin
    • Weapon
    • XML
  • API
    • BeardLib Class
    • Constants
    • File Manager
    • Frameworks
    • Hooks
    • ModCore
    • Package Manager
    • Special Hook IDs
  • Utilities
    • FileIO
    • Input
    • Main
    • Math
    • Menu Helper Plus
    • Path
    • String
    • Sync
    • Table
    • Tweak Data Helper
    • XML
    • YAML
  • MenuUI
    • ComboBox
    • ImageButton
    • Item
    • Items
    • Keybind
    • Menus
    • Slider
    • TextBox
    • Toggle
Powered by GitBook
On this page
  • Module Definition
  • Module name
  • XML Structure
  • Example
  • Functions
  • Functions

Was this helpful?

Edit on GitHub
  1. Modules

Hooks

PreviousStealth MusicNextInteractions

Last updated 3 years ago

Was this helpful?

Updated for version 3.38.

Module Definition

The module inherits . 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

<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

This example is what you would put inside your main node within your

ModuleBase
mod config