View difference between Paste ID: iW2kRU1b and 8HJrrCUF
SHOW: | | - or go back to the newest paste.
1
tArgs = {...}
2
3
local fuelSlot, chestSlot = 16, 15
4
local height = 0
5
6
function goUp(distance)
7
  if distance == nil then distance = 1 end
8
  shell.run("go", "up", distance)
9
end
10
11
function goDown(distance)
12
  if distance == nil then distance = 1 end
13
  shell.run("go", "up", distance)
14
end
15
16
function goForward(distance)
17
  if distance == nil then distance = 1 end
18
  shell.run("go", "forward", distance)
19
end
20
21
function goBack(distance)
22
  if distance == nil then distance = 1 end
23
  shell.run("go", "back", distance)
24
end
25
26
function digUp(distance)
27
  if distance == nil then distance = 1 end
28
  for i = 1, distance do
29
    while turtle.detectUp() == true do
30
	  turtle.digUp()
31
	  sleep(0.5)
32
	end
33
	if distance > 1 then
34
	  goUp()
35
	end
36
  end
37
end
38
39
function dig(distance)
40
  if distance == nil then distance = 1 end
41
  for i = 1, distance do
42
    while turtle.detect() == true do
43
	  turtle.dig()
44
	  sleep(0.5)
45
	end
46
  end
47
end
48
49
function digDown(distance)
50
  if distance == nil then distance = 1 end
51
  for i = 1, distance do
52
	turtle.digDown()
53
	sleep(0.5)
54
	if distance > 1 then
55
	  goDown()
56
	end
57
  end
58
end
59
60
function getFuel()
61
  return turtle.getFuelLevel()
62
end
63
64
function returnToStart()
65
  goDown(height)
66
  height = 0
67
  goBack()
68
end
69
70
function dropLoad()
71
  shell.run("turn", "around")
72
  for i = 1, 14 do
73
    turtle.select(i)
74
	turtle.drop()
75
  end
76
  turtle.select(1)
77
end
78
79
if tArgs[1] == "-h" then
80
  print("Usage: lumberjack <redwood>")
81
elseif tArgs[1] == nil then
82
  if turtle.getItemCount(chestSlot) == 0 or turtle.getItemCount(fuelSlot) == 0 then
83
    print("Please insert a chest into slot "..chestSlot.." and fuel into slot "..fuelSlot..", then run lumberjack again")
84
  else 	 
85
    shell.run("turn", "around")
86
    turtle.select(chestSlot)
87
	turtle.place()
88
	turtle.select(1)
89
	shell.run("turn", "around")
90
	dig()
91
	goForward()
92
	while turtle.detectUp() == true do
93
	  digUp()
94
	  goUp()
95
	  height = height + 1
96
	  if getFuel() == 0 then
97
	    turtle.select(fuelSlot)
98
		turtle.refuel(5)
99
		turtle.select(1)
100
	  end
101
	end
102
	returnToStart()
103
	dropLoad()
104
  end
105
elseif tArgs[1] == "redwood" then
106
  if turtle.getItemCount(chestSlot) == 0 or turtle.getItemCount(fuelSlot) == 0 then
107
    print("Please insert a chest into slot "..chestSlot.." and fuel into slot "..fuelSlot..", then run lumberjack again")
108
  else
109
    shell.run("turn", "around")
110
	turtle.select(chestSlot)
111
	turtle.place()
112
	turtle.select(1)
113
	shell.run("turn", "around")
114
	dig()
115
	goForward()
116
	while turtle.detectUp() == true do
117
	  shell.run("turn", "right")
118
	  dig()
119
	  shell.run("turn", "left")
120
	  dig()
121
	  goForward()
122
	  shell.run("turn", "right")
123
	  dig()
124
	  shell.run("turn", "left")
125
	  goBack()
126
	  digUp()
127
	  goUp()
128
	  height = height + 1
129
	  if getFuel() == 0 then
130
	    turtle.select(fuelSlot)
131
		turtle.refuel(5)
132
		turtle.select(1)
133
	  end
134
	end
135
	if turtle.detect() == true then
136
	  dig()
137
	  shell.run("turn", "right")
138
	  dig()
139
	  shell.run("turn", "left")
140
	  goForward()
141
	  shell.run("turn", "right")
142
	  dig()
143
	  shell.run("turn", "left")
144
	  goBack()
145
	end
146
	returnToStart()
147
	dropLoad()
148
  end
149
else
150
  print("Usage: lumberjack <redwood>")
151
end