Yobi

Working Roomdig

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