In JavaScript

For TypeScript development there are is a type definitions package available on NPM here

Basic Server Client Script

These two scripts set up a basic way for the server and client to communicate with each other.

Client Script

// Runs when this resource loads
sandbox.on("onResourceLoad", () => {
    console.log("Loaded Example")

// Runs when the event `serverResponse` is called
sandbox.on("serverResponse", (response) => {
    // Calls this event on the same side
    sandbox.emit("chat:sendMessage", response);

Server Script

// Allows clients to call this event, server can call any event on clients without registration

// Runs when the event `clientReady` is called
sandbox.on("clientReady", (client, data) => {
    // Calls this event on the client
    sandbox.emitClient(client, "serverResponse", data);
    // Alternatively
    client.emit("serverResponse", data)

Listening to third-party events

Any resource can listen to events from other resources by prefixing the event with the resource name.

Third-party events always run after their first-party variant

An example of listening to other resource loading events

// Listening to 'resource' load
sandbox.on("resource:onResourceLoad", () => {
    console.log("Resource Loaded")
// Listening to 'chat' load
sandbox.on("chat:onResourceLoad", () => {
    console.log("Chat Loaded")
// Listening to own load
sandbox.on("onResourceLoad", () => {
    console.log("Example Loaded")
// Listening to own load through third-party
sandbox.on("example:onResourceLoad", () => {
    console.log("Example Loaded")

Last updated