Advertisement
Kiliandeca

DecaMiner - Miner Prog

Aug 5th, 2016
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.81 KB | None | 0 0
  1. print("futur miner main prog")
  2.  
  3. ramassage = false
  4.  
  5. function mine(DistInput)
  6.     DistParc = 0
  7.    
  8.     turtle.digDown()
  9.     turtle.digUp()
  10.    
  11.     while DistParc ~= DistInput do
  12.  
  13.         while turtle.detect() do
  14.             turtle.dig()
  15.         end
  16.  
  17.  
  18.         if turtle.forward() then
  19.             DistParc = DistParc + 1
  20.             turtle.digDown()
  21.             turtle.digUp()
  22.         else
  23.             turtle.attack()
  24.         end
  25.  
  26.         if DistParc/20 == math.floor(DistParc/20) then
  27.             if turtle.getFuelLevel() < 256 then
  28.                 print("need fuel")
  29.                 refuel()
  30.             end
  31.         end
  32.  
  33.     end
  34. end
  35.  
  36. function refuel()
  37.  
  38.     for slot = 1, 16 do
  39.         turtle.select(slot)
  40.         if turtle.refuel(8) then
  41.             turtle.select(1)
  42.             return true
  43.         end    
  44.     end
  45.     turtle.select(1)
  46.     return false
  47. end
  48.  
  49. function position()
  50.  
  51.     id, msg, protocol = rednet.receive("position")
  52.  
  53.     ligne = msg[1]
  54.     colonne = msg[2]
  55.  
  56.     if colonne == 0 and ligne == 0 then
  57.         success, data = turtle.inspect()
  58.         print(data.name)
  59.         if data.name == "ComputerCraft:CC-Turtle" or data.name == "ComputerCraft:CC-TurtleExpanded" then
  60.             turtle.turnRight()
  61.             turtle.turnRight()
  62.         end
  63.     end
  64.  
  65.     if colonne ~= 0 then
  66.         turtle.turnLeft()
  67.         for i=1, colonne do
  68.  
  69.             success, data = turtle.inspect()
  70.            
  71.             while data.name == "ComputerCraft:CC-Turtle" or data.name == "ComputerCraft:CC-TurtleExpanded" do
  72.                 sleep(2)
  73.                 success, data = turtle.inspect()
  74.             end
  75.  
  76.             while not turtle.forward() do
  77.                 turtle.dig()
  78.    
  79.             end
  80.  
  81.         end
  82.         turtle.turnRight()
  83.     end
  84.  
  85.     if ligne ~= 0 then
  86.         for i = 1, 3*ligne do
  87.  
  88.             success, data = turtle.inspectUp()
  89.  
  90.             while data.name == "ComputerCraft:CC-Turtle" or data.name == "ComputerCraft:CC-TurtleExpanded" do
  91.                 sleep(2)
  92.                 success, data = turtle.inspectUp()
  93.             end
  94.  
  95.             while not turtle.up() do
  96.                 turtle.digUp()
  97.             end
  98.  
  99.         end
  100.     end
  101.  
  102.     while not turtle.forward() do
  103.         turtle.dig()
  104.     end
  105. end
  106.  
  107.  
  108.  
  109. function loot()
  110.  
  111.     if ligne ~= 0 then
  112.         for i=1, ligne*2 do
  113.             while not turtle.down() do
  114.                 sleep(0.2)
  115.                 local success, data = turtle.inspectDown()
  116.                 if data.name ~= "ComputerCraft:CC-Turtle" and data.name ~= "ComputerCraft:CC-TurtleExpanded" then
  117.                     turtle.digDown()               
  118.                 end
  119.  
  120.                 print("je suis québlo gros")
  121.             end
  122.         end
  123.     end
  124.  
  125.  
  126.     if ligne == 0 then
  127.         if colonne == 0 then   
  128.             turtle.turnRight()
  129.         end
  130.         turtle.turnRight()
  131.  
  132.         while msg == "l" do
  133.             for i=1, 16 do
  134.                 turtle.select(i)
  135.                 turtle.drop()
  136.             end
  137.  
  138.             if protocol == "r" then
  139.                 recup()
  140.             end
  141.  
  142.             id, msg, protocol = rednet.receive(10)
  143.         end
  144.         sleep(0.1)
  145.  
  146.     else
  147.  
  148.         while msg == "l" do
  149.             for i=1, 16 do
  150.                 turtle.select(i)
  151.                 turtle.dropDown()
  152.             end
  153.    
  154.             if protocol == "r" then
  155.                 recup()
  156.             end
  157.  
  158.             id, msg, protocol = rednet.receive(10)
  159.  
  160.         end
  161.     end
  162.  
  163.  
  164.     if ligne ~= 0 then
  165.         for i=1, ligne*2 do
  166.             while not turtle.up() do
  167.                 sleep(0.2)
  168.                 local success, data = turtle.inspectUp()
  169.  
  170.                 if data.name ~= "ComputerCraft:CC-Turtle" and data.name ~= "ComputerCraft:CC-TurtleExpanded" then
  171.                     turtle.digUp()             
  172.                 end
  173.  
  174.                 print("je suis québlo gros1")
  175.             end
  176.         end
  177.     end
  178.  
  179.  
  180.     if ligne == 0 then
  181.         if colonne == 0 then   
  182.             turtle.turnLeft()
  183.         end
  184.         turtle.turnLeft()
  185.     end
  186. end
  187.  
  188.  
  189. function recup()
  190.  
  191.     if ligne == 0 then -- bas
  192.  
  193.         sleep(5)
  194.  
  195.         while true do
  196.  
  197.             if not ramassage then
  198.                 turtle.turnRight()
  199.  
  200.                 if colonne ~= 0 then
  201.                     turtle.turnRight()
  202.                 end
  203.  
  204.                 ramassage = true
  205.  
  206.             end
  207.  
  208.             turtle.suckUp()
  209.  
  210.             if redstone.getInput("top") then
  211.                 turtle.digUp()
  212.             end
  213.  
  214.  
  215.             local success, data = turtle.inspectUp()
  216.             if data.name ~= "ComputerCraft:CC-Turtle" and data.name ~= "ComputerCraft:CC-TurtleExpanded" then
  217.            
  218.                 while true do
  219.                
  220.                     local success, data = turtle.inspect()
  221.                     if data.name ~= "ComputerCraft:CC-Turtle" and data.name ~= "ComputerCraft:CC-TurtleExpanded" then
  222.  
  223.                         if vide() then
  224.                             if colonne == 0 then
  225.                                 redstone.setOutput("bottom", true)
  226.                             else
  227.                                 redstone.setOutput("back", true)
  228.                             end
  229.                         end
  230.  
  231.                     else
  232.                         turtle.suck()
  233.                         if redstone.getInput("front") and vide() then
  234.                             turtle.dig()
  235.                         end
  236.                     end
  237.                 end
  238.  
  239.             end
  240.         end
  241.  
  242.  
  243.     else -- haut
  244.  
  245.         sleep(5)       
  246.  
  247.         while true do
  248.  
  249.             local success, data = turtle.inspectUp()
  250.  
  251.             if data.name ~= "ComputerCraft:CC-Turtle" and data.name ~= "ComputerCraft:CC-TurtleExpanded" then
  252.                 redstone.setOutput("bottom", true)
  253.  
  254.             else
  255.  
  256.                 if redstone.getInput("top") then
  257.                     turtle.digUp()
  258.                 else
  259.                     turtle.suckUp()
  260.                 end
  261.             end
  262.         end
  263.  
  264.  
  265.     end
  266.  
  267.  
  268. end
  269.  
  270.  
  271. function vide()
  272.  
  273.     for i=1, 16 do
  274.         turtle.select(i)
  275.         if turtle.getItemCount() ~= 0 then
  276.             return false
  277.         end
  278.     end
  279.  
  280.     return true
  281.  
  282. end
  283.  
  284. rednet.open("right")
  285. position()
  286.  
  287.  
  288. while true do
  289.  
  290.     id, msg, protocol = rednet.receive()
  291.  
  292.     if protocol == "m" then
  293.         print(msg)
  294.         mine(msg)
  295.     end
  296.  
  297.     if msg == "l" then
  298.         print("Loot")
  299.         loot()
  300.     end
  301.  
  302. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement