djgaven588

Turtle Mining - Miner

Feb 25th, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.20 KB | None | 0 0
  1. rednet.open("right")
  2.  
  3. receivedStart = false
  4. while receivedStart == false do
  5.     sender, msg = rednet.receive()
  6.     if msg == "start" then
  7.         receivedStart = true
  8.     end
  9. end
  10.  
  11. positioned = false
  12. if turtle.detect() then
  13.     turtle.turnLeft()
  14.     turtle.forward()
  15.     turtle.turnRight()
  16. else
  17.     turtle.forward()
  18. end
  19.  
  20. while positioned == false do
  21.     if turtle.detect() then
  22.         turtle.turnLeft()
  23.         turtle.forward()
  24.         turtle.turnRight()
  25.     end
  26. end
  27. turtle.forward()
  28. rednet.broadcast("turtleReady")
  29.  
  30. distanceReceived = false
  31. currentDistance = 0
  32. while distanceReceived == false do
  33.     sender, msg, protocall = rednet.receive()
  34.     if protocall == "TurtleDig" then
  35.         distanceReceived = true
  36.         for i=1, msg do
  37.             while turtle.detect() do
  38.                 turtle.dig()
  39.             end
  40.             turtle.forward()
  41.             turtle.digDown()
  42.             turtle.digUp()
  43.             currentDistance = currentDistance + 1
  44.             rednet.broadcast("mined"..currentDistance)
  45.         end
  46.     end
  47. end
  48.  
  49. cleanUpReceived = false
  50. while cleanUpReceived == false do
  51.     sender, msg, protocall = rednet.receive()
  52.     if msg == "packup" and protocall == "MiningTurtle" then
  53.         cleanUpReceived = true
  54.         empty = false
  55.         cleanRun = false
  56.         turtle.turnRight()
  57.         if turtle.suck(0) == false then
  58.             turtle.turnRight()
  59.         end
  60.         while empty == false do
  61.             emptySlots = 0
  62.             for i=1, 16 do
  63.                 turtle.select(i)
  64.                 if turtle.getItemCount(i) == 0 then
  65.                     emptySlots = emptySlots + 1
  66.                 end
  67.                 turtle.push()
  68.             end
  69.             if cleanRun == true and emptySlots < 16 then
  70.                 cleanRun = false
  71.             end
  72.             if cleanRun == true then
  73.                 empty = true
  74.             end
  75.             if cleanRun == false and emptySlots == 16 then
  76.                 cleanRun = true
  77.             end
  78.         end
  79.         turtle.select(1)
  80.         turtle.turnLeft()
  81.         turtle.turnLeft()
  82.         turtle.dig()
  83.         turtle.turnRight()
  84.         turtle.turnRight()
  85.         turtle.push()
  86.     end
  87. end
Add Comment
Please, Sign In to add comment