Advertisement
Guest User

tunnel.lua

a guest
Jun 18th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.66 KB | None | 0 0
  1. fd   = turtle.forward
  2. t    = turtle
  3. L    = turtle.turnLeft
  4. R    = turtle.turnRight
  5. up   = turtle.up
  6. down = turtle.down
  7. start_legth = 0
  8. wave = 0
  9.  
  10. function dig()
  11.  while turtle.detect() do
  12.   turtle.dig()
  13.  end
  14. end
  15.  
  16. function digUp()
  17.  while turtle.detectUp() do
  18.   turtle.digUp()
  19.  end
  20. end
  21.  
  22. function Ndig()
  23.  dig()
  24.  digUp()
  25. end
  26.  
  27. function DFd()
  28.  for i = 1, 3 do
  29.   Ndig()
  30.   fd()
  31.  end
  32. end
  33.  
  34. function search_torch()
  35.  for i = 1, 16 do
  36.   turtle.select(i)
  37.   local item = t.getItemDetail(i)
  38.   if item then
  39.    if item.name == "minecraft:torch" then
  40.     turtle.transferTo(1)
  41.    end
  42.   end
  43.  end
  44. end
  45. function search_torch_konsekvens()
  46.  turtle.select(1)
  47.  local Item = turtle.getItemDetail()
  48.  if Item.count <= 2 * wave then
  49.   print("You haven't got ".. tostring(Iten.count).. "torches, but you need ".. tostring(2 * wave))
  50.   write("Do you want to carry on (y/N)")
  51.   local answer = read()
  52.   if string.lower(answer) == "n" or answer == "" then
  53.    return false
  54.   end
  55.  end
  56. end
  57.  
  58.  
  59. function refuel()
  60.  local fuel = t.getFuelLevel()
  61.  if fuel <= 1000 then
  62.   for i = 1, 16 do
  63.    t.select(i)
  64.    local item = t.getItemDetail()
  65.    if item.name == "minecraft:coal" then
  66.     local how_much = (2000 - fuel)/80
  67.     if item.count >= how_much then
  68.      t.refuel(how_much)
  69.      return true
  70.     else
  71.      t.refuel(item.count)
  72.      return false
  73.     end
  74.    end
  75.   end
  76.  else
  77.   return true
  78.  end
  79. end
  80.  
  81. print("I will refuel my self with everything in my inventory in")
  82. for i = 10, 1, -1 do
  83.  print(i, "seconds")
  84.  sleep(1)
  85. end
  86. shell.run("refuel", "all")
  87. f = t.getFuelLevel()
  88. if f <= 1000 then
  89.  write("your fuelLevel is under 1000, do you want to carry on? (y/N)    ")
  90.  answer = read()
  91.  if string.lower(answer) == "n" or answer == "" then
  92.   return false
  93.  end
  94. end
  95.  
  96. search_torch()
  97. search_torch_konsekvens()
  98.  
  99. write("How many 30 legth do you want to mine?   ")
  100. wave = read()
  101. wave = tonumber(wave)
  102. varv = 0
  103.  
  104. while t.detect() == false do
  105.  fd()
  106.  start_legth = start_legth + 1
  107. end
  108. for i = 1, wave do
  109.  for n = 1, 30 do
  110.   print(n)
  111.   dig()
  112.   fd()
  113.   R()
  114.   DFd()
  115.   digUp()
  116.   t.up()
  117.   digUp()
  118.   t.up()
  119.   if n % 15 == 0 then
  120.    t.select(1)
  121.    t.placeDown()
  122.   end
  123.   L()
  124.   L()
  125.   DFd()
  126.   digUp()
  127.   down()
  128.   down()
  129.   R()
  130.  end
  131.  R()
  132.  R()
  133.  varv = varv + 1
  134.  for a = 1, (30 * varv) + 1 + start_legth do
  135.   fd()
  136.  end
  137.  for p = 2, 16 do
  138.   t.select(p)
  139.   t.drop()
  140.  end
  141.  if not varv == wave then
  142.   local fuel = refuel()
  143.   search_torch()
  144.   if fuel == false then
  145.    local fuelLevel = t.getFuelLevel()
  146.    print("low fuel level! "..tostring(fuelLevel))
  147.   end
  148.   R()
  149.   R()
  150.   for p = 1, (30 * varv) + 1 + start_legth do
  151.    fd()
  152.   end
  153.  else
  154.   break
  155.  end
  156. end
  157. L()
  158. L()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement