ScriptAPI modules

Modules created with the script API appear in both the ClickGUI and the TabGUI. They behave just like regular modules and can be customized with settings, bound to keys and enabled or disabled.

Creating a module

script.registerModule(options, callback)

Each module has to be registered with the client via the instance of the script. This is done using the registerModule method. It creates a new instance of ScriptModule and passes it to the callback function.
The following table describes the properties of the options object.

Property Description Type
name Name under which the module is displayed. string
category Category under which the module is displayed. string
description Description of what the modules does. string
tag String displayed next the to module name in the array list (optional). string
settings Object containing all settings of the module (optional). object

options.category can be one of the following:

  • Misc
  • Movement
  • Exploit
  • Render
  • Combat
  • Player
  • Fun
  • World

options.tag can be overridden by setting module.tag to a new value.

options.settings contains all settings. More information on creating a setting can be found here.

Example:

script.registerModule({
    name: "TestModule",
    category: "Misc",
    description: "This module is using LiquidBounce's ScriptAPI.",
    tag: "Test",
    settings: {
        myBooleanSetting: Setting.boolean({
            name: "MyBooleanSetting",
            default: false
        })
    }
}, function(module) {

});

Handling events

Script modules also use LiquidBounce's event system. Each event used has to be registered with the client along with a handler function that will be called by the client whenever the event occurs. The ScriptModule class has a method for this purpose.

module.on(eventName, callback)

Registers the use of an event with the client. List of arguments:

  • eventName, name of the event to be handled.
  • callback, function called whenever the event occurs.

Example:

module.on("enable", function() {
    Chat.print("The module is now enabled.");
});

Getting a setting

If a setting was specified in the settings object when the module was registered, it can be accessed as follows via the key defined in the settings object.

module.settings.myBooleanSetting;

For more information, please refer to the documentation on settings.

Overwrite the module tag

It is possible to overwrite the module tag even after registration. This is especially useful if it should indicate the mode of the module. This is done as follows.

module.tag = "NewTag";

Full example of a module

script.registerModule({
    name: "TestModule",
    category: "Misc",
    description: "This module is using LiquidBounce's ScriptAPI.",
    tag: "Test",
    settings: {
        myBooleanSetting: Setting.boolean({
            name: "MyBooleanSetting",
            default: false
        })
    }
}, function(module) {
    module.on("enable", function() {
        module.tag = "NewTag";

        if (module.settings.myBooleanSetting.get()) {
            Chat.print("The module is now enabled.");
            module.settings.myBooleanSetting.set(false);
        }
    });
});