Advertisement
Guest User

AutofellVS

a guest
Jun 18th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.47 KB | None | 0 0
  1. queryleft = false
  2.  
  3. h = 1
  4.  
  5. p = 3
  6.  
  7. function supplyCheck()
  8.     print("checking for supplies")
  9.     if turtle.getItemCount(1) < 10
  10.     or turtle.getItemCount(3) < 20
  11.     or turtle.getItemCount(8) > 32
  12.     then
  13.         needsSupply = true
  14.     else needsSupply = false
  15.     end
  16.     if needsSupply then backtoBase()
  17.     end
  18. end
  19.  
  20. function fuelCheck()
  21.     local fuelLevel = turtle.getFuelLevel()
  22.     if fuelLevel < 100 then
  23.         turtle.select(1)
  24.         repeat
  25.             turtle.refuel(1)
  26.             local fuelLevel = turtle.getFuelLevel()
  27.         until fuelLevel > 750
  28.         print("Refueled!")
  29.     end
  30. end
  31.  
  32.  
  33. function checks()
  34.     fuelCheck()
  35.     if p == 3 then
  36.         supplyCheck()
  37.     end
  38. end
  39.  
  40. function homeBase()
  41.     local success, data = turtle.inspectDown()
  42.     if data.name == "minecraft:chest" then
  43.         if needsSupply then supplyGet()
  44.         end
  45.         if turtle.getItemCount(8) > 32 then logDeposit()
  46.         end
  47.         backtoWork()
  48.     end
  49. end
  50.  
  51. function supplyGet()
  52.     if turtle.getItemCount(1) < 10 then
  53.         turtle.select(1)
  54.         repeat turtle.suckDown(1)
  55.     until turtle.getItemCount(1) > 40
  56.         print("Charcoal restocked")
  57.     end
  58.     if turtle.getItemCount(3) < 20 then
  59.         turtle.select(3)
  60.         repeat turtle.suckUp(1)
  61.     until turtle.getItemCount(3) > 30
  62.         print("Saplings restocked")
  63.         turtle.select(1)
  64.     end
  65. end
  66.    
  67.  
  68. function logDeposit()
  69.     turtle.turnLeft()
  70.     turtle.select(2)
  71.     turtle.drop(60)
  72.     for wslot = 4,16 do
  73.         turtle.select(wslot)
  74.         turtle.drop(64)
  75.     end
  76.     print("Logs deposited")
  77.     turtle.select(1)
  78.     turtle.turnRight()
  79. end
  80.  
  81. function backtoBase()
  82.     local success, data = turtle.inspectDown()
  83.     if data.name ~= "minecraft:chest" then    
  84.         repeat
  85.             turtle.back()
  86.             local success, data = turtle.inspectDown()
  87.         until data.name == "minecraft:chest"
  88.         print("Back at base")
  89.         homeBase()
  90.     end
  91. end
  92.  
  93. function backtoWork()
  94.     print("Back to work!")
  95.     l = 0
  96.     repeat
  97.     if turtle.detect() then leafClear()
  98.     else turtle.forward()
  99.     end
  100.     l = l + 1
  101.     until l == 4
  102.     l = 0
  103.     if queryleft == true then searchRight()
  104.     else searchLeft()
  105.     end
  106. end
  107.  
  108. function chopTree()
  109.     turtle.dig()
  110.     turtle.forward()
  111.     while turtle.detectUp() == true do
  112.         turtle.dig()
  113.         turtle.digUp()
  114.         turtle.up()
  115.         h = h + 1
  116.     end
  117.     print("This tree was " .. h .. "m tall")
  118.     turtle.dig()
  119.     turtle.turnRight()
  120.     turtle.dig()
  121.     turtle.forward()
  122.     turtle.turnLeft()
  123.     turtle.dig()
  124.     while turtle.detectDown() == true and h ~= 1 do
  125.         turtle.digDown()
  126.         turtle.down()
  127.         h = h - 1
  128.         turtle.dig()
  129.     end
  130.     turtle.select(3)
  131.     turtle.place()
  132.     turtle.turnLeft()
  133.     turtle.forward()
  134.     turtle.turnRight()
  135.     turtle.place()
  136.     turtle.turnRight()
  137.     turtle.place()
  138.     turtle.turnLeft()
  139.     turtle.back()
  140.     turtle.place()
  141. end
  142.  
  143. function searchRight()
  144.     local success, data = turtle.inspect()
  145.     if data.name ~= "minecraft:log" then
  146.         turtle.turnRight()
  147.         l = 0
  148.         repeat
  149.             if turtle.detect() then
  150.                 leafClear()
  151.             else turtle.forward()
  152.             end
  153.             l = l + 1
  154.         until l == 6
  155.         l = 0
  156.         turtle.turnLeft()
  157.         p = p + 1
  158.         turtle.select(4)
  159.         turtle.place()
  160.         turtle.select(1)
  161.         checks()
  162.     else chopTree() checks()
  163.     end
  164.     if p == 4 then
  165.         searchLeft()
  166.         queryleft = false
  167.     else searchRight()
  168.     end
  169. end
  170.  
  171. function searchLeft()
  172.     local success, data = turtle.inspect()
  173.     if data.name ~= "minecraft:log" then
  174.         turtle.turnLeft()
  175.         l = 0
  176.         repeat
  177.         if turtle.detect() then
  178.             leafClear()
  179.         else turtle.forward()
  180.         end
  181.         l = l + 1
  182.         until l == 6
  183.         l = 0
  184.         turtle.turnRight()
  185.         p = p - 1
  186.         turtle.select(4)
  187.         turtle.place()
  188.         turtle.select(1)
  189.         checks()
  190.     else chopTree() checks()
  191.     end
  192.     if p == 1 then
  193.         searchRight()
  194.         queryleft = true
  195.     else searchLeft()
  196.     end
  197. end
  198.  
  199. function leafClear()
  200.     local success, data = turtle.inspect()
  201.     if data.name == "minecraft:leaves" and h == 1 then
  202.         print("leaf")
  203.         turtle.dig()
  204.         turtle.forward()
  205.     end
  206. end
  207.  
  208. while true do
  209.     homeBase()
  210. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement