65 lines
1.3 KiB
Lua
65 lines
1.3 KiB
Lua
local max = 15
|
|
local init = 3
|
|
local rateStep = 0.10
|
|
local smallRateStep = 0.05
|
|
local min = 1
|
|
|
|
local function getValue()
|
|
return reactor.getBurnRate() or init
|
|
end
|
|
|
|
local function color()
|
|
local value = getValue()
|
|
return colors.black
|
|
end
|
|
|
|
|
|
|
|
local function watch()
|
|
while true do
|
|
sleep(0.05) -- Update every tenth second
|
|
end
|
|
end
|
|
|
|
|
|
local function stepUp()
|
|
local value = getValue()
|
|
if value < max then
|
|
reactor.setBurnRate(value + rateStep)
|
|
end
|
|
end
|
|
|
|
local function slowStepDown()
|
|
local value = getValue()
|
|
if value > min then
|
|
reactor.setBurnRate(value - smallRateStep)
|
|
end
|
|
end
|
|
|
|
local function slowStepUp()
|
|
local value = getValue()
|
|
if value < max then
|
|
reactor.setBurnRate(value + smallRateStep)
|
|
end
|
|
end
|
|
|
|
local function stepDown()
|
|
local value = getValue()
|
|
if value > min then
|
|
reactor.setBurnRate(value - rateStep)
|
|
end
|
|
end
|
|
|
|
local function watch()
|
|
print("Setting Default Burn Rate to: " .. init)
|
|
reactor.setBurnRate(init)
|
|
end
|
|
|
|
local function report()
|
|
local color = color()
|
|
monitor.setBackgroundColor(color)
|
|
value = getValue()
|
|
monitor.clearLine()
|
|
monitor.write("Burn Rate: " .. value)
|
|
end
|
|
return { report = report, watch = watch, stepUp = stepUp, stepDown = stepDown, slowStepDown = slowStepDown, slowStepUp = slowStepUp } |