Advertisement
MadScience2728

MINECLIENT

Feb 21st, 2021 (edited)
756
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Awake
  2. print("Mining client awake: Hello World!")
  3.  
  4. -- Setup wireless
  5. local modem = peripheral.wrap("right")
  6. -- 5 Server -> Client
  7. -- 6 Client -> Server
  8. modem.open(5)
  9. modem.open(6)
  10. print("Channel 5 and 6 are open")
  11.  
  12. -- Setup receiving wireless messages
  13. function WaitForMessage(messageCompare)
  14.     while true do
  15.         local a,b,c,d,e,f = os.pullEvent("modem_message")
  16.         print("Message received: ")
  17.         print(e)
  18.         if(e == messageCompare) then
  19.             print("Message accepted")
  20.             break
  21.         end
  22.     end
  23. end
  24.  
  25. -- Setup sending wireless messages
  26. function SendMessage(message)
  27.     modem.transmit(6, 5, message)
  28. end
  29.  
  30. -- Server handshake
  31. print("Waiting for server awake")
  32. WaitForMessage("_ServerAwake")
  33. print("Replying to server...")
  34. SendMessage("_TurtleRegistered")
  35. print("Waiting to begin")
  36. WaitForMessage("_Begin")
  37.  
  38. function Down()
  39.     while not turtle.down() do
  40.         if turtle.detectDown() then turtle.digDown() end
  41.         turtle.attackDown()
  42.     end
  43.     turtle.dig()
  44. end
  45.  
  46. function Up()
  47.     while not turtle.up() do
  48.         if turtle.detectUp() then turtle.digUp() end
  49.         turtle.attackUp()
  50.     end
  51.     turtle.dig()
  52. end
  53.  
  54. function Forward()
  55.     while not turtle.forward() do
  56.         if turtle.detect() then turtle.dig() end
  57.         turtle.attack()
  58.     end
  59. end
  60.  
  61. -- Mine Routine
  62. function Mine()
  63.     local Y = 52
  64.     Forward()
  65.     Forward()
  66.     turtle.dig()
  67.     for i=0, Y do Down() end
  68.     Forward()
  69.     Forward()
  70.     turtle.dig()
  71.     for i=0, Y do Up() end
  72.     turtle.select(1)
  73.     while not turtle.place() do
  74.         turtle.dig()
  75.         turtle.attack()
  76.     end
  77.     for i = 16,1,-1 do
  78.         turtle.select(i)
  79.         turtle.drop()
  80.     end
  81.     turtle.dig()
  82. end
  83.  
  84. -- Mine loop
  85. while true do
  86.     print("Waiting to start next cycle")
  87.     WaitForMessage("_StartNextCycle")
  88.     print("Starting next cycle...")
  89.     Mine()
  90.     print("Letting server know ready for next cycle...")
  91.     SendMessage("_ReadyForNextCycle")
  92.     print(">>")
  93.     print(">>")
  94.     print(">>")
  95. end
  96.  
  97. print("Goodbye >>")
  98. read()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement