Advertisement
rhn

Big Reactor steam reactor

rhn
Dec 1st, 2014
667
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Title: ComputerCraft BigReactor automatic throttling software for Active reactors.
  2. -- Author: MyrddinE
  3. --
  4. -- Throttles the reactor based on the level of hot fluid. Because the hot fluid buffer
  5. -- is small compared to the generation speed, it updates several times a second to
  6. -- maintain the proper temperature.
  7.  
  8. -- Update this to match your reactor's steam volume.
  9. maxSteam = 17200
  10.  
  11. -- Set this to the side your monitor is on, or blank for no monitor. If the monitor is
  12. -- connected via a wired modem, set this to the full name of the monitor.
  13. monitor = 'top'
  14. -- monitor = 'right'
  15.  
  16. -- Stick the computer right on the port. If the reactor is attached via a wired modem,
  17. -- change the wrap to the full name of the Reactor.
  18. reactor = peripheral.wrap('back')
  19.  
  20. -- Sets the monitor to a wrapped peripheral if you have one.
  21. if #monitor > 0 then
  22.   monitor = peripheral.wrap(monitor)
  23.   width,height = monitor.getSize()
  24.   monitor.setCursorPos(1,height)
  25. else
  26.   monitor = false
  27. end
  28.  
  29. local rod = 70
  30. targetSteam = math.ceil(maxSteam*0.5)
  31.  
  32. -- Run forever.
  33. while true do
  34.   -- The important part of the loop is just three lines, very simple.
  35.   steam = reactor.getHotFluidAmount()
  36.     rod = (reactor.getControlRodLevel(1) - 1/targetSteam*(targetSteam - steam))
  37.     reactor.setAllControlRodLevels(rod)
  38.  
  39.  
  40.  
  41.   -- Everything below just drives a scrolling monitor display.
  42.   if monitor then
  43.     temp = math.floor(reactor.getCasingTemperature()).."C"
  44.     monitor.scroll(2)
  45.     monitor.setCursorPos(1,height)
  46.     monitor.write(rod.."%")
  47.     monitor.scroll(1)
  48.     monitor.setCursorPos(1+width-#temp,height)
  49.     monitor.write(temp)
  50.   end
  51.  
  52.   -- Sleep for a moment.
  53.  sleep(1)
  54. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement