seiterarch

CC sFarm API

Jan 10th, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.50 KB | None | 0 0
  1. if not turtle then
  2.     error( "Cannot load turtle API on computer" )
  3. end
  4.  
  5. function fell(pos, s)
  6.     s = sUtil.slotForm(s, true, 1)
  7.     if not(sTurtle.detect('front', s)) then
  8.         error('fell() cannot find tree')
  9.     end
  10.     local h = 0
  11.    
  12.     pos = sTurtle.mine(1, pos)
  13.    
  14.     --ascend
  15.     while sTurtle.detect('up', s) do
  16.         sTurtle.mineUp()
  17.         h = h + 1
  18.     end
  19.     --descend
  20.     for i=1,h do
  21.         sTurtle.d()
  22.     end
  23.     return pos
  24. end
  25.  
  26. --Function for cutting down a straight, 2x2 tree in front of the turtle.
  27. --Tree should not have blocks adgecant to its bottom block, or above its top.
  28. function fell2(side)
  29.     --Sterilize
  30.     if side ~= 'left' and side ~= right then
  31.         side = nil
  32.     end
  33.     local h = 0
  34.        
  35.     --Check for appropriate tree
  36.     if not(turtle.detect()) then
  37.         error('fell2() cannot find tree')
  38.     end
  39.     sTurtle.mine()
  40.     if side == nil then
  41.         if sTurtle.detect('right') then
  42.             side = 'right'
  43.         elseif sTurtle.detect('left') then
  44.             side = 'left'
  45.         else
  46.             sTurtle.b()
  47.             error('fellFir() cannot find appropriate tree')
  48.         end
  49.     end
  50.    
  51.     --Fell
  52.     print('Felling tree')
  53.     turtle.dig()
  54.    
  55.     while turtle.detectUp() do
  56.         sTurtle.mineUp()
  57.         h = h + 1
  58.         turtle.dig()
  59.     end
  60.    
  61.     sTurtle.turn(side)
  62.     sTurtle.mine()
  63.     side = sUtil.faceInv(side)
  64.     sTurtle.turn(side)
  65.     turtle.dig()
  66.    
  67.     while h > 0 do
  68.         sTurtle.mineDown()
  69.         turtle.dig()
  70.         h = h - 1
  71.     end
  72.    
  73.     pos = sTurtle.turn(side)
  74.     pos = sTurtle.mine()
  75.     pos = sTurtle.turn(side)
  76.     pos = sTurtle.mine()
  77.     pos = sTurtle.turn('back')
  78.    
  79.     print('Finished felling tree.')
  80.     return true
  81. end
Advertisement
Add Comment
Please, Sign In to add comment