SHOW:
|
|
- or go back to the newest paste.
1 | --[[ | |
2 | - | 2013 (c) psychedelixx |
2 | + | 2014 (c) psychedelixx |
3 | - | Minecraft Turtle: Chest Tunnel |
3 | + | Minecraft Turtle: Chest Tunnel (Robust) |
4 | - | 2013-05-22 |
4 | + | 2014-03-25 |
5 | ||
6 | - | Digs a room with specified dimensions. |
6 | + | Digs a tunnel and places mined items in chests. |
7 | ||
8 | Robust API: | |
9 | http://computercraft.info/wiki/Robust_Turtle_API | |
10 | ||
11 | - | - type "pastebin get YijBG3sz ctunnel " |
11 | + | |
12 | - | - type "ctunnel <length> [<return (0|1)>]" |
12 | + | |
13 | (to give your turtle an unique name so it remembers its programs) | |
14 | - type "pastebin get cMBykysF ct" | |
15 | - type "ct <length> [<return (0|1)>]" | |
16 | - place chests in slot 15 | |
17 | - place torches in slot 16 | |
18 | - | ret = 0 |
18 | + | |
19 | os.loadAPI("t") | |
20 | i = 0 | |
21 | ret = 1 | |
22 | - | if turtle.getFuelLevel() < 2 then |
22 | + | |
23 | - | turtle.refuel() |
23 | + | |
24 | i = i+1 | |
25 | ||
26 | print("----------------") | |
27 | print("Remaining fuel: " .. turtle.getFuelLevel()) | |
28 | print("Digged: " .. i .. "/" .. length .. "(" .. math.floor(100/length*i) .. "%)") | |
29 | print("Next torch in " .. 9-i%8) | |
30 | print("Next chest in " .. 33-i%32) | |
31 | print("") | |
32 | ||
33 | --[[ Vorwärts graben und bewegen ]]-- | |
34 | - | while not turtle.forward() do |
34 | + | t.dig() |
35 | - | turtle.dig() |
35 | + | t.forward() |
36 | ||
37 | --[[ Hoch bzw. runter graben ]]-- | |
38 | if i%2 == 1 then | |
39 | t.digUp() | |
40 | - | repeat |
40 | + | |
41 | - | turtle.digUp() |
41 | + | t.digDown() |
42 | - | until not turtle.detectUp() |
42 | + | |
43 | ||
44 | - | turtle.digDown() |
44 | + | |
45 | t.left() | |
46 | t.dig() | |
47 | ||
48 | - | turtle.turnLeft() |
48 | + | |
49 | - | repeat |
49 | + | |
50 | - | turtle.dig() |
50 | + | |
51 | - | until not turtle.detect() |
51 | + | |
52 | for slot = 1, 14 do | |
53 | turtle.select(slot) | |
54 | turtle.drop() | |
55 | end | |
56 | end | |
57 | ||
58 | --[[ Rechts graben ]]-- | |
59 | t.turnAround() | |
60 | t.dig() | |
61 | ||
62 | --[[ Fackel setzen ]]-- | |
63 | if i%8 == 1 then | |
64 | - | turtle.turnLeft() |
64 | + | |
65 | - | turtle.turnLeft() |
65 | + | |
66 | - | repeat |
66 | + | |
67 | - | turtle.dig() |
67 | + | |
68 | - | until not turtle.detect() |
68 | + | |
69 | if i%2 == 1 then | |
70 | t.up() | |
71 | t.digUp() | |
72 | else | |
73 | t.digUp() | |
74 | t.down() | |
75 | end | |
76 | ||
77 | --[[ Rechts graben ]]-- | |
78 | - | turtle.digDown() |
78 | + | t.dig() |
79 | - | turtle.up() |
79 | + | |
80 | - | repeat |
80 | + | |
81 | - | turtle.digUp() |
81 | + | t.turnAround() |
82 | - | until not turtle.detectUp() |
82 | + | t.dig() |
83 | ||
84 | - | repeat |
84 | + | |
85 | - | turtle.digUp() |
85 | + | t.right() |
86 | - | until not turtle.detectUp() |
86 | + | |
87 | - | turtle.down() |
87 | + | --[[ Sand/Kies entfernen ]]-- |
88 | - | turtle.digDown() |
88 | + | t.digUp() |
89 | end | |
90 | ||
91 | local args = { ... } | |
92 | - | repeat |
92 | + | |
93 | - | turtle.dig() |
93 | + | |
94 | - | until not turtle.detect() |
94 | + | print("ct <length> [<return (0|1)>]") |
95 | print("place chests in slot 15") | |
96 | print("place torches in slot 16") | |
97 | - | turtle.turnLeft() |
97 | + | |
98 | - | turtle.turnLeft() |
98 | + | |
99 | - | repeat |
99 | + | |
100 | - | turtle.dig() |
100 | + | |
101 | - | until not turtle.detect() |
101 | + | |
102 | length = tonumber(args[1]) | |
103 | ||
104 | - | turtle.turnRight() |
104 | + | |
105 | ret = tonumber(args[2]) | |
106 | end | |
107 | ||
108 | if turtle.getFuelLevel() < length*2 + length*ret then | |
109 | print("I need fuel!") | |
110 | - | print("ctunnel <length> [<return (0|1)>]") |
110 | + | print((length*2 + length*ret) - turtle.getFuelLevel() .. " fuel missing") |
111 | print("Refuel with " .. ((length*2 + length*ret) - turtle.getFuelLevel())/80+1 .. " pieces of coal") | |
112 | else | |
113 | print("======== 2014 (c) psychedelixx ========") | |
114 | print("Let's go!") | |
115 | print("Digging " .. length) | |
116 | ||
117 | for l = 1, length do | |
118 | move() | |
119 | end | |
120 | ||
121 | - | ret = 1 |
121 | + | |
122 | t.turnAround() | |
123 | t.forward(length) | |
124 | - | if turtle.getFuelLevel() == 0 then |
124 | + | |
125 | - | turtle.refuel() |
125 | + |