local harvest = function()
local facing_block, block = turtle.inspect()
if not (facing_block and block.name == "minecraft:vine") then return false, "Not facing vine" end
- if not select(shears) then return false, "No shears available" end
+ if not transferAndSelect(shears) then return false, "No shears available" end
local cut, cut_error = automata.digBlock()
if not cut then return false, "Could not cut vine: " .. cut_error end
local collect, collect_error = automata.collectItems()
-- print(cmd, tostring(i).."/"..tostring(n))
-- end
return runCommand(rest)
+end
+
+-- rep : number of repeats -> string -> string | nil
+-- repeats string n times
+--
+local = function(n, str)
+ if not n or n < 0 then return nil end
+ local s = ""
+ for i 1, i do
+ s = s .. str
+ end
end
-
+
-- for testing purposes
local sequence = function()
print("pretending to unload stray items")
print("pretending to refuel")
print("pretending to stock up on shears")
- local cmd = "rf3hfhflfr2"
+ local enter_vineyard = "rf3hfhflfr2"
+ local harvest_north =
+ "d2h u4h"
+ .. rep(6,"u2h") .. "lfdrh"
+ .. rep(7,"d2h") .. "lfurh"
+ .. rep(7,"u2h") .. "lfdrh"
+ .. rep(7,"d2h") .. "lfurh"
+ .. rep(7,"u2h") .. "lfdrh"
print(cmd)
- return runCommand(cmd)
+ return runCommand(cmd..)
end
while true do