Advertisement
Gioves

Untitled

Nov 25th, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local firstSlotBlackList = 1 --Slots for compare dirt/stone/...
  2. local lastSlotBlackList = 4
  3.  
  4. local firstSlot = 5 --Slots for store ore
  5. local lastSlot = 12
  6.  
  7. local cobleChestSlot = 13 -- Slots for send/recive items
  8. local useSlot = 14
  9. local coalChestSlot = 15
  10. local enderChestSlot = 16
  11.  
  12. function emptyIfFull() --check if the turtle is full and empty it
  13.     if (turtle.getItemCount(lastSlot-1) > 0) then
  14.         print("Vidange des items...")
  15.         turtle.select(enderChestSlot)
  16.         turtle.placeUp()
  17.         sleep(0.15)
  18.         for slot=firstSlot,lastSlot do
  19.             turtle.select(slot)
  20.             while turtle.getItemCount(slot) > 0 do
  21.                 turtle.dropUp(turtle.getItemCount(slot))
  22.                 if turtle.getItemCount(slot) > 0 then
  23.                     sleep(5)
  24.                 end
  25.             end
  26.         end
  27.         print("Fin")
  28.         turtle.select(enderChestSlot)
  29.         turtle.digUp()
  30.     end
  31. end
  32.  
  33. function refuelIfEmpty() --fill the fuel of the turtle
  34.     if turtle.getFuelLevel()<500 then
  35.         print("Remplissage de Coal...")
  36.         turtle.select(coalChestSlot)
  37.         turtle.placeUp()
  38.         turtle.select(useSlot)
  39.         turtle.suckUp(32)
  40.         turtle.refuel(32)
  41.         print("Fin")
  42.         turtle.select(coalChestSlot)
  43.         turtle.digUp()
  44.     end
  45. end
  46.  
  47. function checkDig() --check if is not blacklisted and dig it if it's true
  48.     local dig = true
  49.     for slot=firstSlotBlackList,lastSlotBlackList do
  50.         turtle.select(slot)
  51.         if turtle.compare() then
  52.             dig = false
  53.         end
  54.     end
  55.     if dig then
  56.         turtle.dig()
  57.     end
  58. end
  59.  
  60. function well() -- dig the well and ores
  61.     local depth = 1
  62.     turtle.digDown()
  63.     turtle.down()
  64.     turtle.digDown()
  65.     while turtle.down() do
  66.         for i=0,3 do
  67.             turtle.turnRight()
  68.             checkDig()
  69.         end
  70.         emptyIfFull()
  71.         depth = depth+1
  72.         turtle.digDown()
  73.     end
  74.     return depth
  75. end
  76.  
  77. function up(depth)
  78.     for i=1,depth do
  79.         turtle.up()
  80.         if turtle.getItemCount(useSlot) <=1 then
  81.             turtle.select(cobleChestSlot)
  82.             turtle.placeUp()
  83.             turtle.select(useSlot)
  84.             turtle.suckUp(64)
  85.             turtle.select(cobleChestSlot)
  86.             turtle.digUp()
  87.             turtle.select(useSlot)
  88.             turtle.placeDown()
  89.         else
  90.             turtle.select(useSlot)
  91.             turtle.placeDown()
  92.         end
  93.     end
  94.     turtle.select(enderChestSlot)
  95.     turtle.placeUp()
  96.     turtle.select(useSlot)
  97.     turtle.dropUp(turtle.getItemCount(slot))
  98.     turtle.select(enderChestSlot)
  99.     turtle.digUp()
  100. end
  101.  
  102. function nextwell() -- move to the next well
  103.     for j=0,4 do
  104.         turtle.forward()
  105.     end
  106. end
  107.  
  108. function firstWell(nb) -- move to the next well
  109.     for i=1,nb do
  110.         turtle.forward()
  111.     end
  112. end
  113.  
  114. function start(nbrPuits, turtleType)
  115.     if(turtleType == 1) then
  116.         print("En cours...")
  117.     elseif(turtleType == 2) then
  118.         firstWell(3)
  119.         print("En cours...")
  120.     elseif(turtleType == 3) then
  121.         firstWell(1)
  122.         print("En cours...")
  123.     elseif(turtleType == 4) then
  124.         firstWell(4)
  125.         print("En cours...")
  126.     else
  127.         firstWell(2)
  128.         print("En cours...")
  129.     end
  130.     for i=1,nbrPuits do
  131.         print("boucle main")
  132.         refuelIfEmpty()
  133.         depth = well()
  134.         print("profondeur :")
  135.         print(depth)
  136.         up(depth)
  137.         nextwell() 
  138.     end
  139.     print("Terminee")
  140. end
  141.    
  142. -------------
  143. --Main Prog
  144. -------------
  145.  
  146. local depth = 0
  147. local nbrPuits
  148. local turtleType
  149.  
  150. print("Quarry v0.1 Alpha")
  151. print("Type de la turtle : 1 a 5. (Syncro)")
  152. turtleType = tonumber(read())
  153. print("Nombre de puits :")
  154. nbrPuits = tonumber(read())
  155. if (turtleType < 1) or (turtleType>5) or (nbrPuits>64) then
  156.     print("Erreur : Reboot")
  157.     sleep(5)
  158.     os.reboot()
  159. end
  160. term.clear()
  161. term.setCursorPos(1,1)
  162. print("Quarry v0.1 Alpha")
  163. print("Run...")
  164. start(nbrPuits, turtleType)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement