Advertisement
TmsKerail

3DigRight

Feb 20th, 2021 (edited)
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.80 KB | None | 0 0
  1. local length = tonumber(arg[1])
  2. local width = tonumber(arg[2])
  3. local height = tonumber(arg[3])
  4. local stepCounter = 0
  5.  
  6. local unwantedItems = {}
  7.  
  8. unwantedItems["minecraft:cobblestone"] = true
  9. unwantedItems["minecraft:granite"] = true
  10. unwantedItems["minecraft:andesite"] = true
  11.  
  12. function dropStuff()
  13.     for i = 1, 16 do
  14.         turtle.select(i)
  15.         if turtle.getItemDetail() ~= nil then
  16.             if unwantedItems[turtle.getItemDetail().name] then
  17.                 turtle.drop()
  18.             end
  19.         end
  20.     end
  21.     turtle.select(1)
  22. end
  23.  
  24.  
  25. function move()
  26.     turtle.dig()
  27.     if turtle.getFuelLevel() <= 10 then
  28.         turtle.refuel(1)
  29.     end
  30.     while turtle.forward() == false do
  31.         turtle.dig()
  32.     end
  33.     stepCounter = stepCounter + 1
  34.     if stepCounter >= 64 then
  35.         dropStuff()
  36.         stepCounter = 0
  37.     end
  38. end
  39.  
  40. function turnAround()
  41.     turtle.turnLeft()
  42.     turtle.turnLeft()
  43. end
  44.  
  45. function returnToStart()
  46.     if length % 2 == 0 then
  47.         -- Turtle is on start side
  48.         if height % 2 == 0 then
  49.             -- Turtle is far left
  50.             -- Turtle is facing outwards
  51.             for i = 1, height-1 do
  52.                 turtle.up()
  53.             end
  54.             move()
  55.             turnAround()
  56.         else
  57.             -- Turtle is far right
  58.             -- Turtle is facing outwards
  59.             for i = 1, height-1 do
  60.                 turtle.up()
  61.             end
  62.             turtle.turnRight()
  63.             for i = 1, length-1 do
  64.                 move()
  65.             end
  66.             turtle.turnLeft()
  67.             move()
  68.             turnAround()
  69.         end
  70.     else
  71.         if height % 2 == 0 then
  72.             -- Turtle is on start side and far left
  73.             -- Turtle is facing outwards
  74.             for i = 1, height-1 do
  75.                 turtle.up()
  76.             end
  77.             move()
  78.             turnAround()
  79.         else
  80.             -- Turtle is on far side and far right
  81.             -- Turtle is facing outwards
  82.             for i = 1, height-1 do
  83.                 turtle.up()
  84.             end
  85.             turnAround()
  86.             for i = 1, width-1 do
  87.                 move()
  88.             end
  89.             turtle.turnRight()
  90.             for i = 1, length-1 do
  91.                 move()
  92.             end
  93.             turtle.turnLeft()
  94.             move()
  95.             turnAround()
  96.         end
  97.     end
  98.  
  99.     for i = 1, 16 do
  100.         turtle.select(i)
  101.         if turtle.getItemDetail() ~= nil then
  102.             turtle.dropDown()
  103.         end
  104.     end
  105.     turtle.select(1)
  106. end
  107.  
  108.  
  109. move()
  110. for i = 1, height do
  111.     for j = 1, length do
  112.         for k = 1, width-1 do
  113.             move()
  114.         end
  115.         if j == length then
  116.             break;
  117.         end
  118.         if length % 2 == 0 then
  119.             if i % 2 == 1 then
  120.                 if j % 2 == 1 then
  121.                     turtle.turnRight()
  122.                     move()
  123.                     turtle.turnRight()
  124.                 else
  125.                     turtle.turnLeft()
  126.                     move()
  127.                     turtle.turnLeft()
  128.                 end
  129.             else
  130.                 if j % 2 == 1 then
  131.                     turtle.turnLeft()
  132.                     move()
  133.                     turtle.turnLeft()
  134.                 else
  135.                     turtle.turnRight()
  136.                     move()
  137.                     turtle.turnRight()
  138.                 end
  139.             end
  140.         else
  141.             if j % 2 == 1 then
  142.                 turtle.turnRight()
  143.                 move()
  144.                 turtle.turnRight()
  145.             else
  146.                 turtle.turnLeft()
  147.                 move()
  148.                 turtle.turnLeft()
  149.             end
  150.         end
  151.     end
  152.     if i == height then
  153.         break;
  154.     end
  155.     turtle.digDown()
  156.     turtle.down()
  157.     turnAround()
  158. end
  159.  
  160. returnToStart()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement