Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local termWidth, termHeight = term.getSize()
- local keepRunning = 1
- local reactor = peripheral.find("BigReactors-Reactor")
- local monitor = peripheral.find("monitor")
- local selectedItem = 1
- local onMainMenu = true
- local input = nil
- -- Begin Main menu --
- function Choice1()
- term.clear()
- term.setCursorPos(1,1)
- print("Reactor Enabled.\n")
- reactor.setActive(true)
- sleep(1)
- end
- function monitorOutput()
- while keepRunning == 1 do
- -- Define Statistical Values --
- active = reactor.getActive()
- energy = reactor.getEnergyStored()
- fuel = reactor.getFuelAmount()
- maxfuel = reactor.getFuelAmountMax()
- waste = reactor.getWasteAmount()
- reactivity = reactor.getFuelReactivity()
- rate = reactor.getEnergyProducedLastTick()
- -- Begin Display --
- term.clear()
- term.setCursorPos(1,1)
- monitor.write("Reactor Active: "..active)
- return()
- monitor.write("Stored Energy: "..energy.." RF")
- return()
- monitor.write("Fuel Reactivity"..reactivity.." percent")
- return()
- monitor.write("Total Fuel: "..fuel.." mB")
- return()
- monitor.write("Total Waste: "..waste.." mB")
- return()
- monitor.write("Total Contents: "..fuel+waste.." mB of"..maxfuel.." mB")
- return()
- monitor.write("Energy Per Tick: "..rate.." RF last tick")
- return()
- end
- end
- function Choice2()
- term.clear()
- term.setCursorPos(1,1)
- print("Reactor Disabled\n")
- reactor.setActive(false)
- sleep(1)
- end
- function Statistics()
- -- Define Statistical Values --
- active = reactor.getActive()
- energy = reactor.getEnergyStored()
- fuel = reactor.getFuelAmount()
- maxfuel = reactor.getFuelAmountMax()
- waste = reactor.getWasteAmount()
- reactivity = reactor.getFuelReactivity()
- rate = reactor.getEnergyProducedLastTick()
- -- Begin Display --
- term.clear()
- term.setCursorPos(1,1)
- Print("Reactor Active: "..active)
- Print("Stored Energy: "..energy.." RF")
- Print("Fuel Reactivity"..reactivity.." percent")
- Print("Total Fuel: "..fuel.." mB")
- Print("Total Waste: "..waste.." mB")
- Print("Total Contents: "..fuel+waste.." mB of"..maxfuel.." mB")
- Print("Energy Per Tick: "..rate.." RF last tick")
- end
- function Choice3()
- term.clear()
- term.setCursorPos(1,1)
- statistics()
- sleep(1)
- end
- function Exit()
- print("Shutting down. Goodbye.")
- os.sleep(2)
- os.shutdown()
- end
- mainMenu = {
- [1] = { text = "Turn Reactor On", handler = Choice1 },
- [2] = { text = "Turn Reactor Off", handler = Choice2 },
- [3] = { text = "Detailed Status", handler = Choice3 },
- [4] = { text = "Shut Down", handler = Exit }
- }
- function printMenu( menu )
- for i=1,#menu do
- if i == selectedItem then
- print(">> "..menu[i].text)
- else
- print(" "..menu[i].text)
- end
- end
- end
- function onKeyPressed( key, menu )
- if key == keys.enter then
- onItemSelected(menu)
- elseif key == keys.up then
- if selectedItem > 1 then
- selectedItem = selectedItem - 1
- end
- elseif key == keys.down then
- if selectedItem < #menu then
- selectedItem = selectedItem + 1
- end
- end
- end
- function onItemSelected( menu )
- menu[selectedItem].handler()
- end
- function main()
- while onMainMenu do
- term.clear()
- term.setCursorPos(1,1)
- print(colors.red, "Bardus Specifications Basic Underground Transcription Terminal\nProject Greenlight.\n")
- printMenu(mainMenu)
- event, key = os.pullEvent("key")
- onKeyPressed(key,mainMenu)
- end
- end
- -- End menu --
- monitorOutput()
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement