Advertisement
icdb

[ComputerCraft] stripmine

Sep 21st, 2014
475
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.94 KB | None | 0 0
  1. local tArgs = { ... }
  2. if #tArgs == 1 then
  3.     length = tArgs[1]
  4.     deep = 5
  5. elseif #tArgs == 2 then
  6.     length = tArgs[1]
  7.     deep = tArgs[2]
  8.     if length < "1" and deep < "0" then
  9.         print("length > 0")
  10.         print("deep >= 0")
  11.         return
  12.     end
  13. else
  14.     print("Usage:")
  15.     print("stripmine <length> <deep>")
  16.     print("length > 0")
  17.     print("deep > -1")
  18.     print("if deep is empty: deep = 5")
  19.     return
  20. end
  21.  
  22. function forward(a)
  23.     for i=1,a do
  24.         while turtle.forward() == false do
  25.             turtle.attack()
  26.             turtle.dig()
  27.         end
  28.     end
  29. end
  30.  
  31. function right(a)
  32.     for i=1,a do
  33.         turtle.turnRight()
  34.     end
  35. end
  36.  
  37. function left(a)
  38.     for i=1,a do
  39.         turtle.turnLeft()
  40.     end
  41. end
  42.  
  43. function dig(a)
  44.     for i=1,a do
  45.         lava()
  46.         while turtle.detect()==true or turtle.forward() == false do
  47.             turtle.dig()
  48.             turtle.attack()
  49.             sleep(0.3)
  50.         end
  51.  
  52.         while turtle.detectUp()==true do
  53.             turtle.attackUp()
  54.             turtle.digUp()
  55.             sleep(0.4)
  56.         end
  57.     end
  58. end
  59.  
  60. function drop()
  61.     for i=1,14 do
  62.         turtle.select(i)
  63.         turtle.drop()
  64.     end
  65.     turtle.select(1)
  66. end
  67.  
  68. function lava()
  69.     if turtle.getItemCount(15)>0 then
  70.     turtle.select(15)
  71.     turtle.place()
  72.     if turtle.refuel() == false then
  73.         --Whatever we picked up is invalid for fuel, put it back down
  74.         turtle.place()
  75.     end
  76.     turtle.placeDown()
  77.     if turtle.refuel() == false then
  78.         --Whatever we picked up is invalid for fuel, put it back down
  79.         turtle.placeDown()
  80.     end
  81.     turtle.placeUp()
  82.     if turtle.refuel() == false then
  83.         --Whatever we picked up is invalid for fuel, put it back down
  84.         turtle.placeUp()
  85.     end
  86.     turtle.select(1)
  87.     end
  88. end
  89.  
  90. for j=1,length do
  91.     print(j," of ", length)
  92.     dig(3)
  93.     turtle.back()
  94.     turtle.select(16)
  95.     turtle.placeUp()
  96.     turtle.forward()
  97.     right(1)
  98.     dig(deep)
  99.     left(2)
  100.     forward(deep)
  101.     dig(deep)
  102.     right(2)
  103.     forward(deep)
  104.     left(1)
  105.     if (j % 10) == 0 then
  106.         right(2)
  107.         forward(j*3)
  108.         left(1)
  109.         drop()
  110.         left(1)
  111.         forward(j*3)
  112.     end
  113. end
  114. right(2)
  115. forward(length*3)
  116. left(1)
  117. drop()
  118. left(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement