Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Advaced Turtle Moviment
- -- by leo1553
- posX = 0
- posY = 0
- posZ = 0
- rot = 0
- local rotNames = {"Front", "Left", "Back", "Right"}
- --local args = {...}
- -- Move Functions
- function forward()
- if(turtle.forward() == true) then
- if(rot == 0) then
- posX = posX + 1
- elseif(rot == 1) then
- posZ = posZ + 1
- elseif(rot == 2) then
- posX = posX - 1
- elseif(rot == 3) then
- posZ = posZ - 1
- end
- return true
- end
- return false
- end
- function back()
- if(turtle.back() == true) then
- if(rot == 0) then
- posX = posX - 1
- elseif(rot == 1) then
- posZ = posZ - 1
- elseif(rot == 2) then
- posX = posX + 1
- elseif(rot == 3) then
- posZ = posZ + 1
- end
- return true
- end
- return false
- end
- function up()
- if(turtle.up() == true) then
- posY = posY + 1
- return true
- end
- return false
- end
- function down()
- if(turtle.down() == true) then
- posY = posY - 1
- return true
- end
- return false
- end
- function turnLeft()
- turtle.turnLeft()
- rot = rot - 1
- if(rot < 0) then
- rot = 3
- end
- end
- function turnRight()
- turtle.turnRight()
- rot = rot + 1
- if(rot > 3) then
- rot = 0
- end
- end
- -- Adv Move Functions
- function lookAt(finalRot)
- if(rot == finalRot) then
- return
- end
- while(rot ~= finalRot) do
- turnLeft()
- end
- end
- function moveToX(x)
- if(x > posX) then
- lookAt(0)
- else
- lookAt(2)
- end
- while(posX ~= x) do
- forward()
- printPos()
- end
- end
- function moveToY(y)
- if(y < posY) then
- while(posY ~= y) do
- down()
- printPos()
- end
- else
- while(posY ~= y) do
- up()
- printPos()
- end
- end
- end
- function moveToZ(z)
- if(z < posZ) then
- lookAt(3)
- else
- lookAt(1)
- end
- while(posZ ~= z) do
- forward()
- printPos()
- end
- end
- function moveTo(x, y, z) -- Move Only (Do Not Dig)
- moveToX(x)
- moveToZ(z)
- moveToY(y)
- end
- -- Debug Functions
- function getRotationName(rotation)
- return rotNames[rotation + 1]
- end
- function printPos()
- print("Current Pos:".. posX ..", ".. posY ..", ".. posZ .." - ".. getRotationName(rot))
- end
- -- API End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement