Advertisement
demon012

Minecraft - Big Reactor Regulator (ComputerPort)

Feb 27th, 2015
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.56 KB | None | 0 0
  1. Reactor = {
  2.     reactor = peripheral.wrap("back"),
  3.     pollTimer = os.startTimer(1),
  4.     discharging = false,
  5. }
  6. Reactor_mt = {__index = Reactor}
  7.  
  8. function Reactor:create()--{{{
  9.     local new_Reactor = {}
  10.     setmetatable(new_Reactor, Reactor_mt)
  11.     return new_Reactor
  12. end--}}}
  13.  
  14. function Reactor:checkPowerBuffer()
  15.     if self.reactor.getEnergyStored() > 9000000 then
  16.         self.reactor.setActive(false)
  17.         self.discharging = true
  18.     elseif self.reactor.getEnergyStored() < 1000000 then
  19.         self.reactor.setActive(true)
  20.         self.discharging = false
  21.     end
  22.     self.pollTimer = os.startTimer(1)
  23. end
  24.  
  25. function Reactor:calibratePower()
  26.     -- set reactor control rod to 100%
  27.     -- get power level
  28.     -- wait 30 seconds
  29.     -- get power level
  30.     -- check to see how much it has decreased by
  31.     -- work out consumption per tick.
  32.     -- look in control rod power table.
  33.     -- set the highest control rod level that generates more power than consumed.
  34. end
  35.  
  36. function Reactor:benchmarkControlRods()
  37.     -- get number of control rods
  38.     self.controlRods = self.reactor.getNumberOfControlRods()
  39.  
  40.     -- set all reactor control rods to 90%
  41.     self.reactor.setAllConmtrolRodLevels(90)
  42.  
  43.     -- get energy produced last tick
  44.     -- record in control rod power table
  45.     -- repeat for each control rod level
  46. end
  47.  
  48. react = Reactor
  49.  
  50. while true do
  51.     local event, param1, param2, param3 = os.pullEvent()
  52.     if event == "timer" then
  53.         if param1 == react.pollTimer then
  54.             react:checkPowerBuffer()
  55.         end
  56.     end
  57. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement