Advertisement
chronicrv

reactor_control

Aug 6th, 2019
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.33 KB | None | 0 0
  1. local energyPylon = peripheral.wrap("back")
  2.  
  3. print("energyPylon is wrapped")
  4.  
  5. rednet.open("right")
  6.  
  7. print("rednet Open")
  8.  
  9. local reactor = peripheral.wrap("BigReactors-Reactor_0")
  10.  
  11. rechargeNeeded = false
  12. reachedTop = false
  13. reactorStatus = "Deactivated"
  14.  
  15. local function getCurrentEnergyPercentage()
  16.     maxEnergy = energyPylon.getMaxEnergyStored()
  17.     currentEnergy = energyPylon.getEnergyStored()
  18.     sleep (2)
  19.     energyPercentage = ((currentEnergy * 100)/ maxEnergy)
  20.     energyPercentage = math.floor(string.sub(energyPercentage,0,5))
  21.     print ("Current energy percentage is ",currentEnergyPercentage,"%")
  22.     if reactor.getActive() then
  23.         reactorStatus = "Active"
  24.     else
  25.         reactorStatus = "Deactivated"
  26.     end
  27.     print ("Reactor is ",reactorStatus)
  28.     rednet.broadcast({currentEnergyPercentage,reactorStatus},"coreEnergy")
  29.     return energyPercentage
  30. end
  31.  
  32.  
  33. while true do
  34.  
  35.  
  36.     currentEnergyPercentage = getCurrentEnergyPercentage()
  37.  
  38.     if currentEnergyPercentage <= 45 and reachedTop == false then
  39.  
  40.     rechargeNeeded = true
  41.     print ("recharging Core")
  42.  
  43.     end
  44.  
  45.     if currentEnergyPercentage >= 95 then
  46.         reachedTop=true
  47.     end
  48.  
  49.     if rechargeNeeded == true then
  50.     reactor.setActive(true)
  51.     print("turning on Reactor")
  52.  
  53. elseif reachedTop == true then
  54.     reactor.setActive(false)
  55.     print("recharge finished, turning off reactor")
  56. end
  57.  
  58. sleep(30)
  59.  
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement