ElijahCrafter

Viewer

Mar 13th, 2024 (edited)
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.17 KB | None | 0 0
  1. -- Function to find the side where the Ender Modem is located
  2. local function findModemSide()
  3.     local sides = {"top", "bottom", "left", "right", "front", "back"}
  4.     for _, side in ipairs(sides) do
  5.         if peripheral.isPresent(side) and peripheral.getType(side) == "modem" then
  6.             return side
  7.         end
  8.     end
  9.     return nil  -- No Ender Modem found
  10. end
  11.  
  12. -- Attempt to open Rednet on the detected modem side
  13. local function openRednet()
  14.     local modemSide = findModemSide()
  15.     if modemSide then
  16.         local success = rednet.open(modemSide)
  17.         if not success then
  18.             print("Failed to open Rednet on side:", modemSide)
  19.             return false
  20.         end
  21.         print("Rednet opened successfully on side:", modemSide)
  22.         return true
  23.     else
  24.         print("No Ender Modem detected.")
  25.         return false
  26.     end
  27. end
  28.  
  29. if not openRednet() then
  30.     return  -- Exit if no Ender Modem is found
  31. end
  32.  
  33. while true do
  34.     local senderID, message = rednet.receive()
  35.  
  36.     -- Check if the message is from a computer and contains screen content
  37.     if type(message) == "table" and message.screenContent then
  38.         term.clear()
  39.         term.setCursorPos(1, 1)
  40.         for y = 1, #message.screenContent do
  41.             for x = 1, #message.screenContent[y] do
  42.                 local textColor = message.screenContent[y][x][1]
  43.                 local bgColor = message.screenContent[y][x][2]
  44.                
  45.                 -- Ensure valid color codes
  46.                 if term.isColor() then
  47.                     textColor = textColor % 16 -- limit to valid color range
  48.                     bgColor = bgColor % 16 -- limit to valid color range
  49.                 else
  50.                     textColor = 1 -- default to white for non-color displays
  51.                     bgColor = 32768 -- default to black for non-color displays
  52.                 end
  53.                
  54.                 term.setTextColor(textColor)
  55.                 term.setBackgroundColor(bgColor)
  56.                 term.write(" ")
  57.             end
  58.             print() -- Move to next line
  59.         end
  60.     else
  61.         print("Received invalid message format from", senderID)
  62.     end
  63. end
  64.  
  65.  
Advertisement
Add Comment
Please, Sign In to add comment