Advertisement
ElijahCrafter

Viewer

Mar 13th, 2024 (edited)
84
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
Advertisement