quantumpugilist

MineshaftTurtle

Dec 29th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.18 KB | None | 0 0
  1. level=0
  2.  
  3. function addFuel()
  4.   for i=1, level, 1 do
  5.     turtle.up()
  6.   end
  7.  
  8.   turtle.turnLeft()
  9.   turtle.turnLeft()
  10.  
  11.   dumpInventory()
  12.  
  13.   turtle.turnRight()
  14.  
  15.   turtle.select(1)
  16.   turtle.suck()
  17.  
  18.   turtle.select(3)
  19.   turtle.drop()
  20.  
  21.   turtle.turnRight()
  22.  
  23.   for i=0, level, 1 do
  24.     turtle.down()
  25.   end  
  26. end
  27.  
  28. function Refuel()
  29.   fuelLevel = turtle.getFuelLevel()
  30.  
  31.   if fuelLevel <= 9 then
  32.     turtle.select(1)
  33.     turtle.refuel(1)
  34.   end
  35.  
  36.   if turtle.getItemCount(1) <=5 then
  37.     addFuel()
  38.   end
  39. end
  40.  
  41. function digLayer()
  42.   turtle.digDown()
  43.   turtle.suckDown()
  44.   turtle.down()
  45.   turtle.dig()
  46.   turtle.forward()
  47.   turtle.dig()
  48.   turtle.forward()
  49.  
  50.   turtle.turnRight()
  51.  
  52.   turtle.dig()
  53.   turtle.forward()
  54.   turtle.turnRight()
  55.   turtle.dig()
  56.   turtle.forward()
  57.   turtle.dig()
  58.   turtle.forward()
  59.  
  60.   turtle.turnLeft()
  61.  
  62.   turtle.dig()
  63.   turtle.forward()
  64.  
  65.   turtle.turnLeft()
  66.   turtle.dig()
  67.   turtle.forward()
  68.   turtle.dig()
  69.   turtle.forward()
  70. end
  71.  
  72. function placeLadder()
  73.   turtle.back()
  74.   turtle.turnLeft()
  75.   turtle.forward()
  76.   turtle.select(2)
  77.   turtle.place()
  78. end
  79.  
  80. function returnCorner()
  81.   turtle.turnLeft()
  82.   turtle.forward()
  83.   turtle.turnRight()
  84.   turtle.forward()
  85.   turtle.turnRight()
  86. end
  87.  
  88. function dumpInventory()
  89.   for i=3, 16, 1 do
  90.     turtle.select(i)
  91.     turtle.drop()
  92.   end
  93.  
  94.   turtle.select(1)
  95. end
  96.  
  97. function surfaceReturn()
  98.   for i=0, level, 1 do
  99.     turtle.up()
  100.   end
  101.  
  102.   turtle.turnLeft()
  103.   turtle.turnLeft()
  104.  
  105.   dumpInventory()
  106.  
  107.   turtle.turnRight()
  108.   turtle.turnRight()
  109.  
  110.   for i=0, level, 1 do
  111.     turtle.down()
  112.   end
  113. end
  114.  
  115. function endShaft()
  116.   for i=1,level,1 do
  117.     turtle.up()
  118.   end
  119.  
  120.   turtle.turnLeft()
  121.   turtle.turnLeft()
  122.  
  123.   dumpInventory()
  124.  
  125.   turtle.turnLeft()
  126.   turtle.turnLeft()
  127. end
  128.  
  129. function checkInventory()
  130.   invSpace = turtle.getItemCount(16)
  131.  
  132.   if invSpace ~= 0 then
  133.     surfaceReturn()
  134.   end
  135. end
  136.  
  137. local tArgs = {...}
  138.  
  139. Refuel()
  140.  
  141. if #tArgs~=1 then
  142.   print("Depth required")
  143. end
  144.  
  145. for i=1, tArgs[1],1 do
  146.   Refuel()
  147.   digLayer()
  148.   placeLadder()
  149.   returnCorner()
  150.   checkInventory()
  151.   level=level+1
  152. end
  153.  
  154. Refuel()
  155. endShaft()
Advertisement
Add Comment
Please, Sign In to add comment