Advertisement
Guest User

Untitled

a guest
Nov 14th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. local reactor, lMon, rMon
  2. reactor = peripheral.wrap("BigReactors-Reactor_0")
  3. lMon = peripheral.wrap("left")
  4. rMon = peripheral.wrap("right")
  5.  
  6. lMon.setTextScale(0.5)
  7. rMon.setTextScale(0.5)
  8. lMon.clear()
  9. rMon.clear()
  10.  
  11. print("Running Reactor Monitor...")
  12.  
  13. function UpdateScreens(stored, lastTick, reactorOn, rods)
  14. local storedPerc
  15. storedPerc = math.floor((stored / 10000) * 100)
  16.  
  17. lMon.clear()
  18. lMon.setCursorPos(1,1)
  19. lMon.write("Stored:")
  20. lMon.setCursorPos(1,2)
  21. lMon.write(stored .. "k " .. storedPerc .. "%")
  22. lMon.setCursorPos(1,3)
  23. lMon.write("Current:")
  24. lMon.setCursorPos(1,4)
  25. lMon.write(lastTick)
  26.  
  27. rMon.clear()
  28. rMon.setCursorPos(1,1)
  29. rMon.write("Status:")
  30. rMon.setCursorPos(1,2)
  31.  
  32. if reactorOn then
  33. rMon.write("Active")
  34. else
  35. rMon.write("Inactive")
  36. end
  37.  
  38. rMon.setCursorPos(1,3)
  39. rMon.write("Rods:")
  40. rMon.setCursorPos(1,4)
  41. for k,v in pairs(rods) do
  42. rMon.write(v .. "% ")
  43. end
  44. end
  45.  
  46. function PollReactor()
  47. local energyStored, energyLastTick, reactorOn, rods
  48.  
  49. energyStored = math.floor(reactor.getEnergyStored() / 1000)
  50. energyLastTick = math.floor(reactor.getEnergyProducedLastTick())
  51. reactorOn = reactor.getActive()
  52.  
  53. rods = {}
  54. rodCount = reactor.getNumberOfControlRods()
  55.  
  56. for i=1,rodCount,1 do
  57. rods[i] = reactor.getControlRodLevel(i - 1)
  58. end
  59.  
  60. UpdateScreens(energyStored, energyLastTick, reactorOn, rods)
  61. end
  62.  
  63. while true do
  64. PollReactor()
  65. os.sleep(1)
  66. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement