XHaxerusX

Computer Craft Tunnel Bore Program

May 6th, 2015
687
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.21 KB | None | 0 0
  1. function getLength()
  2.     print("How long should the tunnel be?")
  3.     return read()
  4. end
  5.  
  6. function mine()
  7.     while turtle.detect() == true do
  8.         turtle.dig()
  9.         os.sleep(0.8)
  10.     end
  11.     turtle.forward()
  12.     turtle.digUp()
  13.     turtle.digDown()
  14. end
  15.  
  16. local layer = 0
  17.  
  18. local items = {
  19.     ["minecraft:cobblestone"] = true,
  20.     ["minecraft:dirt"] = true,
  21.     ["minecraft:gravel"] = true,
  22. }
  23.  
  24. function dump()
  25.     details = turtle.getItemDetail()
  26.     if items[details.name] then
  27.         turtle.dropDown()
  28.     end
  29. end
  30.  
  31. function full()
  32.     if layer == 5 then
  33.         for i = 1, 16 do
  34.             turtle.select(i)
  35.             if turtle.getItemCount() > 0 then
  36.                 dump()
  37.             end
  38.         end
  39.         layer = 0
  40.     end
  41. end
  42.  
  43. local length = tonumber(getLength())
  44.  
  45. function goHome()
  46.     for i = 1, 2 do
  47.         turtle.turnRight()
  48.     end
  49.     for i = 1, length do
  50.         while turtle.detect() do
  51.             turtle.dig()
  52.             os.sleep(0.7)
  53.         end
  54.         turtle.forward()
  55.     end
  56.     for i = 1, 16 do
  57.     turtle.select(i)
  58.     turtle.drop()
  59.     end
  60. end
  61.  
  62. function tunnel()
  63.     for i = 1, length/2 do
  64.         mine()
  65.         layer = layer + 1
  66.         full()
  67.         turtle.turnRight()
  68.         mine()
  69.         mine()
  70.         turtle.turnLeft()
  71.         mine()
  72.         layer = layer + 1
  73.         full()
  74.         turtle.turnLeft()
  75.         mine()
  76.         mine()
  77.         turtle.turnRight()
  78.     end
  79. end
  80.  
  81. tunnel()
  82. goHome()
Advertisement
Add Comment
Please, Sign In to add comment