Global API
These symbols are available in all script phases (startup, server, and client).
onEvent(eventId, fn)
Registers a Lua function as a callback for a named event. When the event fires, fn is called with an event context table.
onEvent("player.join", function(e)
e.player.tell("Welcome, " .. e.player.name .. "!")
end)
| Parameter | Type | Description |
|---|---|---|
eventId | string | The event identifier (see event list below) |
fn | function | Callback function, receives an event context table |
Built-in Event IDs
| Event ID | Phase | Context fields |
|---|---|---|
player.join | Server | player table |
player.leave | Server | player table |
player.death | Server | player table |
player.respawn | Server | player table |
block.place | Server | player, block, pos {x,y,z} |
block.break | Server | player, block, pos {x,y,z} |
recipes | Server | Recipe event context (see Recipes) |
loot.modify | Server | tableId, addDrop(itemId, count) |
mob_effect.registry | Startup | create(id, settings) |
print(...)
Logs one or more values to the mod logger at INFO level. Multiple arguments are joined with a tab character, matching standard Lua behaviour.
print("Hello", "world") -- logs: Hello world
print("Player count: " .. server.getPlayerCount())
logger
A structured logger table with three log-level functions. All output is prefixed with [Lua] in the server log.
logger.info("Script loaded successfully")
logger.warn("Config value missing, using default")
logger.error("Something went very wrong: " .. msg)
| Method | Level |
|---|---|
logger.info(msg) | INFO |
logger.warn(msg) | WARN |
logger.error(msg) | ERROR |