local levelHeight = 3 local currLevel = 0 local maxLevel = 5 function refuel() if turtle.getFuelLevel() < 5 then turtle.select(1) turtle.refuel(1) end end function startup() refuel() turtle.up() turtle.forward() turtle.forward() turtle.forward() turtle.forward() turtle.forward() end function harvest(level) goToLevel(level) turtle.turnLeft() turtle.turnLeft() turtle.forward() turtle.forward() turtle.forward() turtle.turnRight() turtle.forward() turtle.forward() turtle.forward() turtle.forward() turtle.turnRight() for j=1, 4 do for i=1, 8 do refuel() turtle.forward() harvestCrop() end turtle.turnRight() turtle.forward() harvestCrop() turtle.turnRight() for i=1, 8 do refuel() turtle.forward() harvestCrop() end turtle.turnLeft() turtle.forward() harvestCrop() turtle.turnLeft() end for i=1, 8 do refuel() turtle.forward() harvestCrop() end turtle.turnLeft() turtle.forward() turtle.forward() turtle.forward() turtle.forward() turtle.turnLeft() turtle.forward() turtle.forward() turtle.forward() turtle.forward() turtle.forward() turtle.turnLeft() turtle.turnLeft() end function harvestCrop() a, b = turtle.inspectDown() if a then if b.state.age == 3 then turtle.select(2) turtle.digDown() turtle.placeDown() end end end function goToLevel(level) if level == currLevel then return end refuel() turtle.forward() for i=2, 16 do turtle.select(i) turtle.dropDown() end if currLevel < level then for i=1, level - currLevel do for i=1, levelHeight do refuel() turtle.up() end end end if currLevel > level then for i=1, currLevel - level do for i=1, levelHeight do refuel() turtle.down() end end end turtle.back() end function checkHarvest() for level=0, maxLevel do harvest(level) end end startup() while true do checkHarvest(currLevel) goToLevel(0) os.sleep(60 * 5) end