GNOOR1S

Reactor Rednet Information for CC

Jun 11th, 2022 (edited)
1,348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.34 KB | None | 0 0
  1. local modemSide = "right"
  2. local reactorSide = "left"
  3. local broadcastProtocol = "reactor"
  4. local receiveProtocol = "reactor_talk"
  5.  
  6. local reactor = nil
  7. local maxEnergy = 10000000
  8.  
  9. -- this application broadcasts using the protocols of reactor
  10. function init()
  11.    
  12.     if os.getComputerLabel() == nil then
  13.         os.setComputerLabel(os.getComputerID())
  14.         print("No label was set for this computer, one was created.. "..os.getComputerLabel())
  15.     end
  16.     print("openning network on right side")
  17.     rednet.open(modemSide)
  18.     reactor = peripheral.wrap(reactorSide)
  19. end
  20.  
  21. function backend_command()
  22.     local id, msg = rednet.receive(receiveProtocol)
  23.     if msg == "coma" then
  24.         sleep(60 * 10)
  25.         reactor.setActive(false)
  26.         os.shutdown()
  27.     end
  28. end
  29.  
  30. function check()
  31.     if reactor.getEnergyStored() > maxEnergy / 2 then
  32.         reactor.setActive(false)
  33.     elseif reactor.getEnergyStored() < maxEnergy / 8 then
  34.         reactor.setActive(true)
  35.     end
  36. end
  37.  
  38. function run()
  39.     init()
  40.     while true do
  41.         check()
  42.    
  43.         local packet = {
  44.             ["current"] = reactor.getEnergyStored(),
  45.             ["max"] = maxEnergy, ['active'] = reactor.getActive()
  46.         }
  47.    
  48.         rednet.broadcast(packet, broadcastProtocol)
  49.         sleep(.5)
  50.     end
  51. end
  52.  
  53. parallel.waitForAll(run, backend_command)
  54.  
Add Comment
Please, Sign In to add comment