lord_thekenny

GeneObsi_1.4

Dec 5th, 2020
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.23 KB | None | 0 0
  1. -- Var --
  2. targs = { ... }
  3. numberCycle = 1
  4.  
  5. -- Check de bon fonctionnement --
  6. function Check()
  7.     local toSender = true
  8.  
  9.     if numberCycle <= 0 then
  10.         toSender = false
  11.         print("fini!")
  12.     elseif turtle.getFuelLevel() < 6 then
  13.         toSender = refuel()
  14.     elseif CalculRedstone() == false then
  15.         toSender = false
  16.     end
  17.  
  18.     return toSender
  19. end
  20.  
  21. -- Permet de remettre du fuel --
  22. -- * return => false si pas de carburant dans les slots
  23. function refuel()
  24.     turtle.select(1)
  25.     if turtle.getItemCount(1) > 0 then
  26.         return turtle.refuel()
  27.     else
  28.         print("Plus de carburant!")
  29.     end
  30.  end
  31.  
  32. -- Calcul redstone --
  33. function CalculRedstone()
  34.     if turtle.getItemCount(2) >= numberCycle*3 then
  35.         return true
  36.     else
  37.         print("Plus de redstone!")
  38.         return false
  39.     end
  40. end
  41.  
  42. -- Affichafe de l'aide --
  43. function Help()
  44.     print("Slot :")
  45.     print("* Slot 1 => coal")
  46.     print("* Slot 2 => redstone")
  47.     print("* Slot 3 => Obsidian")
  48.     print("Fonctionnement :")
  49.     print("* 3 RedStone minimum")
  50.     print("* 1 Obsidian minimum => pour que la turtle puis le detect")
  51.     print("Default config:")
  52.     print("* Nombre de cycle => 1")
  53.     print("Usages :")
  54.     print("* GeneObsi")
  55.     print("* GeneObsi <Nombre de cycle>")
  56. end
  57.  
  58. -- Function Mine --
  59. function Mine()
  60.     for i=1,3 do
  61.         turtle.dig()
  62.         turtle.forward()
  63.     end
  64. end
  65.  
  66. -- Function Place --
  67. function Place()
  68.     for i=1,3 do
  69.         turtle.back()
  70.         turtle.select(2)
  71.         turtle.place()
  72.     end
  73. end
  74.  
  75. -- Function Test Obsidian Devant --
  76. function TestIsObsidian()
  77.     turtle.select(3)
  78.     return turtle.compare() == false
  79. end
  80.  
  81. -- Init --
  82. if #targs >=1 then
  83.     -- Affichage de l'aide
  84.     if targs[1] == "help" then
  85.         Help()
  86.     elseif tonumber(targs[1]) ~= nil  then
  87.         numberCycle = tonumber(targs[1])
  88.     end
  89. end
  90. -- Mise en place en la turtle
  91. for i=1,3 do
  92.     turtle.forward()
  93. end
  94.  
  95. -- Boucle de fonctionnement
  96. while Check() do
  97.     -- On place les block
  98.     Place()
  99.  
  100.     -- on active la redstone
  101.     rs.setOutput("right",true)
  102.     -- on test si c'est toujours de la redstone devant
  103.     while TestIsObsidian() do
  104.         sleep(5)
  105.     end
  106.     -- on active la redstone
  107.     rs.setOutput("right",false)
  108.  
  109.     sleep(4)
  110.  
  111.     -- Mine --
  112.     Mine()
  113.     numberCycle = numberCycle-1
  114. end
  115.  
  116. -- Quand c'est fini
  117. for i=1,3 do
  118.     turtle.back()
  119. end
  120.  
Add Comment
Please, Sign In to add comment