View difference between Paste ID: KhvuNeG1 and 8FipCmH8
SHOW: | | - or go back to the newest paste.
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-
function checkFuel()
36+
37-
   if turtle.getFuelLevel() < 900 then
37+
38-
      rednet.send(fuelBosses[1], "fuelBoss")
38+
39
   turtle.place()
40-
      turtle.select(3)
40+
41-
      turtle.refuel()
41+
42-
      turtle.select(1)
42+
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