Advertisement
RLPGhost

Minage v1.2

Feb 6th, 2015
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.36 KB | None | 0 0
  1. -- Programme de Minage en tunnel sur le nombre de blocks voulu
  2. -- http://pastebin.com/CiyHEnUd
  3.  
  4. -- fonction refuel
  5.  
  6. local charbonSlot = 16
  7. local touchSlot = 15
  8. local idChannel = 123
  9.  
  10. local niveauFuelMini = 5          -- niveau de déplacements auquel on doit refaire le plein de fuel
  11. local niveauCharbonMini = 5
  12.  
  13. local premierSlot = 1             -- foction inventaire
  14. local dernierSlot = 13
  15. local thermalChestSlot = 14
  16.  
  17.  
  18. function verifFuel()              -- vérifie si on a assez de fuel (déplacements) en réserve.
  19.   -- 1 charbon = 96 deplacements
  20.   -- On vérifie le niveau de fuel
  21.         local niveauFuel = turtle.getFuelLevel()
  22.         if (niveauFuel ~= "unlimited") then
  23.                 if (niveauFuel < niveauFuelMini) then
  24.                         -- On a besoin de faire le plein
  25.                         turtle.select(charbonSlot)
  26.                         turtle.refuel(1) -- on recharge pour 96 deplacements
  27.                 end
  28.         end
  29. end
  30.  
  31. function mineDevant()
  32.     while turtle.detect() do turtle.dig() end
  33. end
  34.  
  35. function mineHautBas()
  36.     while turtle.detectUp() do turtle.digUp() end
  37.     while turtle.detectDown() do turtle.digDown() end
  38. end
  39.  
  40. function movForward()
  41.     while not turtle.forward() do
  42.         sleep(1)
  43.     end
  44.     return true
  45. end
  46.  
  47. function videInventaire()   -- if turtle.getItemCount(dernierSlot) > 0
  48.  
  49.         local slot
  50.         if turtle.detectDown() then turtle.digDown() end
  51.         turtle.select(thermalChestSlot)
  52.         turtle.placeDown()
  53.         for slot=premierSlot,dernierSlot do
  54.                 turtle.select(slot)
  55.                 while turtle.getItemCount(slot) > 0 do
  56.                         turtle.dropDown(turtle.getItemCount(slot))
  57.                         if turtle.getItemCount(slot) > 0 then
  58.                                 sleep(0.5)
  59.                         end
  60.                 end
  61.         end
  62.  
  63.         turtle.select(thermalChestSlot)
  64.         turtle.digDown()
  65. end
  66.  
  67. function turn(Str)
  68.     if Str == "G" then turtle.turnLeft()
  69.     else turtle.turnRight()
  70.     end
  71. end
  72.  
  73.  
  74.  
  75. --********************************************--
  76. --********** Programme principal *************--
  77. --********************************************--
  78.  
  79. print("Entrez la dimensions du Tunnel a miner ?")
  80. print("")
  81. print("Longueur : ")
  82. longueur = tonumber(read())
  83.  
  84. print("Entrez le nombre de Puit a miner ?")
  85. print("")
  86. print("Puit : ")
  87. puit = tonumber(read())
  88.  
  89. print("Je Tourne a Gauche ou a Droite en sortant d'un Puit?")
  90. print("")
  91. print("G ou D : ")
  92. result = read()
  93.  
  94. if(result=="G") then
  95.     print("Appuyez sur [ENTREE] pour commencer !")
  96.     print("!! Noubliez pas le charbon , les torches et le coffre  !!")
  97.     read()
  98. elseif (result=="D") then
  99.     print("Appuyez sur [ENTREE] pour commencer !")
  100.     print("!! Noubliez pas le charbon , les torches et le coffre  !!")
  101.     read()
  102. else
  103.     print("Vous devez écrire G ou D :")
  104.     result = read()
  105. end
  106.  
  107. -- Début du minage
  108.  
  109. local p=1
  110. while p<=puit do -- Minage des puits
  111.  
  112.  
  113.     local l=1
  114.     while l<=longueur do
  115.         print("rentre dans boucle: "..l)
  116.         mineDevant()
  117.         verifFuel()
  118.         movForward()
  119.         mineHautBas()
  120.         if turtle.getItemCount(dernierSlot) > 0 then videInventaire() end
  121.         l = l+1
  122.     end
  123.  
  124.     -- Fin du tunnel , debut de retour
  125.  
  126.     turtle.turnRight()
  127.     turtle.turnRight()
  128.  
  129.     -- demi-tour fait et revient
  130.  
  131.     turtle.select(touchSlot)
  132.     turtle.placeDown()
  133.  
  134.     l=1
  135.     local t=1
  136.     while l<=longueur do
  137.         verifFuel()
  138.         mineDevant()
  139.         movForward()
  140.         l = l+1
  141.         t = t+1
  142.         if t>8 then
  143.                 turtle.select(touchSlot)
  144.                 turtle.placeDown()
  145.                 t=0
  146.         end
  147.     end
  148.    
  149.     p = p+1
  150.     turn(result)
  151.     movForward()
  152.     movForward()
  153.     movForward()
  154.     turn(result)
  155.    
  156. end
  157.  
  158. videInventaire()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement