5 posts
Posted 06 June 2015 - 01:41 AM
while true do
p1,p2 = turtle.inspectDown()
if p1 == true then
for k,v in pairs(p2) do
if v == "minecraft:stone" then
turtle.forward()
end
if v ~= "minecraft:stone" then
turtle.back()
turtle.left()
end
end
end
end
this code is a path follower that uses turtle.inspect() to find the path. The problem I have is that the turtle moves forward but immediately moves back and it does this continually. The turtle moves on the stone and never gets off the stone. I cannot figure out the reason for this. Please help.
Edited on 05 June 2015 - 11:50 PM
1080 posts
Location
In the Matrix
Posted 06 June 2015 - 01:52 AM
Usually the turtle.inspect table returned is formatted like this, mind you I don't know the exact one.
{
name = "minecraft:stone"
id = 2
meta = "fd"
}
If you notice, there's the name and id at least, so what's happening is this:
Loop one of for k,v in pairs(p2) do
k = 'name'
v = 'minecraft:stone'
so the turtle moves forward
loop two of the for loop
k = 'id'
v = 2
so the turtle then moves backwards.
Fix you want.
if p1 then
if p2.name == "minecraft:stone" then
turtle.forward()
else
turtle.back()
turtle.turnLeft()
end
end
5 posts
Posted 06 June 2015 - 01:56 AM
thanks I try it