-
Notifications
You must be signed in to change notification settings - Fork 8
/
lavarefuelline.lua
69 lines (51 loc) · 1.1 KB
/
lavarefuelline.lua
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
local x, y, direction = 0, 0, 1
local length, maxdepth = ...
length, maxdepth = tonumber(length), tonumber(maxdepth)
if not length then
print("usage: lavarefuelline <length> [maxdepth = -10]")
return
end
if not maxdepth then
maxdepth = -10
end
if maxdepth >= 0 then
print("maxdepth must be negative")
return
end
local function up()
while not turtle.up() do turtle.digUp() end
y = y + 1
end
local function down()
while not turtle.down() do turtle.digDown() end
y = y - 1
end
local function fwd()
while not turtle.forward() do turtle.dig() end
x = x + direction
end
local function turnAround()
turtle.turnRight()
turtle.turnRight()
direction = - direction
end
turtle.select(1)
if turtle.getItemCount(1) == 0 or turtle.getItemDetail(1).name ~= "minecraft:bucket" then
print("please place an empty bucket in slot #1")
return
end
while x < length do
fwd()
while not turtle.detectDown() and y > maxdepth do
if turtle.placeDown() then turtle.refuel() end
down()
end
while y < 0 do
up()
end
end
turnAround()
while x > 0 do
fwd()
end
print("New fuel level is " .. turtle.getFuelLevel())