Advertisement
Guest User

maxbahr55 big reactor tppi control

a guest
Sep 18th, 2014
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. local reactor1 = peripheral.wrap("BigReactors-Reactor_0")
  2. local monitor = peripheral.wrap("monitor_0")
  3. local turbine1 = peripheral.wrap("BigReactors-Turbine_0")
  4. local turbine2 = peripheral.wrap("BigReactors-Turbine_1")
  5.  
  6. function comma_value(amount)
  7. local formatted = amount
  8. while true do
  9. formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
  10. if (k==0) then
  11. break
  12. end
  13. end
  14. return formatted
  15. end
  16.  
  17. while true do
  18. energy = turbine1.getEnergyStored() + turbine2.getEnergyStored()
  19. enturbine1 = turbine1.getEnergyStored()
  20. enturbine2 = turbine2.getEnergyStored()
  21. t1v = turbine1.getRotorSpeed()
  22. t2v = turbine2.getRotorSpeed()
  23. hitze = reactor1.getFuelTemperature()
  24. crod = reactor1.getControlRodLevel(1)
  25. monitor.clear()
  26.  
  27. if enturbine1 < 250000 or enturbine2 < 250000 then
  28. reactor1.setActive(true)
  29. elseif enturbine1 > 800000 or enturbine2 > 800000 then
  30. reactor1.setActive(false)
  31. end
  32.  
  33. if t1v < 1800 then
  34. turbine1.setInductorEngaged(false)
  35. else
  36. turbine1.setInductorEngaged(true)
  37. end
  38.  
  39. if t2v < 1800 then
  40. turbine2.setInductorEngaged(false)
  41. else
  42. turbine2.setInductorEngaged(true)
  43. end
  44.  
  45. if hitze < 450 then
  46. reactor1.setAllControlRodLevels(crod - 1)
  47. elseif hitze > 500 then
  48. reactor1.setAllControlRodLevels(crod + 1)
  49. end
  50.  
  51. monitor.setCursorPos(1,1)
  52. monitor.setTextColor(colors.white)
  53. monitor.write("Reaktor Aktiv: ")
  54. monitor.setTextColor(colors.lime)
  55. monitor.write(reactor1.getActive())
  56.  
  57. monitor.setCursorPos(1,2)
  58. monitor.setTextColor(colors.white)
  59. monitor.write("RF/t Turbine 1: ")
  60. monitor.setTextColor(colors.lime)
  61. monitor.write(math.floor(turbine1.getEnergyProducedLastTick()))
  62.  
  63. monitor.setCursorPos(1,3)
  64. monitor.setTextColor(colors.white)
  65. monitor.write("RF/t Turbine 2: ")
  66. monitor.setTextColor(colors.lime)
  67. monitor.write(math.floor(turbine2.getEnergyProducedLastTick()))
  68.  
  69. monitor.setCursorPos(1,4)
  70. monitor.setTextColor(colors.white)
  71. monitor.write("Energie gespeichert: ")
  72. monitor.setTextColor(colors.lime)
  73. monitor.write(comma_value(energy))
  74.  
  75. monitor.setCursorPos(1,6)
  76. monitor.setTextColor(colors.white)
  77. monitor.write("Turbine 1 Coils Engaged: ")
  78. monitor.setTextColor(colors.lime)
  79. monitor.write(turbine1.getInductorEngaged())
  80. monitor.setTextColor(colors.white)
  81. monitor.write(" ; RPM: ")
  82. monitor.setTextColor(colors.lime)
  83. monitor.write(math.floor(turbine1.getRotorSpeed()))
  84.  
  85. monitor.setCursorPos(1,7)
  86. monitor.setTextColor(colors.white)
  87. monitor.write("Turbine 2 Coils Engaged: ")
  88. monitor.setTextColor(colors.lime)
  89. monitor.write(turbine2.getInductorEngaged())
  90. monitor.setTextColor(colors.white)
  91. monitor.write(" ; RPM: ")
  92. monitor.setTextColor(colors.lime)
  93. monitor.write(math.floor(turbine2.getRotorSpeed()))
  94.  
  95. monitor.setCursorPos(1,9)
  96. monitor.setTextColor(colors.white)
  97. monitor.write("Dampferzeugung: ")
  98. monitor.setTextColor(colors.lime)
  99. monitor.write(reactor1.getEnergyProducedLastTick())
  100. monitor.write(" mB/t")
  101.  
  102. sleep(2)
  103.  
  104. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement