Added a passvie slave, which is much better
This commit is contained in:
parent
cde7c8a0ff
commit
392583a2e9
1 changed files with 41 additions and 0 deletions
41
pslave
Normal file
41
pslave
Normal file
|
@ -0,0 +1,41 @@
|
|||
-- Passive slaves which will get the right items from an external source (eg: diamond pipe)
|
||||
-- Slaves should be aligned with the master
|
||||
|
||||
|
||||
local args = { ... }
|
||||
local item = args[1]
|
||||
local threshold = 5
|
||||
|
||||
local function count_total()
|
||||
local c = 0
|
||||
for i = 1, 9 do c = c + turtle.getItemCount(i) end
|
||||
return c
|
||||
end
|
||||
|
||||
rednet.open("right")
|
||||
while true do
|
||||
-- we are using wireless to get the distance
|
||||
-- so the master should be aligned with the slaves
|
||||
local id, mess, dist = rednet.receive()
|
||||
if mess == args[1] then
|
||||
if count_total() < threshold then
|
||||
rednet.send(id, "empty")
|
||||
else
|
||||
rednet.send(id, "ack")
|
||||
|
||||
-- GO!!!
|
||||
turtle.down()
|
||||
for i = 1, dist do turtle.forward() end
|
||||
|
||||
print("I will leave again in 5 seconds...")
|
||||
sleep(5)
|
||||
print("Bye!")
|
||||
|
||||
for i = 1, dist do turtle.back() end
|
||||
turtle.up()
|
||||
rednet.send(id, "return")
|
||||
print("Back home :)")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in a new issue