MadScience2728

MINESERVER_2.0

Mar 2nd, 2021 (edited)
822
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Awake
  2. print("Mining server 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. -- 7 Server -> Pocket Computer
  10. modem.open(11)
  11. modem.open(12)
  12. modem.open(13)
  13. modem.open(14)
  14. print("Channel 11 and 12 are open, as well as 13 and 14")
  15.  
  16. -- Setup sending wireless messages
  17. function SendMessage(message)
  18.     modem.transmit(11, 12, message)
  19. end
  20. function SendMessageToPocketComputer(message)
  21.     modem.transmit(13, 13, message)
  22. end
  23.  
  24. --Pocket computer helper
  25. function printf(m)
  26.     print(m)
  27.     SendMessageToPocketComputer(m)
  28. end
  29. printf("Link to pocket computer established. Hello")
  30.  
  31. -- Setup receiving wireless messages
  32. function WaitForMessage(messageCompare)
  33.     while true do
  34.         local  
  35.             a,b,c,d,e,f = os.pullEvent("modem_message")
  36.         printf("Message received: " .. tostring(e))
  37.         if(e == messageCompare) then
  38.             break
  39.         end
  40.     end
  41. end
  42.  
  43. -- Get turtle amount from users
  44. printf("How many turtles are mining? >>")
  45. local desiredTurtleCount = tonumber(read())
  46.  
  47. -- Get cycle amount from users
  48. printf("How many cycles should they mine for? >>")
  49. local desiredCycleCount = tonumber(read())
  50.  
  51. -- Send awake signal
  52. printf("Sending awake signal to all turtles...")
  53. SendMessage("_ServerAwake")
  54.  
  55. -- Wait for all turtles to register
  56. -- Accept and continue from user
  57. printf("Waiting for turtles to register...")
  58. local turtleCount = 0
  59. while true do
  60.     WaitForMessage("_TurtleRegistered")
  61.     turtleCount = turtleCount + 1
  62.     printf("Turtle registered. Count is " .. tostring(turtleCount))
  63.     if(turtleCount == desiredTurtleCount) then break end
  64. end
  65. printf("All turtles registered")
  66.  
  67. printf("Sending reset Y signal")
  68. SendMessage("_ResetY")
  69.  
  70. -- Wait for all turtles to reset their y pos
  71. printf("Waiting for turtles to be ready to mine...")
  72. local turtleCount = 0
  73. while true do
  74.     WaitForMessage("_TurtleReadyToMine")
  75.     turtleCount = turtleCount + 1
  76.     printf("Turtle ready to mine. Count is " .. tostring(turtleCount))
  77.     if(turtleCount == desiredTurtleCount) then break end
  78. end
  79. printf("All turtles ready to mine")
  80.  
  81. -- Begin managing mine operations
  82. printf("Mining...")
  83. SendMessage("_Begin")
  84. local readyCount = 0
  85. local cycleCount = 1
  86. while true do
  87.     printf("Starting mine cycle #" .. tostring(cycleCount))
  88.     modem.transmit(8, 8, "Starting mine cycle #" .. tostring(cycleCount))
  89.     SendMessage("_StartNextCycle")
  90.     printf("Waiting for turtles to be ready for next cycle...")
  91.     readyCount = 0
  92.     while true do
  93.         WaitForMessage("_ReadyForNextCycle")
  94.         readyCount = readyCount + 1
  95.         printf("A turtle is ready. Ready count is " .. tostring(readyCount))
  96.         if(readyCount == turtleCount) then
  97.             printf("All turtles ready")
  98.             break
  99.         end
  100.     end
  101.     if(cycleCount == desiredCycleCount) then
  102.         printf("All cycle complete")
  103.         break
  104.     end
  105.     cycleCount = cycleCount + 1
  106.     printf(">>")
  107.     printf(">>")
  108.     printf(">>")
  109. end
  110.  
  111. -- Done
  112. printf("Goodbye >>")
  113. read()
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×