Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.07 KB | None | 0 0
  1. term.clear()
  2.  
  3.  
  4. function writeln(text)
  5.     a, b = term.getCursorPosition()
  6.     if text == nil then
  7.         text = ""
  8.     end
  9.     write(text)
  10.     c, b = term.getCursorPosition()
  11.     term.setCursorPosition(c, b + 1)
  12. end
  13.    
  14. function getPos()
  15.     x, y, z = gps.locate(1)
  16.     if x == nil then
  17.         writeln("please enter coordinates, where drone is in, by x, y, z seperated by enters")
  18.         x = io.read()
  19.         y = io.read()
  20.         z = io.read()
  21.         writeln()
  22.        
  23.         writeln("your enterd coordinates are:")
  24.         write(x)
  25.         write(", ")
  26.         write(y)
  27.         write(", ")
  28.         write(z)
  29.         writeln()
  30.         writeln("press enter to continue")
  31.         io.read()
  32.         term.clear
  33.     end
  34.     return x, y, z
  35. end
  36.  
  37. function dropInvDown()
  38.     tmp = turtle.getSelectedSlot()
  39.     for i = 1, 16, 1 do
  40.         turtle.select(i)
  41.         turtle.dropDown()
  42.     turtle.select(tmp)
  43. end
  44.  
  45. function mineSquare(wid, len, currentHeight,yStart)
  46.     for i = 0, len, 1 do
  47.         for i1 = 0, wid, 1 do
  48.             tmp = turtle.getSelectedSlot()
  49.             turtle.select(16)
  50.             if turtle.getItemCount() != 0 do
  51.                 heightdif = yStart - currentHeight
  52.                 while(counter5000 = heightdif != 0) do
  53.                     turtle.up()
  54.                     counter5000 - 1
  55.                 end
  56.                
  57.                 turtle.turnLeft()
  58.                 turtle.turnLeft()
  59.                 i2 = 0
  60.                 while(i2 != i1) do
  61.                     turtle.forward()
  62.                     i2 + 1
  63.                 end
  64.                 i2 = 0
  65.                 turtle.turnRight
  66.                 while(i2 != i) do
  67.                     turtle.forward()
  68.                     i2 + 1
  69.                 end
  70.                 turtle.turnLeft()
  71.                 turtle.forward()
  72.                 turtle.turnLeft()
  73.                 turtle.turnLeft()
  74.                
  75.                 dropInvDown()
  76.                 turtle.forward()
  77.                
  78.                 i2 = 0
  79.                 while(i2 != i1) do
  80.                     turtle.forward()
  81.                     i2 + 1
  82.                 end
  83.                 i2 = 0
  84.                 turtle.turnRight
  85.                 while(i2 != i) do
  86.                     turtle.forward()
  87.                     i2 + 1
  88.                 end
  89.                 i2 = 0
  90.                
  91.                 while(counter5000 = heightdif != 0) do
  92.                     turtle.down()
  93.                     counter5000 - 1
  94.                 end
  95.                
  96.                 turtle.turnLeft()
  97.             end
  98.             turtle.select(tmp)
  99.            
  100.             if turtle.detect() do
  101.                 turtle.dig()
  102.             end
  103.             turtle.select(16)
  104.             if turtle.getItemCount() != 0 do
  105.                 turtle.turnLeft()
  106.                 turtle.turnLeft()
  107.                 i2 = 0
  108.                 while(i2 != i1) do
  109.                     turtle.forward()
  110.                     i2 + 1
  111.                 end
  112.                 i2 = 0
  113.                 turtle.turnRight
  114.                 while(i2 != i) do
  115.                     turtle.forward()
  116.                     i2 + 1
  117.                 end
  118.                 turtle.turnLeft()
  119.                 turtle.forward()
  120.                 turtle.turnLeft()
  121.                 turtle.turnLeft()
  122.                
  123.                 dropInvDown()
  124.                 turtle.forward()
  125.                
  126.                 i2 = 0
  127.                 while(i2 != i1) do
  128.                     turtle.forward()
  129.                     i2 + 1
  130.                 end
  131.                 i2 = 0
  132.                 turtle.turnRight
  133.                 while(i2 != i) do
  134.                     turtle.forward()
  135.                     i2 + 1
  136.                 end
  137.                 i2 = 0
  138.                 turtle.turnLeft()
  139.             end
  140.             turtle.select(tmp)
  141.             turtle.forward()
  142.             if wid == i1 do
  143.                 turtle.turnLeft()
  144.                 turtle.turnLeft()
  145.                 i2 = 0
  146.                 while(i2 != wid) do
  147.                     turtle.forward()
  148.                     i1 + 1
  149.                 end
  150.                 i2 = 0
  151.                 turtle.turnLeft()
  152.                 turtle.dig()
  153.                 turtle.forward()
  154.                 turtle.turnLeft()
  155.             end
  156.         end
  157.     end
  158.    
  159.     turtle.turnLeft()
  160.     turtle.turnLeft()
  161.     i2 = 0
  162.     while(i2 != len) do
  163.         turtle.forward()
  164.         i2 + 1
  165.     end
  166.     i2 = 0
  167.     turtle.turnRight
  168.     while(i2 != wid) do
  169.         turtle.forward()
  170.         i2 + 1
  171.     end
  172.     i2 = 0
  173.     turtle.turnRight
  174. end
  175.  
  176. function squareMining(xStart, yStart, zStart)
  177.     writeln("Enter width and length seperated by enters")
  178.     wid = io.read()
  179.     len = io.read()
  180.     currentHeight = yStart
  181.     writeln("to start press enter")
  182.     io.read()
  183.     turtle.forward()
  184.    
  185.     mineSquare(wid, len, currentHeight, yStart)
  186.    
  187.     for currentHeight, 4, -1 do
  188.         if turtle.detectDown() do
  189.             turtle.digDown()
  190.         end
  191.         turtle.down()
  192.         mineSquare(wid, len)
  193.     end
  194. end
  195.  
  196. function stripMining(xStart, yStart, zStart)
  197.     writeln("not implemented yet")
  198. end
  199.  
  200. function main()
  201.     --implement check fuel 
  202.     turtle.refuel()
  203.    
  204.     dropInvDown()
  205.    
  206.     xStart, yStart, zStart = getPos()
  207.    
  208.    
  209.     mode = 9
  210.     while(mode != 0) do
  211.         writeln("Press 1 & enter for square mining, press 2 & enter for strip mining and press 0 & enter to quit")
  212.         mode = io.read()
  213.         if input == 1 then
  214.             term.clear()
  215.             squareMining(xStart, yStart, zStart)
  216.         elseif input == 2 then
  217.             term.clear()
  218.             stripMining(xStart, yStart, zStart)
  219.         elseif input == 0 then
  220.         else
  221.             writeln("gz du bist retarded")
  222.         end
  223.     end
  224. end
  225.  
  226. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement