Marech

Turtle_line_online_Marech

Jun 24th, 2015
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.28 KB | None | 0 0
  1. --created by Marech
  2. --Turtle program for Minecraft
  3.  
  4. rednet.open("right")
  5.  
  6. function clc()
  7.         term.clear()
  8.         term.setCursorPos(1,1)
  9. end
  10.  
  11. function goForward()
  12.     i=0
  13.     while not turtle.forward() and i<30 do
  14.         turtle.attack()
  15.         turtle.dig()
  16.         i=i+1
  17.     end
  18.     turtle.digUp()
  19. end
  20.  
  21. function placeLight()
  22.  
  23.     i = getSlotOf('minecraft:torch')
  24.     if i == 0 then
  25.         display('Plus de torches')
  26.     else
  27.         turtle.select(i)
  28.         turtle.back()
  29.         turtle.turnLeft()
  30.         turtle.placeUp()
  31.         turtle.turnRight()
  32.         goForward()
  33.     end
  34. end
  35.  
  36. function refuel()
  37.     if turtle.getFuelLevel() ~= "unlimited" and turtle.getFuelLevel() < 1 then
  38.         i = getSlotOf('minecraft:coal')
  39.         if i ~= 0 then
  40.             turtle.select(i)
  41.             turtle.refuel(1)
  42.             display('refuel')
  43.         else
  44.             turtle.select(1)
  45.             if not turtle.refuel(0) then
  46.                 display('Need fuel in slot 1')
  47.             end
  48.  
  49.             while turtle.refuel(0) == false do
  50.             end
  51.  
  52.             turtle.refuel(1)
  53.         end
  54.  
  55.     end
  56. end
  57.  
  58. function getSlotOf(itemID)
  59.     for i=1,16 do
  60.         turtle.select(i)
  61.         local details = turtle.getItemDetail()
  62.         if details ~= nil then
  63.             if details.name == itemID then
  64.                 display(details.name .. ' au slot' .. i)
  65.                 return i
  66.             end
  67.         end
  68.     end
  69.     return 0
  70. end
  71.  
  72. function dropItems()
  73.     i = getSlotOf('minecraft:cobblestone')
  74.     if i ~= 0 then
  75.         turtle.select(i)
  76.         turtle.drop()
  77.     end
  78. end
  79.  
  80. function backHome()
  81.     display('Je rentre a la maison')
  82.     turtle.turnRight()
  83.  
  84.     for i=1, lines*3 do
  85.         goForward()    
  86.     end
  87. end
  88.  
  89. function display(message)
  90.     print(message)
  91.     rednet.broadcast(message)
  92. end
  93.  
  94.  
  95. --Script------
  96.  
  97.  
  98. clc()
  99. print('Hello there !')
  100. print()
  101.  
  102. write('Longueur ?')
  103. print()
  104. length = read()
  105.  
  106. write('Nombre de lignes ? (Nombre pair)')
  107. print()
  108. lines = read()
  109.  
  110. if lines%2 == 1 then
  111.     print('On a dit un nombre pair !')
  112.     print()
  113.     lines = lines+1
  114.     print('On va dire ' .. lines .. ' lignes du coup')
  115. end
  116.  
  117. display('Lets go !')
  118. print()
  119.  
  120. for i=1, lines do
  121.     for j=0,length-1 do
  122.         dropItems()
  123.         refuel()
  124.         goForward()
  125.  
  126.         if j%20 == 0 then
  127.             placeLight()
  128.         end
  129.     end
  130.  
  131.     if i%2 == 1 then
  132.         turtle.turnLeft()
  133.         goForward()
  134.         goForward()
  135.         goForward()
  136.         turtle.turnLeft()
  137.     else
  138.         turtle.turnRight()
  139.         goForward()
  140.         goForward()
  141.         goForward()
  142.         turtle.turnRight()
  143.     end
  144.  
  145.     display('Ligne suivante')
  146. end
  147.  
  148. backHome()
  149.  
  150. display('End')
Advertisement
Add Comment
Please, Sign In to add comment