Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Function to find the side where the Ender Modem is located
- local function findModemSide()
- local sides = {"top", "bottom", "left", "right", "front", "back"}
- for _, side in ipairs(sides) do
- if peripheral.isPresent(side) and peripheral.getType(side) == "modem" then
- return side
- end
- end
- return nil -- No Ender Modem found
- end
- -- Attempt to open Rednet on the detected modem side
- local function openRednet()
- local modemSide = findModemSide()
- if modemSide then
- local success = rednet.open(modemSide)
- if not success then
- print("Failed to open Rednet on side:", modemSide)
- return false
- end
- print("Rednet opened successfully on side:", modemSide)
- return true
- else
- print("No Ender Modem detected.")
- return false
- end
- end
- if not openRednet() then
- return -- Exit if no Ender Modem is found
- end
- while true do
- local senderID, message = rednet.receive()
- -- Check if the message is from a computer and contains screen content
- if type(message) == "table" and message.screenContent then
- term.clear()
- term.setCursorPos(1, 1)
- for y = 1, #message.screenContent do
- for x = 1, #message.screenContent[y] do
- local textColor = message.screenContent[y][x][1]
- local bgColor = message.screenContent[y][x][2]
- -- Ensure valid color codes
- if term.isColor() then
- textColor = textColor % 16 -- limit to valid color range
- bgColor = bgColor % 16 -- limit to valid color range
- else
- textColor = 1 -- default to white for non-color displays
- bgColor = 32768 -- default to black for non-color displays
- end
- term.setTextColor(textColor)
- term.setBackgroundColor(bgColor)
- term.write(" ")
- end
- print() -- Move to next line
- end
- else
- print("Received invalid message format from", senderID)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement