Plazter

Turbines[BigReactors]

Apr 12th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.98 KB | None | 0 0
  1. turbine = {peripheral.find("BigReactors-Turbine")}
  2. m = peripheral.wrap("back")
  3. mt = peripheral.wrap("monitor_274")
  4. bank = {peripheral.find("tile_blockcapacitorbank_name")}
  5. m.setBackgroundColor(colors.blue)
  6. m.clear()
  7.  
  8. local function nLineOne()
  9.     lineOne = lineOne+1
  10.     m.setCursorPos(1,lineOne)
  11. end
  12. local function nLineTwo()
  13.     lineTwo = lineTwo+1
  14.     m.setCursorPos(1,lineTwo)
  15. end
  16. local function getSpeed()
  17.   for i = 1,4 do
  18.     m.write("Turbine "..i..": is at           : ".. math.floor(turbine[i].getRotorSpeed()).." RPM")
  19.     nLineOne()
  20.     end
  21.    for i = 5,8 do
  22.    mt.write("Turbine "..i..": is at           : ".. math.floor(turbine[i].getRotorSpeed()).." RPM")
  23. end
  24.  
  25. local function bk()
  26.   if bank[1].getEnergyStored() > bank[1].getMaxEnergyStored()/2 then
  27.     for i = 1,#turbine do
  28.       turbine[i].setInductorEngaged(false)
  29.     end
  30.   else
  31.     for i =1,#turbine do
  32.       turbine[i].setInductorEngaged(true)
  33.     end
  34.   end
  35. end
  36.  
  37. local function setSpeed()
  38.   for i = 1,#turbine do
  39.     if turbine[i].getRotorSpeed() < 1830 then
  40.       turbine[i].setInductorEngaged(false)
  41.     elseif turbine[i].getRotorSpeed() > 1840 then
  42.       turbine[i].setInductorEngaged(true)
  43.     end--if
  44.   end--for
  45. end-- func
  46.  
  47. local function isEngaged()
  48.   for i = 4 do
  49.     m.write("Turbine "..i..": inductor engaged: ".. tostring(turbine[i].getInductorEngaged()))
  50.     nLineOne()
  51.   end
  52.   for i =5,8 do
  53.     mt.write("Turbine "..i..": inductor engaged: ".. tostring(turbine[i].getInductorEngaged()))
  54.     nLineTwo()
  55. end
  56.  
  57. local function rfTick()
  58.   for i = 1,4 do
  59.     m.write("Turbine ".. i ..": produced        : ".. math.ceil(turbine[i].getEnergyProducedLastTick()).." RF")
  60.     nLineOne()
  61.   end
  62.     for i = 5,8 do
  63.     mt.write("Turbine "..i..": procuced         : "..math.ceil(turbine[i].getEnergyProducedLastTick()).." RF")
  64.     end
  65. end
  66. end
  67. term.redirect(m)
  68. while true do
  69.   bk()
  70.   setSpeed()
  71.   term.clear()
  72.   term.setCursorPos(1,1)
  73.   print("Turbine Info")
  74.   getSpeed()
  75.   rfTick()
  76.   isEngaged()
  77.   sleep(.5)
  78. end
  79. term.native()
Add Comment
Please, Sign In to add comment