Treyzania

RoomDigger (by Kurald)

Jan 17th, 2014
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.58 KB | None | 0 0
  1.  
  2. local tArgs = { ... }
  3. -- check number of arguments
  4. if #tArgs < 3 or #tArgs > 4 then
  5. error("Usage: room <depth> <height> <width>")
  6. end
  7.  
  8. depth = tonumber(tArgs[1])
  9. height = tonumber(tArgs[2])
  10. width = tonumber(tArgs[3])
  11.  
  12. print("Digging Room D"..tArgs[1].."xH"..tArgs[2].."xW"..tArgs[3]);
  13. -- move forward to create room
  14. turtle.dig()
  15. turtle.forward()
  16. -- adjust depth for the step
  17. depth = depth - 1
  18. -- create room
  19. for widthTemp = 1, width do
  20. for heightTemp = 1, height do
  21. for depthTemp = 1, depth do
  22. -- dig straight forward
  23. while turtle.detect() do
  24. turtle.dig()
  25. os.sleep(1) -- needed to work with gravel
  26. end
  27. turtle.forward()
  28.                 end
  29.                 -- line complete, move to next line
  30.                 if heightTemp<height then
  31. while turtle.detectUp() do
  32. turtle.digUp()
  33. end
  34.                         turtle.up()
  35.                         turtle.turnLeft()
  36.                         turtle.turnLeft()
  37. end
  38. end
  39.         -- slice complete, return to start
  40.         -- move back on odd heights, otherwise we are already back
  41.         if height % 2 == 1 then
  42.                 turtle.turnLeft()
  43.                 turtle.turnLeft()
  44.                 for depthTemp=1, depth do
  45.                         turtle.forward()
  46.             os.sleep(1)
  47.                 end
  48.         end
  49.         -- move down
  50.         for heightTemp=0, height-1 do
  51.                 turtle.down()
  52. end
  53.         -- next slice
  54.         if widthTemp<width then
  55.                 turtle.turnLeft()
  56. while turtle.detect() do
  57. turtle.dig()
  58. end
  59.                 turtle.forward()
  60.                 turtle.turnLeft()
  61.         end
  62. end
Add Comment
Please, Sign In to add comment