TheKojent icon

Turbo Tree Sorter

TheKojent | PRO | 12/26/14 10:53:35 PM UTC | 0 ⭐ | 337 👁️ | Never ⏰ | []
Lua |

2.3 KB

|

None

|

0 👍

/

0 👎

rednet.open("left")
 
local mainID = 15
local touchID = 16
local charcoal = false
 
local function turnAround()
    turtle.turnLeft()
    turtle.turnLeft()
end
 
local function goUp(count)
    for k = 1,count do
        turtle.up()
    end
end
 
local function goDown(count)
    for k = 1,count do
        turtle.down()
    end
end
 
while true do    --Main Loop
    while turtle.getItemCount() == 0 do    --Get items
        if not turtle.suck() then
            goDown(2)
            turtle.suckDown()
            goUp(2)
        end
        if turtle.getItemCount() == 0 then
            rednet.send(mainID, "home")
            sleep(.5)
            rednet.send(mainID, "2")
            sleep(60)
            rednet.send(mainID, "1")
            sleep(60)
        end
    end
    
    rednet.send(mainID, "0")
    sleep(.5)
    rednet.send(mainID, "away")
    
    if turtle.getItemCount() ~= 0 then
        local data = turtle.getItemDetail()
        if data.name == "minecraft:log" then         --Sort logs
            --[[
            rednet.send(touchID, "charcoal")
            while true do
                id, message = rednet.receive()
                if id == touchID then
                    charcoal = message
                    break
                end
            end
            ]]
            if charcoal then 
                turtle.turnLeft()
                if not turtle.drop() then
                    goUp(4)
                    turtle.turnLeft()
                    turtle.drop()
                    turtle.turnRight()
                    goDown(4)
                end
                turtle.turnRight()
            else 
                goUp(4)
                turnAround()
                turtle.drop()
                turnAround()
                goDown(4)
            end
        elseif data.name == "minecraft:sapling" then --Sort saplings
            goUp(1)
            if not turtle.drop() then
                goUp(3)
                turnAround()
                turtle.drop()
                turnAround()
                goDown(3)
            end
            goDown(1)
        elseif data.name == "minecraft:apple" then   --Sort apples
            turnAround()
            goUp(1)
            turtle.drop()
            goDown(1)
            turnAround()
        elseif data.name == "minecraft:coal" then    --Sort Charcoal and refuel (if needed)
            if turtle.getFuelLevel() < (turtle.getFuelLimit() - 5120) then
                turtle.refuel()
            else
                goDown(2)
                turtle.turnLeft()
                if not turtle.drop() then
                    goUp(6)
                    turnRight()
                    if not turtle.drop() then
                        turnAround()
                        turtle.drop()
                        turnAround()
                    end
                    goDown(4)
                else
                    goUp(2)
                    turtle.turnRight()
                end
            end
        else                        --Sort everything else
            goDown(1)
            turtle.turnRight()
            turtle.drop()
            turtle.turnLeft()
            goUp(1)
        end
    end
end
 
rednet.close("left")

Comments