Elaborate on onEvent documentation

This commit is contained in:
Sabine Lim
2023-05-08 01:57:14 +10:00
committed by GitHub
parent 1eddd209f0
commit e3de424f42

View File

@@ -14,7 +14,7 @@ You can find a full list here: [CC:Tweaked](https://tweaked.cc/) (on the left si
### Usage
* Add an onEvent event to your frame:
Add an onEvent event to your frame:
```lua
local basalt = require("basalt")
@@ -26,3 +26,22 @@ main:onEvent(function(event, side, channel, replyChannel, message, distance)
end
end)
```
The parameters passed to this function are the same as those returned by `os.pullEvent()`. See [here](https://computercraft.info/wiki/Os.pullEvent) for more info.
Alternatively, you can add an onEvent event to an XML layout:
```xml
<onEvent>
local eventType = event[3]
local message = event[7]
if (eventType == "modem_message") then
basalt.debug("Message received: " .. tostring(message))
end
</onEvent>
```
In this case, the event table indices correspond to:
* 1: The Object where this event is being handled
* 2: A string representing the Basalt event type. This will always just be the string `"other_event"`
* 3 onwards: the `os.pullEvent()` parameters