diff --git a/src/main/programs/turtle-treeFarmer.lua b/src/main/programs/turtle-treeFarmer.lua index a0a4d53..7628127 100644 --- a/src/main/programs/turtle-treeFarmer.lua +++ b/src/main/programs/turtle-treeFarmer.lua @@ -13,6 +13,36 @@ local function isWood(blockData) return false end +local function recursiveTreeFarming() + for i=0, 3 do + turtle.turnLeft() + blockFound, blockData = turtle.inspect() + if isWood(blockData) then + turtle.dig() + turtle.forward() + recursiveTreeFarming() + turtle.back() + end + end + + blockFound, blockData = turtle.inspectUp() + if isWood(blockData) then + turtle.digUp() + turtle.up() + recursiveTreeFarming() + turtle.down() + end + + blockFound, blockData = turtle.inspectDown() + if isWood(blockData) then + turtle.digDown() + turtle.down() + recursiveTreeFarming() + turtle.up() + end +end + + local function placeTree() for i=1, 16 do turtle.select(i) @@ -33,7 +63,7 @@ function main() while true do blockFound, blockData = turtle.inspect() if isWood(blockData) then - turtle.dig() + recursiveTreeFarming() sleep(1) placeTree() end