Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local length = 22
- local width = 22
- local height = 80
- local forward_movement = 0
- local right_movement = 0
- local up_movement = 0
- local back_movement = 0
- local down_movement = 0
- local last = "left"
- local firststartup = true
- local treefound = false
- function firstStartup()
- if firststartup == true then
- if turtle.getItemCount(1) == 0 then
- print("put a chest in slot 1!")
- repeat
- sleep (1.1)
- until turtle.getItemCount(1) > 0
- end
- turtle.back()
- turtle.select(1)
- turtle.placeDown()
- turtle.forward()
- print("STARTING!")
- firststartup = false
- end
- end
- function forward()
- repeat
- turtle.dig()
- until not turtle.detect() == true
- turtle.forward()
- turtle.digUp()
- turtle.digDown()
- forward_movement = forward_movement + 1
- print("lenght: " .. forward_movement .. "/" .. length)
- end
- function moveRight()
- if right_movement == (width - 1) then
- back_movement = 0
- repeat
- turtle.back()
- back_movement = back_movement + 1
- until back_movement == length
- right_movement = right_movement + 1
- else
- turtle.turnRight()
- repeat
- turtle.dig()
- until not turtle.detect() == true
- turtle.forward()
- turtle.digUp()
- turtle.digDown()
- turtle.turnRight()
- right_movement = right_movement + 1
- print("width: " .. right_movement .. "/" .. width)
- last = "right"
- end
- end
- function moveLeft()
- if right_movement == (width - 1) then
- turtle.turnRight()
- turtle.turnRight()
- right_movement = right_movement + 1
- else
- turtle.turnLeft()
- turtle.dig()
- repeat
- turtle.dig()
- until not turtle.detect() == true
- turtle.forward()
- turtle.digUp()
- turtle.digDown()
- turtle.turnLeft()
- right_movement = right_movement + 1
- print("width: " .. right_movement .. "/" .. width)
- last = "left"
- end
- end
- function backToBase()
- right_movement = 0
- forward_movement = 0
- turtle.turnLeft()
- repeat
- turtle.forward()
- forward_movement = forward_movement + 1
- until forward_movement == (length - 1)
- turtle.turnRight()
- if up_movement == 0 then
- turtle.back()
- for q=1,16 do
- turtle.select(q)
- turtle.dropDown()
- end
- turtle.forward()
- turtle.up()
- turtle.up()
- turtle.up()
- elseif up_movement > 0 then
- repeat
- turtle.down()
- turtle.down()
- turtle.down()
- down_movement = down_movement + 3
- until down_movement == up_movement
- turtle.back()
- for q=1,16 do
- turtle.select(q)
- turtle.dropDown()
- end
- turtle.forward()
- repeat
- turtle.up()
- turtle.up()
- turtle.up()
- down_movement = down_movement - 3
- print(down_movement)
- until down_movement == 0
- end
- up_movement = up_movement + 3
- forward_movement = 0
- right_movement = 0
- last = "left"
- end
- function backToBase_noReturn()
- right_movement = 0
- forward_movement = 0
- turtle.turnLeft()
- repeat
- turtle.forward()
- forward_movement = forward_movement + 1
- until forward_movement == (length - 1)
- turtle.turnRight()
- if up_movement == 0 then
- turtle.back()
- for q=1,16 do
- turtle.select(q)
- turtle.dropDown()
- end
- elseif up_movement > 0 then
- repeat
- turtle.down()
- turtle.down()
- turtle.down()
- down_movement = down_movement + 3
- until down_movement == up_movement
- turtle.back()
- for q=1,16 do
- turtle.select(q)
- turtle.dropDown()
- end
- end
- forward_movement = 0
- right_movement = 0
- up_movement = 0
- back_movement = 0
- down_movement = 0
- last = "left"
- treefound = false
- end
- function findTree()
- turtle.forward()
- forward_movement = 0
- right_movement = 0
- repeat
- --if forward = true, it's okey
- -- else a tree is found and I need to go back the amount of times i went back
- -- same goes for the if right
- -- add booleans to check if I turned right orsomething?
- if treefound == false then
- if turtle.forward() then
- forward_movement = forward_movement + 1
- else
- treefound = true
- end
- end
- until ((forward_movement == (length / 2)) or (treefound == true))
- print("1")
- if treefound == true then
- repeat
- turtle.back()
- forward_movement = forward_movement - 1
- until forward_movement == 0
- else
- print("2")
- turtle.turnRight()
- repeat
- if treefound == false then
- if turtle.forward() then
- right_movement = right_movement + 1
- else
- treefound = true
- end
- end
- until ((right_movement == (width / 2)) or (treefound == true))
- print("3" .. right_movement)
- repeat
- turtle.back()
- right_movement = right_movement - 1
- until right_movement == 0
- turtle.turnLeft()
- repeat
- turtle.back()
- forward_movement = forward_movement - 1
- until forward_movement == 0
- end
- turtle.back()
- if treefound == true then
- print("Boom gevonden!")
- end
- -- if tree is still false. go back and sleep.
- forward_movement = 0
- right_movement = 0
- end
- function plantSeed()
- if turtle.getItemCount(1) > 0 then
- print("need to empty the chest pls")
- for q=1,16 do
- turtle.select(q)
- turtle.dropDown()
- end
- repeat
- sleep(2)
- until turtle.getItemCount(1) == 0
- print("getting seeds")
- end
- turtle.turnRight()
- turtle.forward()
- turtle.forward()
- turtle.forward()
- turtle.select(1)
- repeat
- turtle.suckDown(1)
- until turtle.getItemCount(1) > 0
- turtle.back()
- turtle.back()
- turtle.back()
- turtle.turnLeft()
- -- plant actual seed
- turtle.forward()
- forward_movement = 0
- right_movement = 0
- repeat
- if turtle.forward() then
- forward_movement = forward_movement + 1
- end
- until (forward_movement == (length / 2))
- turtle.turnRight()
- repeat
- if treefound == false then
- if turtle.forward() then
- right_movement = right_movement + 1
- else
- treefound = true
- end
- end
- until (right_movement == (width / 2))
- turtle.select(1)
- turtle.placeDown()
- repeat
- turtle.back()
- right_movement = right_movement - 1
- until right_movement == 0
- turtle.turnLeft()
- repeat
- turtle.back()
- forward_movement = forward_movement - 1
- until forward_movement == 0
- turtle.back()
- forward_movement = 0
- right_movement = 0
- end
- -- firstStartup()
- repeat
- findTree()
- if treefound == false then
- sleep(10)
- end
- until treefound == true
- if treefound == true then
- repeat
- repeat
- repeat
- forward()
- until forward_movement == length
- forward_movement = 0
- if last == "left" then
- moveRight()
- elseif last == "right" then
- moveLeft()
- end
- until right_movement == width
- print("upmovement: " .. up_movement .. "/" .. height)
- backToBase()
- print("upmovement: " .. up_movement .. "/" .. height)
- until up_movement >= height
- if up_movement >= height then
- repeat
- print("kaas1")
- repeat
- forward()
- until forward_movement == length
- forward_movement = 0
- if last == "left" then
- moveRight()
- elseif last == "right" then
- moveLeft()
- end
- until right_movement == width
- backToBase_noReturn()
- plantSeed()
- --plant new sapling
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement