MrCervelo

Build Stairs

Jan 24th, 2013
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.10 KB | None | 0 0
  1. function checkFuel()
  2.   if ( turtle.getFuelLevel() < 10 ) then
  3.     print("Fuel Level is less than 10, please place fuel in slot 1")
  4.     while ( turtle.getFuelLevel() < 10 ) do
  5.       if ( turtle.getItemCount(1) > 0 ) then
  6.         turtle.refuel()
  7.       end
  8.       sleep(1)
  9.     end
  10.     print("Turtle Refuled, Fuel Level = " .. turtle.getFuelLevel())
  11.   end
  12. end
  13.  
  14. function invFull()
  15.   full=true
  16.   for i=1,16 do
  17.     if ( turtle.getItemCount(i) == 0 ) then
  18.       full=false
  19.     end
  20.   end
  21.   return full
  22. end
  23.  
  24. function placeTorch()
  25.   turtle.turnRight()
  26.   moveForward()
  27.   turtle.turnRight()
  28.   if ( not hasTorches() ) then
  29.     print("No More Torches, Please replenish")
  30.     while ( not hasTorches() ) do
  31.       sleep(1)
  32.     end
  33.   end
  34.   turtle.select(16)
  35.   turtle.place()
  36.   turtle.select(1)
  37.   turtle.turnRight()
  38.   moveForward()
  39.   turtle.turnRight()
  40. end
  41.  
  42. function hasTorches()
  43.   if ( turtle.getItemCount(16) > 0 ) then
  44.     return true
  45.   else
  46.     return false
  47.   end
  48. end
  49.  
  50. function checkInv()
  51.   if ( invFull() ) then
  52.     print("Inventory Full, Please Empty")
  53.     while ( invFull() ) do
  54.       sleep(1)
  55.     end
  56.   end
  57. end
  58.  
  59. function moveUp()
  60.   while ( not turtle.up() ) do
  61.     turtle.digUp()
  62.     checkInv()
  63.   end
  64. end
  65.  
  66. function moveDown()
  67.   while ( not turtle.down() ) do
  68.     turtle.digDown()
  69.     checkInv()
  70.   end
  71. end
  72.  
  73. function moveForward()
  74.   while ( not turtle.forward() ) do
  75.     turtle.dig()
  76.     checkInv()
  77.   end
  78. end
  79.  
  80. function digForward()
  81.   while ( turtle.detect() ) do
  82.     turtle.dig()
  83.     checkInv()
  84.   end
  85. end
  86.  
  87. function rotate()
  88.   for i=1,2 do
  89.     turtle.turnLeft()
  90.   end
  91. end
  92.  
  93. function digLevel()
  94.   turtle.turnLeft()
  95.   digForward()
  96.   rotate()
  97.   digForward()
  98.   turtle.turnLeft()
  99. end
  100.  
  101.  
  102. args={ ... }
  103. stairDepth=tonumber(args[1])
  104. checkFuel()
  105. moveForward()
  106. for i=1,stairDepth/2 do
  107.   digLevel()
  108.   for j=1,4 do
  109.     moveUp()
  110.     digLevel()
  111.     checkFuel()
  112.   end
  113.   moveDown()
  114.   moveForward()
  115.   digLevel()
  116.   if ( i%2 == 1 ) then
  117.     placeTorch()
  118.   end
  119.   for j=1,4 do
  120.     moveDown()
  121.     digLevel()
  122.     checkFuel()
  123.   end
  124.   moveForward()
  125.   moveDown()
  126. end
Advertisement
Add Comment
Please, Sign In to add comment