Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local reactor = peripheral.find("BigReactors-Reactor")
- local capacitor = peripheral.find("enderio:tile_cap_bank")
- local function controlRodInsertionLevelByEnergyStored(goal_percentage)
- local total_energy = reactor.getEnergyStored()
- local energy_capacity = reactor.getEnergyCapacity()
- if capacitor ~= nil then
- total_energy = total_energy + capacitor.getEnergyStored()
- energy_capacity = energy_capacity + capacitor.getEnergyCapacity()
- end
- return math.floor(math.min(total_energy / energy_capacity * 100 / (goal_percentage / 100), 100))
- end
- local function main(goal_percentage)
- while true do
- local control_rod_insertion_level = controlRodInsertionLevelByEnergyStored(goal_percentage)
- reactor.setAllControlRodLevels(control_rod_insertion_level)
- if control_rod_insertion_level < 80 then -- we may as well shut off at eighty percent to save on some fuel
- reactor.setActive(true)
- else
- reactor.setActive(false)
- end
- term.clear()
- term.setCursorPos(1, 1)
- term.write(control_rod_insertion_level)
- sleep(10)
- end
- end
- main(30)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement