mirror of
https://github.com/eaglerforge/EaglerForgeInjector
synced 2025-07-23 06:01:38 -09:00
4.2 KiB
4.2 KiB
Events
Events broadcast data for use in mods.
ModAPI.addEventListener(eventName: String, callback: Function) : void
- Used to register an event handler. Eg:
-
function myHandler(event) { console.log(event); } ModAPI.addEventListener("update", myHandler);
ModAPI.removeEventListener(eventName: String, callback: Function) : void
- Used to unregister an event handler. Eg:
-
function myHandler(event) { console.log(event); } ModAPI.removeEventListener("update", myHandler);
Basic Events
update
:- Called every client side tick.
- Event object is blank.
load
:- Called when all mods have finished loading.
- Event object is blank.
sendchatmessage
:- Called just before the player sends a chat message.
- Passes an object with properties:
message: String
- String representing the chat message.
preventDefault: Boolean
- Boolean representing whether or not to cancel processing the chat message. Default is
false
.
- Boolean representing whether or not to cancel processing the chat message. Default is
event
:- Called when any event is called. Passes an object with properties:
- Passes an object with properties:
event: String
- String representing the type of event being fired.
data: Object
- Object representing the original arguments to be passed to the callback.
Server Side Events
Can only be used in the context of the dedicated server. More: DedicatedServerDocumentation
serverstart
:- Called when the dedicated server starts.
- Event object is blank.
serverstop
:- Called when the dedicated server stops.
- Event object is blank.
tick
:- Called when the server ticks.
- Passes an object with properties:
preventDefault: Boolean
- Boolean representing whether or not to cancel the tick. Default is
false
.
- Boolean representing whether or not to cancel the tick. Default is
receivechatmessage
:- Called when the server receives a chat message.
- Passes an object with properties:
message: String
- String representing the chat message.
preventDefault: Boolean
- Boolean representing whether or not to cancel processing the chat message. Default is
false
.
- Boolean representing whether or not to cancel processing the chat message. Default is
processcommand
:- Called when the server receives a command.
- Passes an object with properties:
command: String
- String representing the command.
sender: ICommandSender
- Object that sent the command
preventDefault: Boolean
- Boolean representing whether or not to cancel processing the command. Default is
false
.
- Boolean representing whether or not to cancel processing the command. Default is
Events Global, adding new events
The events global, ModAPI.events
, allows you to register new event types and call them.
ModAPI.events.newEvent(eventName: String)
You can register new events using ModAPI, as long as the event name starts with custom:
(lib:
is only useful for library loading). For example, if I want to add a new event that can be used by other mods, I can use ModAPI.events.newEvent("custom:myevent")
.
ModAPI.events.callEvent(eventName: String, data: Object)
You can then call events via ModAPI.events.callEvent
. For example, to trigger custom:myevent
with a secret code value, I can run ModAPI.events.callEvent("custom:myevent", {secretCode: "1234"});
.
Here is an example on using this:
// Mod #1, registers event handler for custom event
ModAPI.addEventListener("custom:myevent", (e)=>{
alert(e.secretCode);
});
// Mod #2, registers and calls custom event
ModAPI.events.newEvent("custom:myevent");
ModAPI.events.callEvent("custom:myevent", {
secretCode: "1234"
});
Using library load events
// Mod #2, registers and calls lib event
ModAPI.events.newEvent("lib:mylibrary:loaded");
ModAPI.events.callEvent("lib:mylibrary:loaded", {});
// Mod #1, registers event handler for lib event
ModAPI.addEventListener("lib:mylibrary:loaded", (e)=>{
//Lib events function differently to normal events, as when they are called once, any new event listener with automatically fire upon being registered.
});