SHOW:
|
|
- or go back to the newest paste.
1 | -- Awake | |
2 | local Y = 52 | |
3 | print("Mining client awake: Hello World!") | |
4 | ||
5 | -- Setup wireless | |
6 | local modem = peripheral.wrap("right") | |
7 | -- 5 Server -> Client | |
8 | - | modem.open(5) |
8 | + | |
9 | - | modem.open(6) |
9 | + | modem.open(11) |
10 | - | print("Channel 5 and 6 are open") |
10 | + | modem.open(12) |
11 | print("Channel 11 and 12 are open") | |
12 | ||
13 | -- Setup receiving wireless messages | |
14 | function WaitForMessage(messageCompare) | |
15 | while true do | |
16 | local a,b,c,d,e,f = os.pullEvent("modem_message") | |
17 | print("Message received: ") | |
18 | print(e) | |
19 | if(e == messageCompare) then | |
20 | print("Message accepted") | |
21 | break | |
22 | end | |
23 | end | |
24 | end | |
25 | ||
26 | -- Setup sending wireless messages | |
27 | - | modem.transmit(6, 5, message) |
27 | + | |
28 | modem.transmit(12, 11, message) | |
29 | end | |
30 | ||
31 | -- Down shortdown | |
32 | function Down() | |
33 | while not turtle.down() do | |
34 | if turtle.detectDown() then turtle.digDown() end | |
35 | turtle.attackDown() | |
36 | end | |
37 | turtle.dig() | |
38 | end | |
39 | ||
40 | -- Up shorthand | |
41 | function Up() | |
42 | while not turtle.up() do | |
43 | if turtle.detectUp() then turtle.digUp() end | |
44 | turtle.attackUp() | |
45 | end | |
46 | turtle.dig() | |
47 | end | |
48 | ||
49 | -- Forward shorthand | |
50 | function Forward() | |
51 | while not turtle.forward() do | |
52 | if turtle.detect() then turtle.dig() end | |
53 | turtle.attack() | |
54 | end | |
55 | end | |
56 | ||
57 | -- Bedrock shorthand | |
58 | function IsBedrock() | |
59 | local success, data = turtle.inspectDown() | |
60 | if success then | |
61 | return data.name == "minecraft:bedrock" | |
62 | else | |
63 | - | local Y = 52 |
63 | + | return false |
64 | end | |
65 | end | |
66 | ||
67 | -- Server handshake | |
68 | print("Waiting for server awake") | |
69 | WaitForMessage("_ServerAwake") | |
70 | print("Replying to server...") | |
71 | SendMessage("_TurtleRegistered") | |
72 | ||
73 | -- Reset position | |
74 | print("Waiting for signal to reset Y") | |
75 | WaitForMessage("_ResetY") | |
76 | print("Resetting to y 55") | |
77 | turtle.select(1) | |
78 | turtle.dig() | |
79 | while not IsBedrock() do Down() end | |
80 | for i=0, Y do Up() end | |
81 | ||
82 | print("Letting server know ready...") | |
83 | SendMessage("_TurtleReadyToMine") | |
84 | ||
85 | print("Waiting to begin") | |
86 | WaitForMessage("_Begin") | |
87 | ||
88 | -- Mine Routine | |
89 | function Mine() | |
90 | Forward() | |
91 | Forward() | |
92 | turtle.dig() | |
93 | for i=0, Y do Down() end | |
94 | Forward() | |
95 | Forward() | |
96 | turtle.dig() | |
97 | for i=0, Y do Up() end | |
98 | turtle.select(1) | |
99 | while not turtle.place() do | |
100 | turtle.dig() | |
101 | turtle.attack() | |
102 | end | |
103 | for i = 16,1,-1 do | |
104 | turtle.select(i) | |
105 | turtle.drop() | |
106 | end | |
107 | turtle.dig() | |
108 | end | |
109 | ||
110 | -- Mine loop | |
111 | while true do | |
112 | print("Waiting to start next cycle") | |
113 | WaitForMessage("_StartNextCycle") | |
114 | print("Starting next cycle...") | |
115 | Mine() | |
116 | print("Letting server know ready for next cycle...") | |
117 | SendMessage("_ReadyForNextCycle") | |
118 | print(">>") | |
119 | print(">>") | |
120 | print(">>") | |
121 | end | |
122 | ||
123 | print("Goodbye >>") | |
124 | read() |