Advertisement
Grand8000

TurtleQuarry

Jun 9th, 2023 (edited)
965
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.48 KB | Source Code | 0 0
  1. r = "23ibVtTP"
  2. shell.run("pastebin get "..r.." update")
  3. shell.run("rm bin")
  4. f = fs.open("startup", "r")
  5. r = f.readAll()
  6. f.close()
  7.  
  8. f = fs.open("update", "r")
  9. r2 = f.readAll()
  10. f.close()
  11.  
  12. if r2~=r then
  13.     shell.run("rm startup")
  14.     shell.run("mv update startup")
  15.     os.reboot()
  16. end
  17. shell.run("rm update")
  18. local function dig(a)
  19.     turtle.select(1)
  20.     if a then
  21.         turtle.place()
  22.     end
  23.     while turtle.detect() do
  24.         turtle.dig()
  25.     end
  26. end
  27.  
  28. local function drop()
  29.     turtle.select(2)
  30.     a = false
  31.     while a == false do
  32.        a = turtle.place()
  33.     end
  34.     for i=4,16,1 do
  35.         turtle.select(i)
  36.         turtle.drop()
  37.     end
  38.     turtle.select(2)
  39.     turtle.dig()
  40. end
  41.  
  42. local function refuel(level)
  43.     a = false
  44.     while turtle.getFuelLevel() < level do
  45.         turtle.select(3)
  46.         a = false
  47.         while a == false do
  48.         a = turtle.place()
  49.         end
  50.         turtle.suck()
  51.         turtle.refuel()
  52.         a = true
  53.     end
  54.     if a then
  55.         turtle.dig()
  56.     end
  57. end
  58. local function getSize()
  59.     s = 2
  60.     while rs.getInput("front") == false do
  61.         s = s + 1
  62.         turtle.forward()
  63.     end
  64.     turtle.dig()
  65.     for i = s,3,-1 do
  66.         turtle.back()
  67.     end
  68.     return s
  69. end
  70. shell.run("clear")
  71. write("Auto-size (y/n): ")
  72. sf = ""
  73. sr = ""
  74. Fo = 1
  75. Ro = 1
  76. if read() == "y" then
  77.     Fo = getSize()
  78.     turtle.turnRight()
  79.     Ro = getSize()
  80.     turtle.turnLeft()
  81.     while rs.getInput("bottom")==false do
  82.         turtle.down()
  83.     end
  84.     turtle.digDown()
  85.     turtle.down()
  86.  
  87.     sf = " ("..tostring(Fo)..")"
  88.     sr = " ("..tostring(Ro)..")"
  89. end
  90.  
  91.  
  92. write("Forward"..sf..":")
  93. f = read()
  94. if f=="" then
  95.     f = Fo
  96. else
  97.     f = tonumber(f)
  98. end
  99.  
  100. write("Right"..sr..":")
  101. r = read()
  102. if r=="" then
  103.     r = Ro
  104. else
  105.     r = tonumber(r)
  106. end
  107.  
  108. write("Down: ")
  109. d = tonumber(read())
  110.  
  111. write("Remove lava(y/n): ")
  112. lava = read()=="y"
  113. for o=1,d,1 do
  114.     for k = 1,r do
  115.         x = 1
  116.         while x <= f-1 do
  117.             safe = rs.getInput("front")
  118.             dig(lava)
  119.             if turtle.getItemCount(16) > 0 then
  120.                 drop()
  121.             end
  122.             refuel(1000)
  123.             turtle.forward()
  124.             if safe then
  125.                 turtle.up()
  126.                 turtle.forward()
  127.                 turtle.forward()
  128.                 turtle.digDown()
  129.                 turtle.down()
  130.                 x = x + 2
  131.             end
  132.             x = x + 1
  133.         end
  134.         for x = 1,f-1,1 do
  135.            
  136.         end
  137.         turtle.turnRight()
  138.         turtle.turnRight()
  139.         x = 1
  140.         while x <= f-1 do
  141.             if turtle.detect()==false then
  142.                 turtle.forward()
  143.             else
  144.                 turtle.up()
  145.                 turtle.forward()
  146.                 turtle.forward()
  147.                 turtle.down()
  148.                 x = x+1
  149.             end
  150.            
  151.             refuel(1000)
  152.             x = x+1
  153.         end
  154.         turtle.turnRight()
  155.         turtle.turnRight()
  156.         if k~=r then
  157.             turtle.turnRight()
  158.             dig(lava)
  159.             if turtle.getItemCount(16) > 1 then
  160.                 drop()
  161.             end
  162.             refuel(1000)
  163.             turtle.forward()
  164.             turtle.turnLeft()
  165.         end
  166.         end
  167.         turtle.turnLeft()
  168.         for i=1,r-1,1 do
  169.         turtle.forward()
  170.         end
  171.         turtle.turnRight()
  172.         if o~=d then
  173.         turtle.digDown()
  174.         turtle.down()
  175.     end
  176. end
  177. drop()
  178. os.shutdown()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement