Joshua Moerman
13 years ago
2 changed files with 44 additions and 13 deletions
@ -1,24 +1,55 @@ |
|||||
local args = { ... } |
local args = { ... } |
||||
|
local threshold = 5 |
||||
|
|
||||
|
local function count_total() |
||||
|
local c = 0 |
||||
|
for i = 1, 9 do c = c + turtle.getItemCount(i) end |
||||
|
return c |
||||
|
end |
||||
|
|
||||
|
local function count_space() |
||||
|
local c = 0 |
||||
|
for i = 1, 9 do c = c + turtle.getItemSpace(i) end |
||||
|
return c |
||||
|
end |
||||
|
|
||||
rednet.open("right") |
rednet.open("right") |
||||
while true do |
while true do |
||||
-- we are using wireless to get the distance |
-- we are using wireless to get the distance |
||||
-- so the master should be aligned with the slaves |
-- so the master should be aligned with the slaves |
||||
local id, mess, dist = rednet.receive() |
local id, mess, dist = rednet.receive(1) |
||||
if mess == args[1] then |
if mess == args[1] then |
||||
rednet.send(id, "ack") |
if count_total() < threshold then |
||||
turtle.up() |
rednet.send(id, "empty") |
||||
for i = 1, dist do turtle.back() end |
else |
||||
|
rednet.send(id, "ack") |
||||
|
|
||||
|
-- Wait for the pipes to be empty (and not leak) |
||||
|
rs.setOutput("left", false) |
||||
|
sleep(1) |
||||
|
|
||||
print("I will leave again in 5 seconds...") |
-- GO!!! |
||||
sleep(5) |
turtle.up() |
||||
print("Bye!") |
for i = 1, dist do turtle.forward() end |
||||
|
|
||||
for i = 1, dist do turtle.forward() end |
print("I will leave again in 5 seconds...") |
||||
turtle.down() |
sleep(5) |
||||
rednet.send(id, "return") |
print("Bye!") |
||||
|
|
||||
|
for i = 1, dist do turtle.back() end |
||||
|
turtle.down() |
||||
|
rednet.send(id, "return") |
||||
|
print("Back home :)") |
||||
|
end |
||||
end |
end |
||||
end |
|
||||
|
|
||||
-- TODO: activate redstone for the buildcraft engine |
-- This will power the engine next to the turtle |
||||
|
-- We don't want to fill if we're full |
||||
|
-- NOTE: we can't use the side of the modem... |
||||
|
if count_space() > threshold then |
||||
|
rs.setOutput("left", true) |
||||
|
else |
||||
|
rs.setOutput("left", false) |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
Reference in new issue