Glitchies

Power_Main

Oct 11th, 2013
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. rednet.open("right")
  2. local miners = {}
  3. local loaders = {}
  4. local power = {}
  5. local fuelBosses = {}
  6. local tArgs = {...}
  7.  
  8.  
  9. function findTurtles()
  10.    local gotMsg = true
  11.    local id, msg, dist
  12.    rednet.broadcast("checkIn")
  13.    while gotMsg do
  14.       id,msg,dist = rednet.receive(1)
  15.       if msg == "Miner" then
  16.          print(id..":"..msg)
  17.          miners[#miners+1] = id
  18.       elseif msg == "chunkloader" then
  19.          print(id..":"..msg)
  20.          loaders[#loaders+1] = id
  21.       elseif msg == "power" then
  22.          print(id..":"..msg)
  23.          power[#power+1] = id
  24.       elseif msg == "fuelBoss" then
  25.          print(id..":"..msg)
  26.          fuelBosses[#fuelBosses+1] = id
  27.          miners[#miners+1] = id
  28.       elseif msg == "Done" then
  29.       else
  30.          print("Done")
  31.          gotMsg = false
  32.       end
  33.    end      
  34. end
  35.  
  36.  
  37. function place()
  38.    turtle.select(1)
  39.    turtle.place()
  40.    turtle.down()
  41.    turtle.select(2)
  42.    turtle.place()
  43.    turtle.attack()
  44.    turtle.down()
  45.    turtle.down()
  46. end
  47.  
  48. function remove()
  49.    turtle.up()
  50.    turtle.up()
  51.    turtle.select(2)
  52.    turtle.dig()
  53.    turtle.up()
  54.    turtle.select(1)
  55.    turtle.dig()
  56. end
  57.  
  58. function powerGo()
  59.    for x,y in pairs(power) do
  60.       rednet.send(y, "powerPlace")
  61.    end
  62. end
  63.  
  64. function minersGo()
  65.    for x,y in pairs(miners) do
  66.       rednet.send(y, "cycle")
  67.    end
  68.    place()
  69.    local total = 0
  70.    while total < #miners do
  71.       local id,msg,dist=rednet.receive()
  72.       total = total+1
  73.    end  
  74.    remove()
  75. end
  76.  
  77. function powerStop()
  78.    for x,y in pairs(power) do
  79.       rednet.send(y, "powerRemove")
  80.    end
  81. end
  82.  
  83. function moveLoaders()
  84.    for x,y in pairs(loaders) do
  85.       rednet.send(y,"chunkLoad")
  86.       rednet.receive()
  87.       sleep(0.5)
  88.    end
  89. end
  90.  
  91. findTurtles()
  92. if tArgs[1] == nil then tArgs[1] = 1 end
  93. for i = 1,tArgs[1] do
  94.    print("Interation: "..tostring(i).." of "..tostring(tArgs[1]))
  95.    powerGo()
  96.    minersGo()
  97.    powerStop()
  98.    turtle.forward()
  99.    moveLoaders()
  100. end
Advertisement
Add Comment
Please, Sign In to add comment