Advertisement
Guest User

reactor

a guest
Aug 3rd, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.91 KB | None | 0 0
  1. --Abaddon16
  2. --Big Reactors Lua
  3. --initialization/rough draft
  4.  
  5. local monitor=peripheral.find("monitor")
  6. local reactor=peripheral.find("BigReactors-Reactor")
  7. local monSize=monitor.getSize()
  8.  
  9. local engThreshold=5000000
  10.  
  11. function isOn()
  12.   return reactor.getActive()
  13. end
  14. function rMon()
  15.   monitor.clear()
  16.   monitor.setCursorPos(1,1)
  17. end
  18. function newLine()
  19.   local _, cY=monitor.getCursorPos()
  20.   monitor.setCursorPos(1, cY+1)
  21. end
  22. function fueltemp()
  23.   return reactor.getFuelTemperature()
  24. end
  25. function casetemp()
  26.   return reactor.getCasingTemperature()
  27. end
  28. function energyStored()
  29.   return reactor.getEnergyStored()
  30. end
  31. function fuel()
  32.   return reactor.getFuelAmount()
  33. end
  34. function rodLevel(percent)
  35. --further insertion results in lower power
  36.   reactor.setAllControlRodLevels(percent)
  37. end
  38. function turnOn()
  39.   reactor.setActive(true)
  40. end
  41.  
  42. function checkSetLevels()
  43.   if energyStored()<3500000 and reactor.getControlRodLevel(0)>0 then
  44.     rodLevel(0)
  45.   elseif energyStored()>6000000 then
  46.     rodLevel(60)
  47.   elseif energyStored()>8000000 then
  48.     rodLevel(100)
  49.   end
  50. end
  51. function writeMonitor()
  52.   rMon()
  53.   if isOn() then
  54.     monitor.setCursorPos(1, 1)
  55.     monitor.setTextColor(colors.green)
  56.     monitor.write("Reactor is ON")
  57.     newLine()
  58.     local eng=energyStored()
  59.     if eng<engThreshold then
  60.       monitor.setTextColor(colors.red)
  61.     else
  62.       monitor.setTextColor(colors.green)
  63.     end
  64.     monitor.write(eng)
  65.     monitor.setTextColor(colors.orange)
  66.     monitor.write()
  67.   else
  68.     monitor.setTextScale(2)
  69.     monitor.setCursorPos(1,monSize/3)
  70.     monitor.write("Turning on...")
  71.     monitor.setTextScale(1)
  72.     turnOn()
  73.   end
  74. end
  75.  
  76. rMon()
  77. while 1 do
  78.   if reactor.getConnected() then
  79.     checkSetLevels()
  80.     writeMonitor()
  81.   else
  82.     rMon()
  83.     monitor.setCursorPos(1, 1)
  84.     monitor.setTextColor(colors.red)
  85.     monitor.write("NON-VALID REACTOR")
  86.   end
  87.   os.sleep(1)
  88. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement