Ubidibity

Random dudes compucraft BR monitor program

Nov 14th, 2017
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
Add Comment
Please, Sign In to add comment