Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Reactor = {
- reactor = peripheral.wrap("back"),
- pollTimer = os.startTimer(1),
- discharging = false,
- }
- Reactor_mt = {__index = Reactor}
- function Reactor:create()--{{{
- local new_Reactor = {}
- setmetatable(new_Reactor, Reactor_mt)
- return new_Reactor
- end--}}}
- function Reactor:checkPowerBuffer()
- if self.reactor.getEnergyStored() > 9000000 then
- self.reactor.setActive(false)
- self.discharging = true
- elseif self.reactor.getEnergyStored() < 1000000 then
- self.reactor.setActive(true)
- self.discharging = false
- end
- self.pollTimer = os.startTimer(1)
- end
- function Reactor:calibratePower()
- -- set reactor control rod to 100%
- -- get power level
- -- wait 30 seconds
- -- get power level
- -- check to see how much it has decreased by
- -- work out consumption per tick.
- -- look in control rod power table.
- -- set the highest control rod level that generates more power than consumed.
- end
- function Reactor:benchmarkControlRods()
- -- get number of control rods
- self.controlRods = self.reactor.getNumberOfControlRods()
- -- set all reactor control rods to 90%
- self.reactor.setAllConmtrolRodLevels(90)
- -- get energy produced last tick
- -- record in control rod power table
- -- repeat for each control rod level
- end
- react = Reactor
- while true do
- local event, param1, param2, param3 = os.pullEvent()
- if event == "timer" then
- if param1 == react.pollTimer then
- react:checkPowerBuffer()
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement