Advertisement
Guest User

downup.lua

a guest
Apr 20th, 2025
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.64 KB | None | 0 0
  1. flip=0
  2. width=16
  3. -- depth=37
  4. length=4
  5. blocklag=0 -- .5
  6.  
  7. local args = {...}
  8. if #args < 1 then
  9.   print ("Usage: downup # (where depth=#)")
  10.   return
  11. end
  12.  
  13. local depth = tonumber(args[1])
  14.  
  15. if not depth or depth < 1 then
  16.   print("error: absolute positive offsets only.")
  17.   return
  18. end
  19.  
  20. if turtle.getFuelLevel()<depth*4 then
  21.   print("Refuel or I can't get there and back.")
  22.   return
  23. end
  24.  
  25. local function digForward()
  26.   while turtle.detect() do
  27.     turtle.dig()
  28.     sleep(blocklag)
  29.   end
  30. end
  31.    
  32. -- length is actually 4 times longer as it's 2 2 column passes
  33. for x=1,width do
  34.   for y=1,length do
  35.     -- depth down
  36.     for z=1,depth do
  37.       digForward()
  38.       turtle.digDown()
  39.       turtle.down()
  40.     end
  41.     digForward()
  42.     while not turtle.forward() do
  43.       digForward()
  44.     end
  45.     digForward()
  46.     turtle.forward()
  47.     -- end of 'down' in position for 'up'
  48.     -- depth back up with while insurance
  49.     for x=1,depth do
  50.       digForward()
  51.       while not turtle.up() do
  52.         turtle.digUp()
  53.       end
  54.     end
  55.     digForward()
  56.     turtle.forward()
  57.     digForward()
  58.     turtle.forward()
  59. -- for deep digs
  60. --    sleep(5)
  61.     -- top of first step to length
  62.   end
  63. sleep(5) -- more moderate depths or widths  
  64.   if flip==0 then
  65.     flip=1
  66.     turtle.turnRight()
  67.     digForward()
  68.     turtle.forward()
  69.     turtle.turnRight()
  70.   else
  71.     flip=0
  72.     turtle.turnLeft()
  73.     digForward()
  74.     turtle.forward()
  75.     turtle.turnLeft()
  76.   end
  77.   -- in position for next lane of width
  78.   -- step forward to avoid offset
  79.   digForward()
  80.   turtle.forward()
  81.   if turtle.getItemCount(15)>1 then
  82.     os.pullEvent("key")
  83.   end
  84. end
  85.  
  86.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement