CC-Tweaked/doc/events/modem_message.md

1.2 KiB

module: [kind=event] modem_message

The [modem_message] event is fired when a message is received on an open channel on any [modem].

Return Values

  1. [string]: The event name.
  2. [string]: The side of the modem that received the message.
  3. [number]: The channel that the message was sent on.
  4. [number]: The reply channel set by the sender.
  5. [any]: The message as sent by the sender.
  6. [number]|[nil]: The distance between the sender and the receiver in blocks, or [nil] if the message was sent between dimensions.

Example

Wraps a [modem] peripheral, opens channel 0 for listening, and prints all received messages.

local modem = peripheral.find("modem") or error("No modem attached", 0)
modem.open(0)

while true do
    local event, side, channel, replyChannel, message, distance = os.pullEvent("modem_message")
    print(("Message received on side %s on channel %d (reply to %d) from %f blocks away with message %s"):format(
        side, channel, replyChannel, distance, tostring(message)
    ))
end