Advertisement
9551

Untitled

Jan 16th, 2024
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. local monitor_source = peripheral.find("monitor")
  2. local monitors = window.create(monitor_source,1,1,monitor_source.getSize())
  3. local reactor = peripheral.find("fissionReactorLogicAdapter")
  4. local turbine = peripheral.find("turbineValve")
  5.  
  6. local updateRate = 1 -- seconds until computer updates values
  7.  
  8. monitors.clear()
  9.  
  10. monitors.setCursorPos(13, 2)
  11. monitors.setTextColor(colors.orange)
  12. monitors.write("- INFO PANEL -")
  13.  
  14. while (true) do
  15. if (reactor.getStatus()) then
  16. if (math.floor(reactor.getTemperature() - 273.15) > 700) then
  17. reactor.scram()
  18. print("The reactor has been shut down because of high temperatures!")
  19. end
  20.  
  21. if (reactor.getCoolantFilledPercentage() * 100 <= 60.0) then
  22. reactor.scram()
  23. print("The reactor has been shut down because is running low of coolant")
  24. end
  25.  
  26. if (reactor.getWasteFilledPercentage() >= 0.90) then
  27. reactor.scram()
  28. print("The reactor has been shut down because is almost full of waste")
  29. end
  30.  
  31. if (reactor.getFuelFilledPercentage() <= 0.30) then
  32. reactor.scram()
  33. print("The reactor has been shut down because is running low of fuel")
  34. end
  35.  
  36. if (reactor.getDamagePercent() >= 60) then
  37. reactor.scram()
  38. print("The reactor has been shut down because is too damaged")
  39. end
  40. end
  41.  
  42. monitors.setCursorPos(2, 5)
  43. monitors.setTextColor(colors.green)
  44. monitors.write("[REACTOR] (")
  45. monitors.write(reactor.getDamagePercent())
  46. monitors.write("%)")
  47.  
  48. monitors.setCursorPos(32, 1)
  49. if (reactor.getStatus()) then
  50. monitors.clearLine()
  51. monitors.setTextColor(colors.lime)
  52. monitors.write("ONLINE")
  53. else
  54. monitors.clearLine()
  55. monitors.setTextColor(colors.red)
  56. monitors.write("OFFLINE")
  57. end
  58.  
  59. monitors.setTextColor(colors.white)
  60.  
  61. monitors.setCursorPos(2, 7)
  62. monitors.clearLine()
  63. monitors.write("Temp:\n")
  64. monitors.write(math.floor(reactor.getTemperature() - 273.15))
  65. monitors.write(" °C")
  66.  
  67. monitors.setCursorPos(2, 8)
  68. monitors.clearLine()
  69. monitors.write("A. Burn Rate:\n")
  70. monitors.write(reactor.getActualBurnRate())
  71. monitors.write(" mB/t")
  72.  
  73. monitors.setCursorPos(2, 9)
  74. monitors.clearLine()
  75. monitors.write("Heating Rate:\n")
  76. monitors.write(math.floor(reactor.getHeatingRate()))
  77. monitors.write(" mB/t")
  78.  
  79. monitors.setCursorPos(2, 10)
  80. monitors.clearLine()
  81. monitors.write("H. Coolant: ")
  82. monitors.write(math.floor(reactor.getHeatedCoolantFilledPercentage() * 100))
  83. monitors.write(" %")
  84.  
  85. monitors.setCursorPos(2, 11)
  86. monitors.clearLine()
  87. monitors.write("Fuel:\n")
  88. monitors.write(math.floor(reactor.getFuelFilledPercentage() * 100))
  89. monitors.write("%")
  90.  
  91. monitors.setCursorPos(2, 12)
  92. monitors.clearLine()
  93. monitors.write("Coolant: ")
  94. monitors.write(math.floor(reactor.getCoolantFilledPercentage() * 100))
  95. monitors.write("%")
  96.  
  97. monitors.setCursorPos(2, 13)
  98. monitors.clearLine()
  99. monitors.write("Waste:\n")
  100. monitors.write(math.floor(reactor.getWasteFilledPercentage() * 100))
  101. monitors.write("%")
  102.  
  103. monitors.setCursorPos(2, 15)
  104. monitors.setTextColor(colors.blue)
  105. monitors.write("[TURBINE]")
  106.  
  107. monitors.setTextColor(colors.white)
  108.  
  109. monitors.setCursorPos(2, 17)
  110. monitors.clearLine()
  111. monitors.write("Production Rate:\n")
  112. monitors.write(math.floor(turbine.getProductionRate() * 0.4))
  113. monitors.write(" FE/t")
  114.  
  115. monitors.setCursorPos(2, 18)
  116. monitors.clearLine()
  117. monitors.write("Flow Rate: ")
  118. monitors.write(math.floor(turbine.getFlowRate()))
  119. monitors.write(" mB/t")
  120.  
  121. monitors.setCursorPos(2, 19)
  122. monitors.clearLine()
  123. monitors.write("Energy: ")
  124. monitors.write(math.floor(turbine.getEnergy() * 0.4))
  125. monitors.write(" FE")
  126.  
  127. monitors.setVisible(true)
  128. sleep(updateRate)
  129. monitors.setVisible(false)
  130. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement