Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Settings
- local interface_enabled = true
- local reactor_auto_enable = false
- local reactor_minimumbuffer = 75
- local reactor_maximumbuffer = 90
- local reactor_adjustrods = true
- local repeat_interval = 0.5
- local reactor = peripheral.wrap("back")
- local term = term
- local reactor_data = {}
- local function clearData()
- reactor_data = {}
- end
- local function termClear()
- term.clear()
- term.setCursorPos(1,1)
- end
- local function readReactor()
- reactor_data.active = reactor.getActive()
- local energystats = reactor.getEnergyStats()
- reactor_data.generation = math.floor(energystats.energyProducedLastTick)
- reactor_data.capacity = energystats.energyCapacity
- reactor_data.energy = energystats.energyStored
- local temp = 100*reactor_data.energy/reactor_data.capacity
- if (temp - math.floor(temp) > 0.5) then
- reactor_data.energyPercentage = math.floor(temp)+1
- else
- reactor_data.energyPercentage = math.floor(temp)
- end
- end
- local function interface()
- termClear()
- print("Active: "..tostring(reactor_data.active))
- print("Energy: "..reactor_data.energyPercentage.."%")
- print("")
- print("Settings")
- print("Buffer Limits: "..tostring(reactor_minimumbuffer).."/"..reactor_maximumbuffer)
- if (reactor_auto_enable) then
- print("Reactor Disables over the Upper Limit")
- print("Reactor Enables under the Lower Limit")
- end
- if (reactor_adjustrods) then
- print("Reactor will adjust Rods")
- end
- end
- local function adjust()
- if (reactor_adjustrods) then
- if (reactor_data.energyPercentage < reactor_minimumbuffer) then
- reactor.setAllControlRodLevels(0)
- elseif (reactor_data.energyPercentage > reactor_maximumbuffer) then
- reactor.setAllControlRodLevels(100)
- else
- reactor.setAllControlRodLevels(reactor_data.energyPercentage)
- end
- end
- if (reactor_auto_enable) then
- if (reactor_data.energyPercentage < reactor_minimumbuffer) then
- reactor.setActive(true)
- elseif (reactor_data.energyPercentage > reactor_maximumbuffer) then
- reactor.setActive(false)
- end
- end
- end
- local function loop()
- while true do
- clearData()
- readReactor()
- adjust()
- if (interface_enabled) then
- interface()
- end
- sleep(repeat_interval)
- end
- end
- loop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement