Advertisement
Snaxiiii

miner

Feb 13th, 2025 (edited)
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.18 KB | None | 0 0
  1. -- Configuration: Set these numbers before running
  2. local depth = tonumber(10)  -- Number of blocks to mine down
  3. local forwardDistance = tonumber(20)  -- Number of blocks to mine forward
  4.  
  5. -- Function to dig down
  6. function mineDown(depth)
  7.     if not depth or depth < 1 then
  8.         print("Error: Invalid depth value.")
  9.         return false
  10.     end
  11.     for i = 1, depth do
  12.         if turtle.detectDown() then
  13.             turtle.digDown()
  14.         end
  15.         if not turtle.down() then
  16.             print("Can't move down! Something is blocking the way.")
  17.             return false
  18.         end
  19.     end
  20.     return true
  21. end
  22.  
  23. -- Function to mine forward
  24. function mineForward(distance)
  25.     if not distance or distance < 1 then
  26.         print("Error: Invalid forward distance value.")
  27.         return false
  28.     end
  29.     for i = 1, distance do
  30.         if turtle.detect() then
  31.             turtle.dig()
  32.             turtle.digUp()
  33.         end
  34.         if not turtle.forward() then
  35.             print("Can't move forward! Something is blocking the way.")
  36.             return false
  37.         end
  38.     end
  39.     return true
  40. end
  41.  
  42. --Deposit Function
  43. function depositItems()
  44.     print("Depositing items...")
  45.  
  46.     for slot = 1, 16 do
  47.         turtle.select(slot)  -- Select slot
  48.         if turtle.getItemCount(slot) > 0 then
  49.             turtle.drop()  -- Drop into chest (must be in front)
  50.         end
  51.     end
  52.  
  53.     print("Deposit complete!")
  54.     turtle.select(1)  -- Reset selection
  55. end
  56.  
  57. --Return Function
  58. function backAndDeposit(distance, depth)
  59.     turtle.turnLeft()
  60.     turtle.turnLeft()
  61.     for i=1, distance do
  62.         turtle.forward()
  63.     end
  64.    
  65.     for i=1, depth do
  66.         turtle.up()
  67.     end
  68.     turtle.turnRight()
  69.     turtle.turnRight()
  70.     depositItems()
  71. end
  72.  
  73. -- Main Execution
  74. print("Starting mining operation...")
  75.  
  76. if mineDown(depth) then
  77.     print("Reached depth of " .. depth .. " blocks.")
  78.     print("Starting forward mining...")
  79.     mineForward(forwardDistance)
  80.     print("Finished mining " .. forwardDistance .. " blocks forward.")
  81. else
  82.     print("Mining operation stopped due to obstruction.")
  83. end
  84.  
  85. print("Mining complete!")
  86. backAndDeposit(forwardDistance, depth)
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement