Advertisement
GauHelldragon

GauDigger v0.7

Jun 1st, 2013
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.87 KB | None | 0 0
  1. -- Digs a 5x5 tunnel straight forward until it runs out of fuel. Will attempt to refuel as it goes, using coal it finds
  2. -- Place chests in slot 16 of the turtle inventory to make it place chests and fill them as it travels
  3.  
  4. local ChestSlot = 16
  5.  
  6.  
  7. function refuel()
  8.   local slot = 0
  9.   while ( turtle.getFuelLevel() < 100 and slot < 15 ) do
  10.     slot = slot + 1
  11.     turtle.select(slot)
  12.     turtle.refuel(10)
  13.   end
  14.   turtle.select(1)
  15. end
  16.  
  17. function tryForward()
  18.   refuel()
  19.   if ( turtle.getFuelLevel() < 100 ) then
  20.     print "Ran out of fuel!"
  21.     os.exit()
  22.   end
  23.   while ( not turtle.forward() ) do
  24.     turtle.dig()
  25.     os.sleep(1)
  26.   end
  27. end
  28.  
  29. function tryUp()
  30.   refuel()
  31.   if ( turtle.getFuelLevel() < 100 ) then
  32.     print "Ran out of fuel!"
  33.     os.exit()
  34.   end
  35.   while ( not turtle.up() ) do
  36.     turtle.digUp()
  37.     os.sleep(1)
  38.   end
  39. end
  40.  
  41. function tryDown()
  42.   refuel()
  43.   if ( turtle.getFuelLevel() < 100 ) then
  44.     print "Ran out of fuel!"
  45.     os.exit()
  46.   end
  47.   while ( not turtle.down() ) do
  48.     turtle.digDown()
  49.     os.sleep(1)
  50.   end
  51. end
  52.  
  53.  
  54.  
  55. function checkSpace()
  56.   if ( turtle.getItemCount(12) > 0 ) then
  57.     if ( turtle.getItemCount(ChestSlot) <= 0 ) then
  58.       print "Ran out of space"
  59.       os.exit()
  60.     end
  61.    
  62.     turtle.turnLeft()
  63.     turtle.turnLeft()
  64.     turtle.select(ChestSlot)
  65.     turtle.place()
  66.     for slot = 1,15 do
  67.       turtle.select(slot)
  68.       turtle.drop()
  69.     end
  70.    
  71.     turtle.turnLeft()
  72.     turtle.turnLeft()
  73.    
  74.   end
  75.   turtle.select(1)
  76. end
  77.  
  78.  
  79. function digTunnel()
  80.   turtle.turnLeft()
  81.   tryForward()
  82.   tryForward()
  83.   turtle.turnRight()
  84.   for x=1,5 do
  85.     for y=1,5 do
  86.       tryUp()
  87.     end
  88.     for y=1,5 do
  89.       tryDown()
  90.       turtle.dig()
  91.     end
  92.     if ( x < 5 ) then
  93.         turtle.turnRight()
  94.         tryForward()
  95.         turtle.turnLeft()
  96.     end
  97.    
  98.   end
  99.   turtle.turnLeft()
  100.   tryForward()
  101.   tryForward()
  102.   turtle.turnRight()
  103.   tryForward()
  104. end
  105.  
  106. while true do
  107.   digTunnel()
  108.   checkSpace()
  109. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement