TheKojent

Turbo Tree Harvester

Dec 26th, 2014
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.62 KB | None | 0 0
  1. rednet.open("right")
  2.  
  3. local mainID = 15
  4. local trees = 4    --Number of trees per row
  5.  
  6. local function forward(count)
  7.     for k = 1,count do
  8.         turtle.forward()
  9.     end
  10. end
  11.  
  12. local function turnAround()
  13.     turtle.turnLeft()
  14.     turtle.turnLeft()
  15. end
  16.  
  17. local function harvest()
  18.     turtle.dig()
  19.     for k = 1,6 do
  20.         turtle.digUp()
  21.         turtle.up()
  22.         turtle.dig()
  23.     end
  24.     for k = 1,6 do
  25.         turtle.down()
  26.     end
  27.     turtle.select(2)
  28.     turtle.place()
  29. end
  30.  
  31. local function checkTree()
  32.     turtle.turnRight()
  33.     turtle.select(1)
  34.     if turtle.compare() then
  35.         harvest()
  36.     end
  37.     turtle.turnLeft()
  38. end
  39.  
  40. local function checkTrees(count)
  41.     checkTree()
  42.     for m = 1,(count - 1) do
  43.         forward(6)
  44.         checkTree()
  45.     end
  46. end
  47.  
  48. while true do
  49.     if turtle.getFuelLevel() < (turtle.getFuelLimit() - 5120) then    --Check fuel
  50.         turnAround()
  51.         turtle.forward()
  52.         turtle.select(16)
  53.         turtle.suck()
  54.         turtle.refuel()
  55.         turnAround()
  56.         turtle.forward()
  57.         turtle.select(1)
  58.     end
  59.    
  60.     --Check and harvest trees
  61.     rednet.send(mainID, "away")
  62.     forward(5)
  63.     checkTrees(trees)
  64.     turtle.turnLeft()
  65.     forward(4)
  66.     turtle.turnLeft()
  67.     checkTrees(trees)
  68.     forward(5)
  69.    
  70.     if turtle.getItemCount(2) < (2 * trees) then    --Check saplings
  71.         turtle.select(2)
  72.         turtle.suck(64 - (2 * trees))
  73.         turtle.select(1)
  74.     end
  75.    
  76.     for k = 1,14 do --Dump inventory
  77.         turtle.select(k+2)
  78.         turtle.dropDown()
  79.     end
  80.    
  81.     --Return Home
  82.     turtle.turnLeft()
  83.     forward(4)
  84.     turtle.turnLeft()
  85.     rednet.send(mainID, "home")
  86.     local a = 15
  87.     while a ~= 0 do
  88.         rednet.send(mainID, tostring(a))
  89.         print(tostring(a))
  90.         sleep(60)
  91.         a = a - 1
  92.     end
  93.     rednet.send(mainID, tostring(a))
  94. end
  95.  
  96. rednet.close("right")
Advertisement
Add Comment
Please, Sign In to add comment