Advertisement
Frekvens1

[ComputerCraft] MonitorAPI

Jul 16th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.36 KB | None | 0 0
  1. local monitor_screen = {}
  2. local monitors = {}
  3.  
  4. function loadSettings()
  5.     if (fs.exists("/config/monitorScreen.conf")) then
  6.         local h = fs.open("/config/monitorScreen.conf", "r")
  7.         monitor_screen = textutils.unserialize(h.readAll())
  8.         h.close()
  9.     end
  10.    
  11.     return
  12. end
  13.  
  14. function saveSettings()
  15.     local h = fs.open("/config/monitorScreen.conf", "w")
  16.     h.write(textutils.serialize(monitor_screen))
  17.     h.close()
  18. end
  19.  
  20. function updateMonitors()
  21.     monitor_screen = {}
  22.     monitors = {}
  23.    
  24.     loadSettings()
  25.    
  26.     local names = peripheral.getNames()
  27.     local i = 1
  28.     for _, v in pairs(names) do
  29.         local monitor = tostring(v)
  30.         if string.find(monitor, "monitor_") then
  31.             table.insert(monitors, monitor)
  32.             if (monitor_screen[monitor] == nil) then
  33.                 monitor_screen[monitor] = i
  34.             end
  35.             i = i + 1
  36.         end
  37.     end
  38.    
  39.     saveSettings()
  40. end
  41.  
  42. function getList()
  43.     return monitor_screen
  44. end
  45.  
  46. function setList(monitorList)
  47.     monitor_screen = monitorList
  48.     saveSettings()
  49. end
  50.  
  51. function getMonitors()
  52.     return monitors
  53. end
  54.  
  55. function getMonitor(ID)
  56.     results = {}
  57.     for monitor, mID in pairs(monitor_screen) do
  58.         if (mID == ID) then
  59.             table.insert(results, monitor)
  60.         end
  61.     end
  62.    
  63.     return results
  64. end
  65.  
  66. function getMonitorID(monitor)
  67.     return monitor_screen[monitor]
  68. end
  69.  
  70. function setMonitorID(monitor, ID)
  71.     monitor_screen[monitor] = ID
  72.     saveSettings()
  73. end
  74.  
  75. updateMonitors()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement