Advertisement
DustinRosebery

ReactorControl v1.0.0

Jun 15th, 2015
474
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --HD & IPJ's KickAss Reactor Control v1.0.0
  2. -------------------------------------------
  3.  
  4. -- Abbreviations
  5. monitor = peripheral.wrap("monitor_25")
  6. t1 = peripheral.wrap("BigReactors-Turbine_18")
  7. r = peripheral.wrap("back")
  8.  
  9. local function drawMain() --Defines Main GUI
  10.  
  11.     -- Main window Heading
  12.     monitor.setCursorPos(1,1)
  13.     monitor.setBackgroundColor(colors.lightGray)
  14.     monitor.clear()
  15.     monitor.setTextScale(2)
  16.     monitor.setTextColor(colors.lime)
  17.     monitor.write(" HD & IPJ's KickAss Reactor Control")
  18.     monitor.setCursorPos(1,2)
  19.     monitor.write("- - - - - - - - - - - - - - - - - - -")
  20.  
  21. -- Windows  
  22. -- ReactorWindow
  23.     local reactorWindow = window.create(monitor, 2, 3, 17, 7)              
  24.         reactorWindow.setBackgroundColor(colors.gray)
  25.         reactorWindow.setVisible(true)
  26.         --heading
  27.         monitor.setCursorPos(2,3)
  28.         monitor.setTextColor(colors.lime)
  29.         monitor.setCursorPos(2,3)
  30.         monitor.write("Reactor")
  31.         monitor.setCursorPos(2,4)
  32.         monitor.write("- - - -")
  33.        
  34. end -- end drawMain()
  35.  
  36. -- Reactor Functions  
  37.  
  38. -- Reactor Steam                                      
  39. local function getSteam()
  40.     steam = r.getHotFluidProducedLastTick()
  41.     monitor.setCursorPos(2,5)
  42.     monitor.setTextColor(colors.yellow)
  43.     monitor.write("Steam: ")       
  44.        
  45.     if steam < 9500 then
  46.         monitor.setTextColor(colors.red)
  47.     else
  48.         monit.setTextColor(colors.lime)
  49.     end
  50.    
  51.     monitor.write(steam)   
  52.     monitor.setTextColor(colors.yellow)
  53.     monitor.write("mB/t")
  54.     os.sleep(1)
  55. end -- end Steam
  56.  
  57. -- Reactor Core Temp
  58. local function getCoreTemp()
  59.     coreTemp = r.getFuelTemperature()
  60.     monitor.setCursorPos(2,6)
  61.     monitor.setTextColor(colors.yellow)
  62.     monitor.write("CoreTemp: "..coreTemp.."C"
  63.     getSteam()
  64. end
  65.  
  66. -- Reactor Case Temp
  67. local function getCaseTemp()
  68.     temp = r.getCasingTemperature()
  69.     monitor.setCursorPos(2,7)
  70.     monitor.setTextColor(colors.yellow)
  71.     monitor.write("CaseTemp: "..temp.."C")
  72.     getCoreTemp()
  73.    
  74.      -- Rounding
  75.      local function round(num, idp)
  76.         local mult = 10^(idp or 0)
  77.         return math.floor((num / 1782) * mult + 0.5 / mult)/10
  78.      end
  79.    
  80.     -- Turbine Functions
  81.    
  82.     -- Turbine Speed
  83.     local function getTurbineSpeed()
  84.     drawMain()
  85.         speed = t1.getRotorSpeed()
  86.        
  87.         monitor.setCursorPos(20,5)
  88.         monitor.setTextColor(colors.yellow)
  89.         monitor.write("Speed: ")
  90.            
  91.             if speed < 1750 then
  92.                 monitor.setTextColor(colors.red)
  93.             else
  94.                 monitor.setTextColor(colors.lime)
  95.             end
  96.                
  97.         monitor.write(round(speed,3).."%")
  98.     getCaseTemp()
  99.     end -- end turbineSpeed
  100.    
  101.     -- Start Of execution
  102.     drawMain()
  103.        
  104.     while true do
  105.         getTurbineSpeed()
  106.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement