Advertisement
Guest User

multireactor

a guest
Dec 17th, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.18 KB | None | 0 0
  1. --Variables
  2.  
  3. local reactor1 = peripheral.wrap("BigReactors-Reactor_1")
  4. local reactor2 = peripheral.wrap("BigReactors-Reactor_2")
  5. local mon1 = peripheral.wrap("monitor_1")
  6. local mon2 = peripheral.wrap("monitor_2")
  7.  
  8. --Functions
  9.  
  10. function ClearScreens()
  11.   mon1.clear()
  12.   mon2.clear()
  13.   mon1.setCursorPos(1,1)
  14.   mon2.setCursorPos(1,1)
  15.   mon1.setTextColor(colors.white)
  16.   mon2.setTextColor(colors.white)
  17. end
  18.  
  19. function Clearscrn(mon)
  20.   mon.clear()
  21.   mon.setCursorPos(1,1)
  22. end
  23.  
  24. function scrnres(mon,x)
  25.   if x <= 5 then
  26.     mon.setTextScale(x)
  27.   else
  28.     mon.write("Scale too large")
  29.     error("Scale too large")
  30.   end
  31. end
  32.  
  33. function Newline(mon)
  34.   local cx,cy = mon.getCursorPos()
  35.   mon.setCursorPos(1,cy+1)
  36. end
  37.  
  38. function scrnrst(mon)
  39.   Clearscrn(mon)
  40.   scrnres(mon,1)
  41. end
  42.  
  43. function ColorSet(mon,bool)
  44.   if bool then
  45.     mon.setTextColor(colors.green)
  46.   else
  47.     mon.setTextColor(colors.red)
  48.   end
  49. end
  50.  
  51. function GetStatus(reactor)
  52.   cnnct = reactor.getConnected()
  53.   act = reactor.getActive()
  54.   estore = reactor.getEnergyStored()
  55.   caseheat = reactor.getCasingTemperature()
  56.   fuelheat = reactor.getFuelTemperature()
  57. end
  58.  
  59. function StatusReport(mon,reactor)
  60.   GetStatus(reactor)
  61.   mon.write("Reactor Connection:")
  62.   Newline(mon)
  63.   ColorSet(mon,cnnct)
  64.   mon.write(cnnct)
  65.   Newline(mon)
  66.   mon.setTextColor(colors.white)
  67.   mon.write("Reactor Active:")
  68.   ColorSet(mon,act)
  69.  
  70.   if act ~= true then
  71.     reactor.setActive(true)
  72.   end
  73.  
  74.   mon.write(act)
  75.   Newline(mon)
  76.   mon.setTextColor(colors.white)
  77.   Control(mon,reactor)
  78.   mon.setTextColor(colors.white)
  79.   Newline(mon)
  80.   mon.write("Casing Temp:")
  81.   Newline(mon)
  82.   mon.write(caseheat)
  83.   Newline(mon)
  84.   mon.write("Fuel Temp:")
  85.   Newline(mon)
  86.   mon.write(fuelheat)
  87. end
  88.  
  89. function Control(mon,reactor)
  90.   if estore <= 1000000 then
  91.     mon.setTextColor(colors.red)
  92.     reactor.setAllControlRodLevels(0)
  93.   end
  94.   if estore >= 9500000 then
  95.     mon.setTextColor(colors.lime)
  96.     reactor.setAllControlRodLevels(90)
  97.   end
  98.   mon.write(estore)
  99. end
  100.  
  101. --Main
  102.  
  103. while true do
  104.   ClearScreens()
  105.   scrnres(mon1,2)
  106.   scrnres(mon2,2)
  107.   StatusReport(mon1,reactor1)
  108.   StatusReport(mon2,reactor2)
  109.   sleep(4)
  110. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement