Advertisement
EmberQuill

ComputerCraft Turtle Basement Digger

Dec 11th, 2012
25,530
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.46 KB | None | 1 0
  1. local tArgs = {...}
  2. if #tArgs ~= 3 then
  3.   print("Requires length, width, height")
  4.   return
  5. end
  6.  
  7. local x = tonumber(tArgs[1]) - 1
  8. local y = tonumber(tArgs[2])
  9. local z = tonumber(tArgs[3])
  10.  
  11. if x == nil or y == nil or z == nil then
  12.   print("Invalid dimensions")
  13.   return
  14. end
  15.  
  16. if x < 0 or y < 0 or z < 0 then
  17.   print("Invalid (negative) dimensions")
  18.   return
  19. end
  20.  
  21. local fuel = turtle.getFuelLevel()
  22. local roomSize = x * y * z
  23. while fuel < roomSize do
  24.   if not turtle.refuel(1) then
  25.     print("Not enough fuel")
  26.     return
  27.   end
  28. end
  29.  
  30. local direction = true
  31. for i = 1, z do
  32.   for j = 1, y do
  33.     for k = 1, x do
  34.       turtle.dig()
  35.       turtle.forward()
  36.     end
  37.     if j < y then
  38.       if direction then
  39.         turtle.turnRight()
  40.         turtle.dig()
  41.         turtle.forward()
  42.         turtle.turnRight()
  43.         direction = false
  44.       else
  45.         turtle.turnLeft()
  46.         turtle.dig()
  47.         turtle.forward()
  48.         turtle.turnLeft()
  49.         direction = true
  50.       end
  51.     end
  52.   end
  53.   if i < z then
  54.     turtle.digUp()
  55.     turtle.up()
  56.     turtle.turnRight()
  57.     turtle.turnRight()
  58.   end
  59. end
  60.  
  61. if y % 2 == 0 then
  62.   turtle.turnRight()
  63.   for i = 1, y do
  64.     turtle.forward()
  65.   end
  66.   turtle.turnRight()
  67. else
  68.   turtle.turnLeft()
  69.   for i = 1, y do
  70.     turtle.forward()
  71.   end
  72.   turtle.turnLeft()
  73.   for i = 1, x do
  74.     turtle.forward()
  75.   end
  76.   turtle.turnRight()
  77.   turtle.turnRight()
  78. end
  79. for i = 1, z do
  80.   turtle.down()
  81. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement