Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --CAReactor by DeBrates
- --Activate/De-Activate Button
- --Rod Controller (+-10%)
- --Dynamic Statistics
- --1 Second RefreshRate
- --Or Manual Refresh on Touch
- --3x2 Monitor Size
- --Re-Wrap Your Peripherals if Necessary! (Wired Modem)
- while true do
- local r = peripheral.wrap("BigReactors-Reactor_0")
- local mon = peripheral.wrap("monitor_0")
- local reactorOnline = r.getActive() --Boolean
- local energyProduction = r.getEnergyProducedLastTick() --RF/t
- local energyStored = r.getEnergyStored() --RF
- local fuelTemp = r.getFuelTemperature() --C
- local caseTemp = r.getCasingTemperature() --C
- local fuelAmount = r.getFuelAmount() --mB
- local wasteAmount = r.getWasteAmount() --mB
- local fuelReact = r.getFuelReactivity() --%
- local rodLevel = r.getControlRodLevel(0) --%
- local fuelCons = r.getFuelConsumedLastTick() --mB
- mon.clear()
- mon.setBackgroundColor(colors.black)
- --Reactor Online
- mon.setCursorPos(1,1)
- mon.setTextColor(colors.white)
- mon.write("Active: ")
- if reactorOnline then
- mon.setTextColor(colors.lime)
- else
- mon.setTextColor(colors.red)
- end
- if reactorOnline then
- mon.write("True")
- else
- mon.write("False")
- end
- --RF/t Production
- mon.setCursorPos(1,2)
- mon.setTextColor(colors.white)
- mon.write("RF/t: ")
- if energyProduction <= 0 then
- mon.setTextColor(colors.red)
- else
- mon.setTextColor(colors.lime)
- end
- mon.write(math.floor(energyProduction).." RF/t")
- --Energy Stored
- mon.setCursorPos(1,3)
- mon.setTextColor(colors.white)
- mon.write("Energy Stored: ")
- if energyStored < 1000000 then
- mon.setTextColor(colors.red)
- else
- mon.setTextColor(colors.lime)
- end
- mon.write(math.floor(energyStored).." RF")
- --Fuel Temp
- mon.setCursorPos(1,4)
- mon.setTextColor(colors.white)
- mon.write("Fuel Temp: ")
- mon.setTextColor(colors.lime)
- mon.write(math.floor(fuelTemp).." C")
- --Case Temp
- mon.setCursorPos(1,5)
- mon.setTextColor(colors.white)
- mon.write("Case Temp: ")
- mon.setTextColor(colors.lime)
- mon.write(math.floor(caseTemp).." C")
- --Fuel Reactivity
- mon.setCursorPos(1,6)
- mon.setTextColor(colors.white)
- mon.write("Fuel React: ")
- mon.setTextColor(colors.lime)
- mon.write(math.floor(fuelReact).."%")
- --Fuel Amount
- mon.setCursorPos (1,7)
- mon.setTextColor(colors.white)
- mon.write("Fuel: ")
- mon.setTextColor(colors.lime)
- mon.write(math.floor(fuelAmount).." mB")
- --Fuel Consumption
- mon.setCursorPos(1,8)
- mon.setTextColor(colors.white)
- mon.write("Fuel Use: ")
- mon.setTextColor(colors.lime)
- if fuelCons > 0 then
- mon.write("~")
- end
- mon.write(math.floor(fuelCons * 100 / 10).." mB/t")
- --Waste Amount
- mon.setCursorPos (1,9)
- mon.setTextColor(colors.white)
- mon.write("Waste: ")
- if wasteAmount >= 900 then
- mon.setTextColor(colors.red)
- else
- mon.setTextColor(colors.lime)
- end
- mon.write(math.floor(wasteAmount).." mB")
- --Activation Button Display
- if reactorOnline then
- mon.setCursorPos(19,1)
- mon.setTextColor(colors.red)
- else
- mon.setCursorPos(22,1)
- mon.setTextColor(colors.lime)
- end
- if reactorOnline then
- mon.write("De-Activate")
- else
- mon.write("Activate")
- end
- --Rod Controller Display
- mon.setCursorPos(24,7)
- mon.setTextColor(colors.white)
- mon.write("Rods")
- if rodLevel == 0 then
- mon.setCursorPos(25,8)
- else
- mon.setCursorPos(24,8)
- end
- mon.write(rodLevel.."%")
- mon.setCursorPos(22,8)
- mon.write("<")
- mon.setCursorPos(29,8)
- mon.write(">")
- --Button Timers
- local myTimer = os.startTimer(1)
- local event, side, x, y = os.pullEvent()
- if event == "monitor_touch" and y == 1 and x < 30 and x > 18 and reactorOnline then
- r.setActive(false)
- elseif event == "monitor_touch" and y == 1 and x < 30 and x > 21 then
- r.setActive(true)
- elseif event == "monitor_touch" and y == 8 and x == 22 then
- r.setAllControlRodLevels(rodLevel - 10)
- elseif event == "monitor_touch" and y == 8 and x == 29 then
- r.setAllControlRodLevels(rodLevel + 10)
- end
- os.cancelTimer(myTimer)
- end
Add Comment
Please, Sign In to add comment