TheKojent icon

Turbo Tree Harvester

TheKojent | PRO | 12/26/14 09:58:12 PM UTC | 0 ⭐ | 359 👁️ | Never ⏰ | []
Lua |

1.62 KB

|

None

|

0 👍

/

0 👎

rednet.open("right")
 
local mainID = 15
local trees = 4    --Number of trees per row
 
local function forward(count)
    for k = 1,count do
        turtle.forward()
    end
end
 
local function turnAround()
    turtle.turnLeft()
    turtle.turnLeft()
end
 
local function harvest()
    turtle.dig()
    for k = 1,6 do
        turtle.digUp()
        turtle.up()
        turtle.dig()
    end
    for k = 1,6 do
        turtle.down()
    end
    turtle.select(2)
    turtle.place()
end
 
local function checkTree()
    turtle.turnRight()
    turtle.select(1)
    if turtle.compare() then
        harvest()
    end
    turtle.turnLeft()
end
 
local function checkTrees(count)
    checkTree()
    for m = 1,(count - 1) do
        forward(6)
        checkTree()
    end
end
 
while true do
    if turtle.getFuelLevel() < (turtle.getFuelLimit() - 5120) then    --Check fuel
        turnAround()
        turtle.forward()
        turtle.select(16)
        turtle.suck()
        turtle.refuel()
        turnAround()
        turtle.forward()
        turtle.select(1)
    end
    
    --Check and harvest trees
    rednet.send(mainID, "away")
    forward(5)
    checkTrees(trees)
    turtle.turnLeft()
    forward(4)
    turtle.turnLeft()
    checkTrees(trees)
    forward(5)
    
    if turtle.getItemCount(2) < (2 * trees) then    --Check saplings
        turtle.select(2)
        turtle.suck(64 - (2 * trees))
        turtle.select(1)
    end
    
    for k = 1,14 do --Dump inventory
        turtle.select(k+2)
        turtle.dropDown()
    end
    
    --Return Home
    turtle.turnLeft()
    forward(4)
    turtle.turnLeft()
    rednet.send(mainID, "home")
    local a = 15
    while a ~= 0 do
        rednet.send(mainID, tostring(a))
        print(tostring(a))
        sleep(60)
        a = a - 1
    end
    rednet.send(mainID, tostring(a))
end
 
rednet.close("right")

Comments