WyattNunnery

replicate

Sep 26th, 2021 (edited)
452
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- functions
  2. function firstChop()
  3.  
  4.     print("replicating...")
  5.     sleep(1)
  6.     print("gathering materials...")
  7.  
  8.     turtle.dig()
  9.     turtle.craft(1)
  10.     turtle.refuel()
  11.     turtle.forward()
  12.     while turtle.detectUp() == true do
  13.         turtle.digUp()
  14.         turtle.up()
  15.     end
  16.     while turtle.detectDown() == false do
  17.         turtle.down()
  18.     end
  19.     turtle.craft()
  20.     turtle.refuel()
  21. end
  22.  
  23. function checkFuel()
  24.     while turtle.getFuelLevel() < 90 do
  25.           print("i want "..(90 - turtle.getFuelLevel()).." more fuel" )
  26.           print("checking for fuel")
  27.           for i = 1, 16 do
  28.             turtle.select(i)
  29.             turtle.refuel()
  30.         end
  31.     end
  32.     print("i have fuel")
  33. end
  34.  
  35.  
  36.   function chop()
  37.     print("chopping")
  38.     turtle.dig()
  39.     turtle.forward()
  40.     while turtle.detectUp() == true do
  41.         turtle.digUp()
  42.        
  43.         if turtle.detect() == true then
  44.             turtle.dig()
  45.             turtle.forward()
  46.             turtle.dig()
  47.             turtle.back()
  48.         end
  49.  
  50.         turtle.turnLeft()
  51.         if turtle.detect() == true then
  52.             turtle.dig()
  53.             turtle.forward()
  54.             turtle.dig()
  55.             turtle.back()
  56.         end
  57.  
  58.         turtle.turnRight()
  59.         turtle.turnRight()
  60.         if turtle.detect() == true then
  61.             turtle.dig()
  62.             turtle.forward()
  63.             turtle.dig()
  64.             turtle.back()
  65.         end
  66.  
  67.         turtle.turnLeft()
  68.         turtle.up()
  69.     end
  70.     while turtle.detectDown() == false do
  71.         turtle.down()
  72.     end
  73. end
  74.  
  75.  
  76. function wander()
  77.     while turtle.detect() == false do
  78.         turtle.forward()
  79.         turtle.down()
  80.     end
  81.     if turtle.detect() == true then
  82.         local success, block = turtle.inspect()
  83. --        local passBlocks = {
  84. --            ["grass"] = true,
  85. --            ["tall_grass"] = true,
  86. --            ["deadbush"] = true,
  87. --            ["fern"] = true,
  88. --            ["large_fern"] = true,
  89. --            ["sweet_berry_bush"] = true
  90. --        }
  91. --        if passBlocks[block.name] == true then
  92. --            turtle.forward()
  93. --        end
  94.  
  95.         if string.find(block.name, "tall_grass") then
  96.             turtle.forward()
  97.         elseif string.find(block.name, "deadbush") then
  98.             turtle.forward()
  99.         elseif string.find(block.name, "fern") then
  100.             turtle.forward()
  101.         elseif string.find(block.name, "large_fern") then
  102.             turtle.forward()
  103.         elseif string.find(block.name, "sweet_berry_bush") then
  104.             turtle.forward()
  105.         elseif string.find(block.name, "log") then
  106.             chop()
  107.         else
  108.             local navRandom = math.random(0,3)
  109.             if navRandom <= 1 then
  110.                 turtle.up()
  111.               elseif navRandom <= 2 then
  112.                 turtle.turnLeft()
  113.               elseif navRandom <= 3 then
  114.                 turtle.turnRight()
  115.             end
  116.         end
  117.     end
  118. end
  119.  
  120.  
  121. function stripMine()
  122.     print("digging")
  123.     for i = 1, 60 do
  124.         turtle.digDown()
  125.         turtle.down()
  126.         for i = 1, 4 do
  127.             turtle.dig()
  128.             turtle.forward()
  129.             if turtle.detect() == true then
  130.                 local success, block = turtle.inspect()
  131.                 if string.find(block.name, "coal_ore") then
  132.                     turtle.dig()
  133.                     turtle.forward()
  134.                     if turtle.detect() == true then
  135.                         local success, block = turtle.inspect()
  136.                         if string.find(block.name, "coal_ore") then
  137.                             turtle.dig()
  138.                             turtle.forward()
  139.                             if turtle.detect() == true then
  140.                                 local success, block = turtle.inspect()
  141.                                 if string.find(block.name, "coal_ore") then
  142.                                     turtle.dig()
  143.                                     turtle.forward()
  144.                                     if turtle.detect() == true then
  145.                                         local success, block = turtle.inspect()
  146.                                         if string.find(block.name, "coal_ore") then
  147.                                             turtle.dig()
  148.                                             turtle.forward()
  149.                                         end
  150.                                     end
  151.                                     turtle.turnLeft()
  152.                                     if turtle.detect() == true then
  153.                                         local success, block = turtle.inspect()
  154.                                         if string.find(block.name, "coal_ore") then
  155.                                             turtle.dig()
  156.                                             turtle.forward()
  157.                                         end
  158.                                     end
  159.                                     turtle.turnRight()
  160.                                     turtle.turnRight()
  161.                                     if turtle.detect() == true then
  162.                                         local success, block = turtle.inspect()
  163.                                         if string.find(block.name, "coal_ore") then
  164.                                             turtle.dig()
  165.                                             turtle.forward()
  166.                                         end
  167.                                     end
  168.                                     turtle.turnLeft()
  169.                                     if turtle.detectUp() == true then
  170.                                         local success, block = turtle.inspectUp()
  171.                                         if string.find(block.name, "coal_ore") then
  172.                                             turtle.digUp()
  173.                                         end
  174.                                     end
  175.                                     if turtle.detectDown() == true then
  176.                                         local success, block = turtle.inspectDown()
  177.                                         if string.find(block.name, "coal_ore") then
  178.                                             turtle.digDown()
  179.                                         end
  180.                                     end
  181.                                     turtle.back()
  182.                                 end
  183.                             end
  184.                         end
  185.                     end
  186.                     turtle.turnLeft()
  187.                     if turtle.detect() == true then
  188.                         local success, block = turtle.inspect()
  189.                         if string.find(block.name, "coal_ore") then
  190.                             turtle.dig()
  191.                             turtle.forward()
  192.                             if turtle.detect() == true then
  193.                                 local success, block = turtle.inspect()
  194.                                 if string.find(block.name, "coal_ore") then
  195.                                     turtle.dig()
  196.                                     turtle.forward()
  197.                                     if turtle.detect() == true then
  198.                                         local success, block = turtle.inspect()
  199.                                         if string.find(block.name, "coal_ore") then
  200.                                             turtle.dig()
  201.                                             turtle.forward()
  202.                                         end
  203.                                     end
  204.                                     turtle.turnLeft()
  205.                                     if turtle.detect() == true then
  206.                                         local success, block = turtle.inspect()
  207.                                         if string.find(block.name, "coal_ore") then
  208.                                             turtle.dig()
  209.                                             turtle.forward()
  210.                                         end
  211.                                     end
  212.                                     turtle.turnRight()
  213.                                     turtle.turnRight()
  214.                                     if turtle.detect() == true then
  215.                                         local success, block = turtle.inspect()
  216.                                         if string.find(block.name, "coal_ore") then
  217.                                             turtle.dig()
  218.                                             turtle.forward()
  219.                                         end
  220.                                     end
  221.                                     turtle.turnLeft()
  222.                                     if turtle.detectUp() == true then
  223.                                         local success, block = turtle.inspectUp()
  224.                                         if string.find(block.name, "coal_ore") then
  225.                                             turtle.digUp()
  226.                                         end
  227.                                     end
  228.                                     if turtle.detectDown() == true then
  229.                                         local success, block = turtle.inspectDown()
  230.                                         if string.find(block.name, "coal_ore") then
  231.                                             turtle.digDown()
  232.                                         end
  233.                                     end
  234.                                     turtle.back()
  235.                                 end
  236.                             end
  237.                         end
  238.                     end
  239.                     turtle.turnRight()
  240.                     turtle.turnRight()
  241.                     if turtle.detect() == true then
  242.                         local success, block = turtle.inspect()
  243.                         if string.find(block.name, "coal_ore") then
  244.                             turtle.dig()
  245.                             turtle.forward()
  246.                             if turtle.detect() == true then
  247.                                 local success, block = turtle.inspect()
  248.                                 if string.find(block.name, "coal_ore") then
  249.                                     turtle.dig()
  250.                                     turtle.forward()
  251.                                     if turtle.detect() == true then
  252.                                         local success, block = turtle.inspect()
  253.                                         if string.find(block.name, "coal_ore") then
  254.                                             turtle.dig()
  255.                                             turtle.forward()
  256.                                         end
  257.                                     end
  258.                                     turtle.turnLeft()
  259.                                     if turtle.detect() == true then
  260.                                         local success, block = turtle.inspect()
  261.                                         if string.find(block.name, "coal_ore") then
  262.                                             turtle.dig()
  263.                                             turtle.forward()
  264.                                         end
  265.                                     end
  266.                                     turtle.turnRight()
  267.                                     turtle.turnRight()
  268.                                     if turtle.detect() == true then
  269.                                         local success, block = turtle.inspect()
  270.                                         if string.find(block.name, "coal_ore") then
  271.                                             turtle.dig()
  272.                                             turtle.forward()
  273.                                         end
  274.                                     end
  275.                                     turtle.turnLeft()
  276.                                     if turtle.detectUp() == true then
  277.                                         local success, block = turtle.inspectUp()
  278.                                         if string.find(block.name, "coal_ore") then
  279.                                             turtle.digUp()
  280.                                         end
  281.                                     end
  282.                                     if turtle.detectDown() == true then
  283.                                         local success, block = turtle.inspectDown()
  284.                                         if string.find(block.name, "coal_ore") then
  285.                                             turtle.digDown()
  286.                                         end
  287.                                     end
  288.                                     turtle.back()
  289.                                 end
  290.                             end
  291.                         end
  292.                     end
  293.                     turtle.turnLeft()
  294.                     if turtle.detectUp() == true then
  295.                         local success, block = turtle.inspectUp()
  296.                         if string.find(block.name, "coal_ore") then
  297.                             turtle.digUp()
  298.                         end
  299.                     end
  300.                     if turtle.detectDown() == true then
  301.                         local success, block = turtle.inspectDown()
  302.                         if string.find(block.name, "coal_ore") then
  303.                             turtle.digDown()
  304.                         end
  305.                     end
  306.                     turtle.back()
  307.                 end
  308.             end
  309.             turtle.back()
  310.             turtle.turnRight()
  311.         end
  312.     end
  313.     for i = 1 , 4 do
  314.         turtle.digUp()
  315.         turtle.up()
  316.         turtle.dig()
  317.         turtle.forward()
  318.     end
  319.     for i = 1, 11 do
  320.         turtle.digUp()
  321.         turtle.up()
  322.         for i = 1, 4 do
  323.             turtle.dig()
  324.             turtle.turnRight()
  325.         end
  326.     end
  327.     turtle.forward()
  328.     turtle.forward()
  329. end
  330.  
  331. -- functions end here
  332.  
  333.  
  334.  
  335. -- instructions start here
  336. firstChop()
  337. checkFuel()
  338.  
  339. while true do
  340.     stripMine()
  341.     turtle.forward()
  342.     stripMine()
  343.     while turtle.getFuelLevel() > 3000 do
  344.         wander()
  345.     end
  346.     stripMine()
  347.     for i = 1, 2 do
  348.         wander()
  349.     end
  350.     checkFuel()
  351. end
RAW Paste Data