Advertisement
Grand8000

TurtleQuarry

Jun 9th, 2023 (edited)
1,068
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.51 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.         turtle.drop()
  53.         sleep(1)
  54.         a = true
  55.     end
  56.     if a then
  57.         turtle.dig()
  58.     end
  59. end
  60. local function getSize()
  61.     s = 2
  62.     while rs.getInput("front") == false do
  63.         s = s + 1
  64.         turtle.forward()
  65.     end
  66.     turtle.dig()
  67.     for i = s,3,-1 do
  68.         turtle.back()
  69.     end
  70.     return s
  71. end
  72. shell.run("clear")
  73. write("Auto-size (y/n): ")
  74. sf = ""
  75. sr = ""
  76. Fo = 1
  77. Ro = 1
  78. if read() == "y" then
  79.     Fo = getSize()
  80.     turtle.turnRight()
  81.     Ro = getSize()
  82.     turtle.turnLeft()
  83.     while rs.getInput("bottom")==false do
  84.         turtle.down()
  85.     end
  86.     turtle.digDown()
  87.     turtle.down()
  88.  
  89.     sf = " ("..tostring(Fo)..")"
  90.     sr = " ("..tostring(Ro)..")"
  91. end
  92.  
  93.  
  94. write("Forward"..sf..":")
  95. f = read()
  96. if f=="" then
  97.     f = Fo
  98. else
  99.     f = tonumber(f)
  100. end
  101.  
  102. write("Right"..sr..":")
  103. r = read()
  104. if r=="" then
  105.     r = Ro
  106. else
  107.     r = tonumber(r)
  108. end
  109.  
  110. write("Down: ")
  111. d = tonumber(read())
  112.  
  113. write("Remove lava(y/n): ")
  114. lava = read()=="y"
  115. for o=1,d,1 do
  116.     for k = 1,r do
  117.         x = 1
  118.         while x <= f-1 do
  119.             safe = rs.getInput("front")
  120.             dig(lava)
  121.             if turtle.getItemCount(16) > 0 then
  122.                 drop()
  123.             end
  124.             refuel(2000)
  125.             turtle.forward()
  126.             if safe then
  127.                 turtle.up()
  128.                 turtle.forward()
  129.                 turtle.forward()
  130.                 turtle.digDown()
  131.                 turtle.down()
  132.                 x = x + 2
  133.             end
  134.             x = x + 1
  135.         end
  136.         for x = 1,f-1,1 do
  137.            
  138.         end
  139.         turtle.turnRight()
  140.         turtle.turnRight()
  141.         x = 1
  142.         while x <= f-1 do
  143.             if turtle.detect()==false then
  144.                 turtle.forward()
  145.             else
  146.                 turtle.up()
  147.                 turtle.forward()
  148.                 turtle.forward()
  149.                 turtle.down()
  150.                 x = x+1
  151.             end
  152.            
  153.             refuel(1000)
  154.             x = x+1
  155.         end
  156.         turtle.turnRight()
  157.         turtle.turnRight()
  158.         if k~=r then
  159.             turtle.turnRight()
  160.             dig(lava)
  161.             if turtle.getItemCount(16) > 1 then
  162.                 drop()
  163.             end
  164.             refuel(1000)
  165.             turtle.forward()
  166.             turtle.turnLeft()
  167.         end
  168.         end
  169.         turtle.turnLeft()
  170.         for i=1,r-1,1 do
  171.         turtle.forward()
  172.         end
  173.         turtle.turnRight()
  174.         if o~=d then
  175.         turtle.digDown()
  176.         turtle.down()
  177.     end
  178. end
  179. drop()
  180. os.shutdown()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement