Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local reactor = peripheral.wrap("bottom")
- local turbine = peripheral.wrap("BigReactors-Turbine_0")
- turn = 0
- seq = false
- lastDiff = 0
- while true do
- rsLvl = rs.getAnalogInput("right")
- if seq then print(rsLvl .. '.')
- else print(rsLvl) end
- seq = not seq
- active = reactor.getActive()
- if rsLvl < 3 and not active then
- reactor.setAllControlRodLevels(100)
- reactor.setActive(true)
- elseif rsLvl > 12 and active then
- reactor.setActive(false)
- end
- if active then
- diff = turbine.getRotorSpeed() - 1800
- if diff < -100 then
- steam = reactor.getHotFluidProducedLastTick()
- if steam < 780 then
- crLvl = reactor.getControlRodLevel(turn)
- reactor.setControlRodLevel(turn, crLvl - 1)
- turn = turn + 1
- turn = turn % 8
- elseif steam > 800 then
- turn = turn - 1
- turn = turn % 8
- crLvl = reactor.getControlRodLevel(turn)
- reactor.setControlRodLevel(turn, crLvl + 1)
- end
- elseif diff < 0 then
- if diff <= lastDiff then
- crLvl = reactor.getControlRodLevel(turn)
- reactor.setControlRodLevel(turn, crLvl - 1)
- turn = turn + 1
- turn = turn % 8
- elseif diff > lastDiff + 2 then
- turn = turn - 1
- turn = turn % 8
- crLvl = reactor.getControlRodLevel(turn)
- reactor.setControlRodLevel(turn, crLvl + 1)
- end
- elseif diff > 0 then
- if diff >= lastDiff then
- turn = turn - 1
- turn = turn % 8
- crLvl = reactor.getControlRodLevel(turn)
- reactor.setControlRodLevel(turn, crLvl + 1)
- end
- end
- lastDiff = diff
- end
- sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment