View difference between Paste ID: dB5m6q6A and UWNw3gAe
SHOW: | | - or go back to the newest paste.
1
local t = turtle
2
3
local function forward(x)
4
	for i = 1, x do
5
		t.forward()
6
	end
7
end
8
9
local function rTurn(x)
10
	for i = 1, x do
11
		t.turnRight()
12
	end
13
end
14
15
local function lTurn(x)
16
	for i = 1, x do
17
		t.turnLeft()
18
	end
19
end
20
21
local function up(x)
22
	for i = 1, x do
23
		t.up()
24
	end
25
end
26
27
local function down(x)
28
	for i = 1, x do
29
		t.down()
30
	end
31
end
32
33
local function back(x)
34
	for i = 1, x do
35
		t.back()
36
	end
37
end
38
39
local function gotoStart()
40
	rs.setAnalogOutput("left", 0)
41
	os.sleep(1)
42
	up(2)
43
	back(1)
44
	lTurn(1)
45
	forward(1)
46
end
47
48
local function rowUp()
49
	for i = 1, 4, 1 do
50
		t.dig()
51
		up(1)
52
	end
53
end
54
55
local function rowDown()
56
	for i = 1, 4, 1 do
57
		t.dig()
58
		down(1)
59
	end
60
end
61
62
local facing = t.detect()
63
64
local height = t.detect(down)
65
66
local function upDown()
67
	if height == true then
68
		rowUp()
69-
			if height == true then
69+
	else
70-
				rowUp()
70+
		rowDown()	
71-
				rTurn(1)
71+
72-
			else
72+
73-
				rowDown()
73+
74-
				rTurn(1)
74+
		rTurn(1)
75-
			end
75+
76-
		elseif facing == false then
76+
			upDown()
77-
			if height == true then
77+
		else
78-
				forward(1)
78+
			forward(1)
79-
				lTurn(1)
79+
			lTurn(1)
80-
				rowUp()
80+
			upDown()
81-
				rTurn(1)
81+
		end		
82-
			else
82+
83-
				forward(1)
83+
84-
				lTurn(1)
84+
85-
				rowDown()
85+
86-
				rTurn(1)
86+
87-
			end
87+
88-
		end
88+
89
	down(5)
90
	os.sleep(1)
91
	rs.setAnalogOutput("left", 15)
92
	os.sleep(3600)
93
end
94
95
while true do	
96
	gotoStart()
97
	rowUp()
98
	harvest(6)
99
	gotoHome()
100
end