OtroIntentoDe

ExcavatorAPI

Nov 15th, 2015
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.75 KB | None | 0 0
  1. function camina(bloques, direccionCamina)
  2.     if direccionCamina == "adelante" then
  3.         for i = 1, bloques do
  4.             hayBloque = turtle.detect()
  5.             while hayBloque do
  6.                 turtle.dig()
  7.                 sleep(0.5)
  8.                 hayBloque = turtle.detect()
  9.             end
  10.             turtle.forward()
  11.         end
  12.  
  13.     elseif direccionCamina == "arriba" then
  14.         for i = 1, bloques do
  15.             hayBloque = turtle.detectUp()
  16.             while hayBloque do
  17.                 turtle.digUp()
  18.                 sleep(0.5)
  19.                 hayBloque = turtle.detectUp()
  20.             end
  21.             turtle.up()
  22.         end
  23.    
  24.     elseif direccionCamina == "atras" then
  25.         for i = 1, bloques do
  26.             if not turtle.back() then
  27.                 mediaVuelta("izquierda")
  28.                 hayBloque = turtle.detect()
  29.                 while hayBloque do
  30.                     turtle.dig()
  31.                     sleep(0.5)
  32.                     hayBloque = turtle.detect()
  33.                 end
  34.                 mediaVuelta("derecha")
  35.             end
  36.             turtle.back()
  37.         end
  38.  
  39.     elseif direccionCamina == "abajo" then
  40.         for i = 1, bloques do
  41.             hayBloque = turtle.detectDown()
  42.             while hayBloque do
  43.                 turtle.digDown()
  44.                 sleep(0.5)
  45.                 hayBloque = turtle.detectDown()
  46.             end
  47.             turtle.down()
  48.         end
  49.     end
  50. end
  51.  
  52. function escarba(direccionEscarba)
  53.     if direccionEscarba == "adelante" then
  54.         hayBloque = turtle.detect()
  55.         while hayBloque do
  56.             turtle.dig()
  57.             sleep(0.5)
  58.             hayBloque = turtle.detect()
  59.         end
  60.        
  61.     elseif direccionEscarba == "arriba" then
  62.         hayBloque = turtle.detectUp()
  63.         while hayBloque do
  64.             turtle.digUp()
  65.             sleep(0.5)
  66.             hayBloque = turtle.detectUp()
  67.         end
  68.        
  69.     elseif direccionEscarba == "abajo" then
  70.         hayBloque = turtle.detectDown()
  71.         while hayBloque do
  72.             turtle.digDown()
  73.             sleep(0.5)
  74.             hayBloque = turtle.detectDown()
  75.         end
  76.     end
  77. end
  78.  
  79. function mediaVuelta (direccionMV)
  80.     if direccionMV == "derecha" then
  81.         for i = 1, 2 do
  82.             turtle.turnRight()
  83.         end
  84.     elseif direccionMV == "izquierda" then
  85.         for i = 1, 2 do
  86.             turtle.turnLeft()
  87.         end
  88.     end
  89. end
  90.  
  91. function giro (direccionGiro)
  92.     if direccionGiro == "derecha" then
  93.         turtle.turnRight()
  94.     elseif direccionGiro == "izquierda" then
  95.         turtle.turnLeft()
  96.     end
  97. end
  98.  
  99. function coloca(direccionColoca, slot)
  100. turtle.select(slot)
  101.     if direccionColoca == "adelante" then
  102.         b = turtle.detect()
  103.         while b do
  104.             turtle.dig()
  105.             b = turtle.detect()
  106.         end
  107.         turtle.place()
  108.     end
  109.     if direccionColoca == "arriba" then
  110.         b = turtle.detectUp()
  111.         while b do
  112.             turtle.digUp()
  113.             b = turtle.detectUp()
  114.         end
  115.         turtle.placeUp()
  116.     end
  117.     if direccionColoca == "abajo" then
  118.         b = turtle.detectDown()
  119.         while b do
  120.             turtle.digDown()
  121.             b = turtle.detectDown()
  122.         end
  123.         turtle.placeDown()
  124.     end
  125. turtle.select(1)
  126. end
  127.  
  128. function depocita(Slot)
  129.     turtle.select(Slot)
  130.     mediaVuelta("izquierda")
  131.     coloca("adelante", Slot)
  132.     for i = 1, 12 do
  133.         turtle.select(i)
  134.         turtle.drop()
  135.     end
  136.     turtle.select(Slot)
  137.     escarba("adelante")
  138.     giro("izquierda")
  139.     turtle.select(1)
  140. end
  141.  
  142. function puerta(tipo, SlotBasura)
  143.     if tipo == "2x1" then
  144.         camina(1, "adelante")
  145.         escarba("arriba")
  146.         escarba("abajo")
  147.         camina(1, "adelante")  
  148.         escarba("arriba")
  149.         camina(1, "abajo")
  150.         giro("izquierda")
  151.         camina(1, "adelante")
  152.         camina(3, "arriba")
  153.         mediaVuelta("izquierda")
  154.         camina(2, "adelante")
  155.         camina(3, "abajo")
  156.         mediaVuelta("derecha")
  157.         camina(1, "adelante")
  158.         depocita(SlotBasura)
  159.     elseif tipo == "3x3" then
  160.         camina(1, "adelante")  
  161.         escarba("arriba")
  162.         camina(1, "abajo")
  163.         giro("izquierda")
  164.         camina(1, "adelante")
  165.         camina(3, "arriba")
  166.         mediaVuelta("izquierda")
  167.         camina(2, "adelante")
  168.         camina(3, "abajo")
  169.         mediaVuelta("derecha")
  170.         camina(1, "adelante")
  171.         depocita(SlotBasura)
  172.         camina(1, "adelante")
  173.         escarba("arriba")
  174.         giro("izquierda")
  175.         camina(1, "adelante")
  176.         escarba("adelante")
  177.         for i = 1, 4 do
  178.             camina(1, "arriba")
  179.             escarba("adelante")
  180.         end
  181.         mediaVuelta("izquierda")
  182.         camina(1, "abajo")
  183.         for i = 1, 3 do
  184.             camina(1, "adelante")
  185.             escarba("arriba")
  186.             escarba("abajo")
  187.         end
  188.         camina(3, "abajo")
  189.         mediaVuelta("izquierda")
  190.         camina(1, "adelante")
  191.         escarba("arriba")
  192.         camina(1, "adelante")
  193.         depocita(SlotBasura)
  194.        
  195.            
  196.     end
  197. end
  198.  
  199. function salon(profundidad, ancho, alto, slotBasura)
  200.     local hacia
  201.     for i = 1, profundidad do
  202.         camina(1, "adelante")
  203.         giro("izquierda")
  204.         camina(tonumber(ancho/2), "adelante")
  205.         mediaVuelta("derecha")
  206.         hacia = "arriba"
  207.         for i = 1, ancho-1 do
  208.             camina(alto-1, hacia)
  209.             camina(1, "adelante")
  210.             if hacia == "arriba" then
  211.                 hacia = "abajo"
  212.             elseif hacia == "abajo" then
  213.                 hacia = "arriba"
  214.             end
  215.         end
  216.         if  hacia == "arriba" then
  217.             camina(alto-2, "arriba")
  218.             escarba("arriba")
  219.             camina(alto-2, "abajo")
  220.             mediaVuelta("derecha")
  221.             camina(tonumber(ancho/2), "adelante")
  222.             depocita(slotBasura)
  223.         elseif hacia == "abajo" then
  224.             camina(alto-1, "abajo")
  225.             mediaVuelta("derecha")
  226.             camina(tonumber(ancho/2), "adelante")
  227.             depocita(slotBasura)
  228.         end
  229.     end
  230. end
Advertisement
Add Comment
Please, Sign In to add comment