-- orientation: east 1 x+, south 2 z+, west 3 x-, north 4 z- local function turnTo(o1, o2) if o1 == o2 then return nil end if math.abs(o2 - o1) == 2 then turtle.turnLeft() turtle.turnLeft() elseif o2 - o1 == 1 or o2 - o1 == -3 then turtle.turnRight() else turtle.turnLeft() end end local function moveX(x1, x2, o1) if x1 == x2 then return o1 end local amount = x2 - x1 local o2 = amount > 0 and 1 or 3 turnTo(o1, o2) for ii = 1, math.abs(amount) do turtle.forward() end return o2 end local function travel(x1, y1, z1, o1, x2, y2, z2, o2, safe_y) local dx = x2 - x1 local dz = z2 - z1 local move_safe = dx ~= 0 or dz ~= 0 if move_safe then end end return { turnTo = turnTo, moveX = moveX }