Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- x = 0
- y = 0
- z = 0
- step = 0
- function deposit()
- for i = 2,16,1 do
- turtle.select(i)
- count = turtle.getItemCount(i)
- if count > 1 then
- turtle.drop(count - 1)
- end
- end
- end
- function writeFile()
- file = fs.open("Info", "w")
- file.writeLine(x)
- file.writeLine(y)
- file.writeLine(z)
- file.writeLine(step)
- file.close()
- end
- function readFile()
- file = fs.open("Info","r")
- fileData = {}
- local i = 0
- while i < 4 do
- line = file.readLine()
- table.insert(fileData, line)
- i = i + 1
- end
- file.close()
- x = tonumber(fileData[1])
- y = tonumber(fileData[2])
- z = tonumber(fileData[3])
- step = tonumber(fileData[4])
- end
- function algorithm()
- success, data = turtle.inspect()
- if data.name == "minecraft:leaves" then
- turtle.dig()
- turtle.forward()
- algorithm()
- turtle.back()
- end
- turtle.turnLeft()
- success, data = turtle.inspect()
- if data.name == "minecraft:leaves" then
- turtle.dig()
- turtle.forward()
- algorithm()
- turtle.back()
- end
- turtle.turnLeft()
- success, data = turtle.inspect()
- if data.name == "minecraft:leaves" then
- turtle.dig()
- turtle.forward()
- algorithm()
- turtle.back()
- end
- turtle.turnLeft()
- success, data = turtle.inspect()
- if data.name == "minecraft:leaves" then
- turtle.dig()
- turtle.forward()
- algorithm()
- turtle.back()
- end
- turtle.turnLeft()
- end
- function mineTree()
- turtle.digUp()
- turtle.up()
- algorithm()
- end
- function checkForTreeF()
- success, data = turtle.inspectUp()
- if data.name == "minecraft:log" then
- mineTree()
- z = z + 1
- checkForTreeF()
- turtle.down()
- z = z - 1
- if z == 0 then
- turtle.forward()
- y = y + 1
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.select(1)
- turtle.place()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- end
- end
- function checkForTreeB()
- success, data = turtle.inspectUp()
- if data.name == "minecraft:log" then
- mineTree()
- z = z + 1
- checkForTreeB()
- turtle.down()
- z = z - 1
- if z == 0 and y > 0 then
- turtle.forward()
- y = y - 1
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.select(1)
- turtle.place()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- if z == 0 and y == 0 then
- turtle.turnRight()
- turtle.forward()
- x = x - 1
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.select(1)
- turtle.place()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- end
- end
- function checkForTreeX()
- success, data = turtle.inspectUp()
- if data.name == "minecraft:log" then
- mineTree()
- z = z + 1
- checkForTreeX()
- turtle.down()
- z = z - 1
- if z == 0 then
- turtle.forward()
- x = x - 1
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.select(1)
- turtle.place()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- end
- end
- readFile()
- repeat
- if step == 0 then
- while y < 42 do
- checkForTreeF()
- turtle.dig()
- turtle.forward()
- y = y + 1
- checkForTreeF()
- end
- step = step + 1
- writeFile()
- end
- if step == 1 then
- turtle.turnRight()
- step = step + 1
- writeFile()
- end
- if step == 2 then
- while x < 6 do
- turtle.dig()
- turtle.forward()
- x = x + 1
- end
- step = step + 1
- writeFile()
- end
- if step == 3 then
- turtle.turnRight()
- step = step + 1
- writeFile()
- end
- if step == 4 then
- while y > 6 do
- checkForTreeB()
- turtle.dig()
- turtle.forward()
- y = y - 1
- checkForTreeB()
- end
- step = step + 1
- writeFile()
- end
- if step == 5 then
- turtle.turnLeft()
- step = step + 1
- writeFile()
- end
- if step == 6 then
- while x < 12 do
- turtle.dig()
- turtle.forward()
- x = x + 1
- end
- step = step + 1
- writeFile()
- end
- if step == 7 then
- turtle.turnLeft()
- step = step + 1
- writeFile()
- end
- if step == 8 then
- while y < 42 do
- checkForTreeF()
- turtle.dig()
- turtle.forward()
- y = y + 1
- checkForTreeF()
- end
- step = step + 1
- writeFile()
- end
- if step == 9 then
- turtle.turnRight()
- step = step + 1
- writeFile()
- end
- if step == 10 then
- while x < 18 do
- turtle.dig()
- turtle.forward()
- x = x + 1
- end
- step = step + 1
- writeFile()
- end
- if step == 11 then
- turtle.turnRight()
- step = step + 1
- writeFile()
- end
- if step == 12 then
- while y > 6 do
- checkForTreeB()
- turtle.dig()
- turtle.forward()
- y = y - 1
- checkForTreeB()
- end
- step = step + 1
- writeFile()
- end
- if step == 13 then
- turtle.turnLeft()
- step = step + 1
- writeFile()
- end
- if step == 14 then
- while x < 24 do
- turtle.dig()
- turtle.forward()
- x = x + 1
- end
- step = step + 1
- writeFile()
- end
- if step == 15 then
- turtle.turnLeft()
- step = step + 1
- writeFile()
- end
- if step == 16 then
- while y < 42 do
- checkForTreeF()
- turtle.dig()
- turtle.forward()
- y = y + 1
- checkForTreeF()
- end
- step = step + 1
- writeFile()
- end
- if step == 17 then
- turtle.turnRight()
- step = step + 1
- writeFile()
- end
- if step == 18 then
- while x < 30 do
- turtle.dig()
- turtle.forward()
- x = x + 1
- end
- step = step + 1
- writeFile()
- end
- if step == 19 then
- turtle.turnRight()
- step = step + 1
- writeFile()
- end
- if step == 20 then
- while y > 6 do
- checkForTreeB()
- turtle.dig()
- turtle.forward()
- y = y - 1
- checkForTreeB()
- end
- step = step + 1
- writeFile()
- end
- if step == 21 then
- turtle.turnLeft()
- step = step + 1
- writeFile()
- end
- if step == 22 then
- while x < 36 do
- turtle.dig()
- turtle.forward()
- x = x + 1
- end
- step = step + 1
- writeFile()
- end
- if step == 23 then
- turtle.turnLeft()
- step = step + 1
- writeFile()
- end
- if step == 24 then
- while y < 42 do
- checkForTreeF()
- turtle.dig()
- turtle.forward()
- y = y + 1
- checkForTreeF()
- end
- step = step + 1
- writeFile()
- end
- if step == 25 then
- turtle.turnRight()
- step = step + 1
- writeFile()
- end
- if step == 26 then
- while x < 42 do
- turtle.dig()
- turtle.forward()
- x = x + 1
- end
- step = step + 1
- writeFile()
- end
- if step == 27 then
- turtle.turnRight()
- step = step + 1
- writeFile()
- end
- if step == 28 then
- while y > 0 do
- checkForTreeB()
- turtle.dig()
- turtle.forward()
- y = y - 1
- checkForTreeB()
- end
- step = step + 1
- writeFile()
- end
- if step == 29 then
- while x > 0 do
- checkForTreeX()
- turtle.dig()
- turtle.forward()
- x = x - 1
- checkForTreeX()
- end
- step = step + 1
- writeFile()
- end
- if step == 30 then
- turtle.dig()
- turtle.forward()
- step = step + 1
- writeFile()
- end
- if step == 31 then
- turtle.dig()
- turtle.forward()
- step = step + 1
- writeFile()
- end
- if step == 32 then
- turtle.dig()
- turtle.forward()
- step = step + 1
- writeFile()
- end
- if step == 33 then
- deposit()
- turtle.back()
- step = step + 1
- writeFile()
- end
- if step == 34 then
- turtle.back()
- step = step + 1
- writeFile()
- end
- if step == 35 then
- turtle.back()
- step = step + 1
- writeFile()
- end
- if step == 36 then
- turtle.turnRight()
- step = 0
- writeFile()
- end
- until redstone.getInput("bottom") == 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement