summaryrefslogtreecommitdiff
path: root/nav.lua
blob: 354897afdca5b5a85465ec5e73c84bec7131593b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
-- 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 }