Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local monitor_source = peripheral.find("monitor")
- local monitors = window.create(monitor_source,1,1,monitor_source.getSize())
- local reactor = peripheral.find("fissionReactorLogicAdapter")
- local turbine = peripheral.find("turbineValve")
- local updateRate = 1 -- seconds until computer updates values
- monitors.clear()
- monitors.setCursorPos(13, 2)
- monitors.setTextColor(colors.orange)
- monitors.write("- INFO PANEL -")
- while (true) do
- if (reactor.getStatus()) then
- if (math.floor(reactor.getTemperature() - 273.15) > 700) then
- reactor.scram()
- print("The reactor has been shut down because of high temperatures!")
- end
- if (reactor.getCoolantFilledPercentage() * 100 <= 60.0) then
- reactor.scram()
- print("The reactor has been shut down because is running low of coolant")
- end
- if (reactor.getWasteFilledPercentage() >= 0.90) then
- reactor.scram()
- print("The reactor has been shut down because is almost full of waste")
- end
- if (reactor.getFuelFilledPercentage() <= 0.30) then
- reactor.scram()
- print("The reactor has been shut down because is running low of fuel")
- end
- if (reactor.getDamagePercent() >= 60) then
- reactor.scram()
- print("The reactor has been shut down because is too damaged")
- end
- end
- monitors.setCursorPos(2, 5)
- monitors.setTextColor(colors.green)
- monitors.write("[REACTOR] (")
- monitors.write(reactor.getDamagePercent())
- monitors.write("%)")
- monitors.setCursorPos(32, 1)
- if (reactor.getStatus()) then
- monitors.clearLine()
- monitors.setTextColor(colors.lime)
- monitors.write("ONLINE")
- else
- monitors.clearLine()
- monitors.setTextColor(colors.red)
- monitors.write("OFFLINE")
- end
- monitors.setTextColor(colors.white)
- monitors.setCursorPos(2, 7)
- monitors.clearLine()
- monitors.write("Temp:\n")
- monitors.write(math.floor(reactor.getTemperature() - 273.15))
- monitors.write(" °C")
- monitors.setCursorPos(2, 8)
- monitors.clearLine()
- monitors.write("A. Burn Rate:\n")
- monitors.write(reactor.getActualBurnRate())
- monitors.write(" mB/t")
- monitors.setCursorPos(2, 9)
- monitors.clearLine()
- monitors.write("Heating Rate:\n")
- monitors.write(math.floor(reactor.getHeatingRate()))
- monitors.write(" mB/t")
- monitors.setCursorPos(2, 10)
- monitors.clearLine()
- monitors.write("H. Coolant: ")
- monitors.write(math.floor(reactor.getHeatedCoolantFilledPercentage() * 100))
- monitors.write(" %")
- monitors.setCursorPos(2, 11)
- monitors.clearLine()
- monitors.write("Fuel:\n")
- monitors.write(math.floor(reactor.getFuelFilledPercentage() * 100))
- monitors.write("%")
- monitors.setCursorPos(2, 12)
- monitors.clearLine()
- monitors.write("Coolant: ")
- monitors.write(math.floor(reactor.getCoolantFilledPercentage() * 100))
- monitors.write("%")
- monitors.setCursorPos(2, 13)
- monitors.clearLine()
- monitors.write("Waste:\n")
- monitors.write(math.floor(reactor.getWasteFilledPercentage() * 100))
- monitors.write("%")
- monitors.setCursorPos(2, 15)
- monitors.setTextColor(colors.blue)
- monitors.write("[TURBINE]")
- monitors.setTextColor(colors.white)
- monitors.setCursorPos(2, 17)
- monitors.clearLine()
- monitors.write("Production Rate:\n")
- monitors.write(math.floor(turbine.getProductionRate() * 0.4))
- monitors.write(" FE/t")
- monitors.setCursorPos(2, 18)
- monitors.clearLine()
- monitors.write("Flow Rate: ")
- monitors.write(math.floor(turbine.getFlowRate()))
- monitors.write(" mB/t")
- monitors.setCursorPos(2, 19)
- monitors.clearLine()
- monitors.write("Energy: ")
- monitors.write(math.floor(turbine.getEnergy() * 0.4))
- monitors.write(" FE")
- monitors.setVisible(true)
- sleep(updateRate)
- monitors.setVisible(false)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement