76 lines
1.4 KiB
Lua
76 lines
1.4 KiB
Lua
woodList = {
|
|
[0] = "minecraft:oak_log",
|
|
[1] = "minecraft:dark_oak_log",
|
|
[2] = "minecraft:spruce_log",
|
|
}
|
|
|
|
local function isWood(blockData)
|
|
for i=0, #woodList do
|
|
if blockData["name"] == woodList[i] then
|
|
return true
|
|
end
|
|
end
|
|
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)
|
|
local itemDetail = turtle.getItemDetail()
|
|
|
|
if itemDetail ~= nil then
|
|
if itemDetail.name == "minecraft:oak_sapling" then
|
|
local blockFound, blockData = turtle.inspect()
|
|
if not blockFound then
|
|
turtle.place()
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function main()
|
|
while true do
|
|
blockFound, blockData = turtle.inspect()
|
|
if isWood(blockData) then
|
|
recursiveTreeFarming()
|
|
sleep(1)
|
|
placeTree()
|
|
end
|
|
sleep(10)
|
|
print("waiting...")
|
|
end
|
|
end
|
|
|
|
main()
|