Advertisement
the_lad

Reactor Base

Feb 16th, 2022
1,127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.38 KB | None | 0 0
  1. local mon = peripheral.find("monitor", function(name, object) return object.isColor() end)
  2. local reactor = peripheral.find("BigReactors-Reactor")
  3. print("Monitor Control Active")
  4. sleep(1)
  5.  
  6. function Reactor()
  7.   while true do
  8.     term.clear()
  9.     mon.clear()
  10.     mon.setTextScale(1.5)
  11.     reactor.getActive(true)
  12.    
  13.     mon.setCursorPos(1,1)
  14.     mon.write("Reactor Control")
  15.     term.setCursorPos(1,1)
  16.     term.write("Reactor Control")
  17.    
  18.     mon.setCursorPos(1,2)
  19.     mon.write("Control Rod Level:  ")
  20.     mon.setTextColor(colors.green)
  21.     mon.write(reactor.getControlRodLevel(1))
  22.     mon.write(" %")
  23.     mon.setTextColor(colors.white)
  24.     term.setCursorPos(1,2)
  25.     term.write("Control Rod Level:  ")
  26.     term.setTextColor(colors.green)
  27.     term.write(reactor.getControlRodLevel(1))
  28.     term.write(" %")
  29.     term.setTextColor(colors.white)
  30.    
  31.     mon.setCursorPos(1,3)
  32.     mon.write("Reactor Fuel Temp: ")
  33.     mon.setTextColor(colors.red)
  34.     mon.write(math.floor(reactor.getFuelTemperature()))
  35.     mon.write(" C")
  36.     mon.setTextColor(colors.white)
  37.     term.setCursorPos(1,3)
  38.     term.write("Reactor Fuel Temp: ")
  39.     term.setTextColor(colors.red)
  40.     term.write(math.floor(reactor.getFuelTemperature()))
  41.     term.write(" C")
  42.     term.setTextColor(colors.white)
  43.    
  44.     mon.setCursorPos(1,4)
  45.     mon.write("Power Produced:   ")
  46.     mon.write(math.ceil(reactor.getEnergyProducedLastTick()))
  47.     mon.write(" RF")
  48.     term.setCursorPos(1,4)
  49.     term.write("Power Produced:   ")
  50.     term.write(math.ceil(reactor.getEnergyProducedLastTick()))
  51.     term.write(" RF")
  52.    
  53.     mon.setCursorPos(1,5)
  54.     mon.write("Waste Produced:    ")
  55.     mon.write((math.ceil(reactor.getFuelConsumedLastTick() * 1000))/1000)
  56.     mon.write(" mB")
  57.     term.setCursorPos(1,5)
  58.     term.write("Waste Produced:  ")
  59.     term.write((math.ceil(reactor.getFuelConsumedLastTick() * 1000))/1000)
  60.     term.write(" mB")
  61.    
  62.    
  63.    
  64.     local PowerLevel = redstone.getAnalogInput("top")
  65.     local RodLevel = reactor.getControlRodLevel(1)
  66.    
  67.     if (PowerLevel < 12) then
  68.         if (RodLevel > 0) then
  69.           reactor.setAllControlRodLevels(RodLevel - 1)
  70.           sleep(.1)
  71.         end
  72.     end
  73.     if (PowerLevel > 12) then
  74.         if (RodLevel < 100) then
  75.         reactor.setAllControlRodLevels(RodLevel + 1)
  76.         sleep(.1)
  77.         end
  78.     end
  79.     sleep(0.2)
  80.   end
  81. end
  82. Reactor()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement