Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Awake
- print("Mining client awake: Hello World!")
- -- Setup wireless
- local modem = peripheral.wrap("right")
- -- 5 Server -> Client
- -- 6 Client -> Server
- modem.open(5)
- modem.open(6)
- print("Channel 5 and 6 are open")
- -- Setup receiving wireless messages
- function WaitForMessage(messageCompare)
- while true do
- local a,b,c,d,e,f = os.pullEvent("modem_message")
- print("Message received: ")
- print(e)
- if(e == messageCompare) then
- print("Message accepted")
- break
- end
- end
- end
- -- Setup sending wireless messages
- function SendMessage(message)
- modem.transmit(6, 5, message)
- end
- -- Server handshake
- print("Waiting for server awake")
- WaitForMessage("_ServerAwake")
- print("Replying to server...")
- SendMessage("_TurtleRegistered")
- print("Waiting to begin")
- WaitForMessage("_Begin")
- function Down()
- while not turtle.down() do
- if turtle.detectDown() then turtle.digDown() end
- turtle.attackDown()
- end
- turtle.dig()
- end
- function Up()
- while not turtle.up() do
- if turtle.detectUp() then turtle.digUp() end
- turtle.attackUp()
- end
- turtle.dig()
- end
- function Forward()
- while not turtle.forward() do
- if turtle.detect() then turtle.dig() end
- turtle.attack()
- end
- end
- -- Mine Routine
- function Mine()
- local Y = 52
- Forward()
- Forward()
- turtle.dig()
- for i=0, Y do Down() end
- Forward()
- Forward()
- turtle.dig()
- for i=0, Y do Up() end
- turtle.select(1)
- while not turtle.place() do
- turtle.dig()
- turtle.attack()
- end
- for i = 16,1,-1 do
- turtle.select(i)
- turtle.drop()
- end
- turtle.dig()
- end
- -- Mine loop
- while true do
- print("Waiting to start next cycle")
- WaitForMessage("_StartNextCycle")
- print("Starting next cycle...")
- Mine()
- print("Letting server know ready for next cycle...")
- SendMessage("_ReadyForNextCycle")
- print(">>")
- print(">>")
- print(">>")
- end
- print("Goodbye >>")
- read()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement