Advertisement
MadScience2728

Untitled

Feb 16th, 2021
868
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 modemSide = "left"
  6. local modem = peripheral.wrap(modemSide)
  7. -- 5 Server -> Client
  8. -- 6 Client -> Server
  9. modem.open(5)
  10. modem.open(6)
  11. print("Channel 5 and 6 are open")
  12.  
  13. -- Setup receiving wireless messages
  14. function WaitForMessage(messageCompare)
  15.     while true do
  16.         local  
  17.             event,
  18.             eventModemSide,
  19.             senderChannel,
  20.             replyChannel,
  21.             message,
  22.             senderDistance =
  23.                 os.pullEvent(
  24.                     "modem_message"
  25.                 )
  26.         print("Message received: " + message)
  27.         if(message == messageCompare) then
  28.             break
  29.         end
  30.     end
  31. end
  32.  
  33. -- Setup sending wireless messages
  34. function SendMessage(message)
  35.     modem.transmit(6, 5, message)
  36. end
  37.  
  38. -- Server handshake
  39. print("Waiting for server awake")
  40. WaitForMessage("_ServerAwake")
  41. os.sleep(1)
  42. print("Replying to server...")
  43. SendMessage("_TurtleRegistered")
  44. print("Waiting to begin")
  45. WaitForMessage("_Begin")
  46.  
  47. -- Mine Routine
  48. function Mine()
  49.     print("Mining...")
  50.     os.sleep(1)
  51.     print("Mine")
  52.     os.sleep(1)
  53.     print("Mine")
  54.     os.sleep(1)
  55.     print("Mine")
  56.     os.sleep(1)
  57.     print("Mine")
  58.     os.sleep(1)
  59.     print("Done mining")
  60. end
  61.  
  62. -- Mine loop
  63. while true do
  64.     print("Waiting to start next cycle")
  65.     WaitForMessage("_StartNextCycle")
  66.     print("Starting next cycle...")
  67.     Mine()
  68.     print("Letting server know ready for next cycle...")
  69.     SendMessage("_ReadyForNextCycle")
  70. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement