Advertisement
djgaven588

Turtle Mining

Feb 24th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.05 KB | None | 0 0
  1. args = {...}
  2. distance = args[1]
  3.  
  4. function CheckFuel()
  5.     if turtle.getFuelLevel() < 10 then
  6.         for i=1, 16 do
  7.             turtle.select(i)
  8.             if turtle.refuel(0) == true then
  9.                 turtel.refuel(1)
  10.                 return;
  11.             end
  12.         end
  13.     end
  14.     turtle.select(1)
  15. end
  16.  
  17. function CheckForStorage()
  18.     if turtle.getItemCount(16) > 0 then
  19.         print("Full! Attempting unloading.")
  20.         turtle.turnLeft()
  21.         turtle.turnLeft()
  22.         turtle.select(1)
  23.         turtle.place()
  24.         turtle.select(2)
  25.         if turtle.drop() == true then
  26.             for i=3, 16 do
  27.                 turtle.select(i)
  28.                 turtle.drop()
  29.             end
  30.         end
  31.         if turtle.getItemCount(16) > 0 then
  32.             print("Can't unload. First slot was not a chest!")
  33.             turtle.dig()
  34.             print("Waiting for inventory to be empty")
  35.             while turtle.getItemCount(16) > 0 do
  36.                 sleep(1)
  37.             end
  38.         end
  39.         turtle.turnLeft()
  40.         turtle.turnLeft()
  41.     end
  42. end
  43.  
  44.  
  45. function MineAboveBelow()
  46.     while turtle.detectUp() do
  47.         CheckForStorage()
  48.         turtle.digUp()
  49.     end
  50.     while turtle.detectDown() do
  51.         CheckForStorage()
  52.         turtle.digDown()
  53.     end
  54. end
  55.  
  56. function MineInFront()
  57.     while turtle.detect() do
  58.         CheckForStorage()
  59.         turtle.dig()
  60.     end
  61. end
  62.  
  63. function MineLayer()
  64.     MineAboveBelow()
  65.     turtle.turnLeft()
  66.     MineInFront()
  67.     turtle.forward()
  68.     MineAboveBelow()
  69.     turtle.back()
  70.     turtle.turnRight()
  71.     turtle.turnRight()
  72.     MineInFront()
  73.     turtle.forward()
  74.     MineAboveBelow()
  75.     turtle.back()
  76.     turtle.turnLeft()
  77. end
  78.  
  79. for i=1, distance do
  80.     CheckForStorage()
  81.     CheckFuel()
  82.     if turtle.getFuelLevel() < 10 then
  83.         print("Waiting for fuel...")
  84.         while turtle.getFuelLevel < 10 do
  85.             CheckFuel()
  86.         end
  87.         print("Resuming.")
  88.     end
  89.     MineInFront()
  90.     turtle.forward()
  91.     MineLayer()
  92. end
  93. print("Mining complete!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement