LayZee

Turtle XyCraft Multitank Builder

May 17th, 2013
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.70 KB | None | 0 0
  1. --[[
  2.   (C) LayZee 2013
  3.   Xycraft MultiTank Builder
  4.  
  5.   Indtil videre kan den grave ud ved at skrive
  6.     lzXyTank down
  7.   hvis den starter i oeverste lag eller
  8.     lzXyTank up
  9.   hvis den starter i nederste lag
  10. --]]
  11.  
  12. local argument = {...}
  13. local validArgument
  14. local directionMove
  15. local directionDig
  16.  
  17. function initialize ()
  18.   direction = tostring(argument[1])
  19.  
  20.   if direction == "down" then
  21.     directionMove = turtle.down
  22.     directionDig = turtle.digDown
  23.    
  24.     return true
  25.   elseif direction == "up" then
  26.     directionMove = turtle.up
  27.     directionDig = turtle.digUp
  28.    
  29.     return true
  30.   else
  31.     print("Usage: lzXyTank <up|down>")
  32.      
  33.     return false
  34.   end
  35. end
  36.  
  37.  
  38. function digMove ()
  39.   turtle.dig()
  40.  
  41.   while not turtle.forward() do
  42.     turtle.dig()
  43.     sleep(0.8)
  44.   end
  45. end
  46.  
  47. function digRow ()
  48.   for block = 1, 13 do
  49.     digMove()
  50.   end
  51. end
  52.  
  53. function digLayer (layer)
  54.   if layer % 2 == 1 then
  55.     oddTurn = turtle.turnRight
  56.     evenTurn = turtle.turnLeft
  57.   else
  58.     oddTurn = turtle.turnLeft
  59.     evenTurn = turtle.turnRight
  60.   end
  61.  
  62.   for row = 1, 14 do
  63.     digRow()
  64.    
  65.     if row < 14 then
  66.       if row % 2 == 1 then
  67.         oddTurn()
  68.         digMove()
  69.         oddTurn()
  70.       else
  71.         evenTurn()
  72.         digMove()
  73.         evenTurn()
  74.       end
  75.     end
  76.   end
  77. end
  78.  
  79. function digSpace ()
  80.   for layer = 1, 14 do
  81.     digLayer(layer % 2)
  82.     turtle.turnLeft()
  83.     turtle.turnLeft()
  84.    
  85.     if layer < 14 then
  86.       directionDig()
  87.    
  88.       while not directionMove() do
  89.         directionDig()
  90.         sleep(0.8)
  91.       end
  92.     end
  93.   end
  94. end
  95.  
  96. --Main program
  97. if initialize() then
  98.   digSpace()
  99. else
  100.   print("Terminating lzXyTank")
  101. end
Advertisement
Add Comment
Please, Sign In to add comment