Advertisement
psychedelixx

Minecraft Turtle: Chest Tunnel

Nov 30th, 2013
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[
  2.     2013 (c) psychedelixx
  3.     Minecraft Turtle: Chest Tunnel
  4.     2013-05-22
  5.  
  6.     Digs a room with specified dimensions.
  7.  
  8.     Usage:
  9.         - use turtle and type "label set <name>"
  10.           (to give your turtle an unique name so it remembers its programs)
  11.         - type "pastebin get YijBG3sz ctunnel "
  12.         - type "ctunnel <length> [<return (0|1)>]"
  13.         - place chests in slot 15
  14.         - place torches in slot 16
  15. --]]
  16.  
  17. i = 0
  18. ret = 0
  19.  
  20. function move()
  21.     i = i+1
  22.     if turtle.getFuelLevel() < 2 then
  23.         turtle.refuel()
  24.     end
  25.    
  26.     print("----------------")
  27.     print("Remaining fuel: " .. turtle.getFuelLevel())
  28.     print("Digged: " .. i .. "/" .. length .. "(" .. math.floor(100/length*i) .. "%)")
  29.     print("Next torch in " .. 9-i%8)
  30.     print("Next chest in " .. 33-i%32)
  31.     print("")
  32.    
  33.     --[[ Vorwärts graben und bewegen ]]--
  34.     while not turtle.forward() do
  35.         turtle.dig()
  36.     end
  37.    
  38.     --[[ Hoch bzw. runter graben ]]--
  39.     if i%2 == 1 then
  40.         repeat
  41.             turtle.digUp()
  42.         until not turtle.detectUp()
  43.     else
  44.         turtle.digDown()
  45.     end
  46.    
  47.     --[[ Links graben ]]--
  48.     turtle.turnLeft()
  49.     repeat
  50.         turtle.dig()
  51.     until not turtle.detect()
  52.    
  53.     --[[ Chest setzen und Items ablegen ]]--
  54.     if i%32 == 1 and i > 5 then
  55.         turtle.select(15)
  56.         turtle.place()
  57.         for slot = 1, 14 do
  58.             turtle.select(slot)
  59.             turtle.drop()
  60.         end
  61.     end
  62.    
  63.     --[[ Rechts graben ]]--
  64.     turtle.turnLeft()
  65.     turtle.turnLeft()
  66.     repeat
  67.         turtle.dig()
  68.     until not turtle.detect()
  69.    
  70.     --[[ Fackel setzen ]]--
  71.     if i%8 == 1 then
  72.         turtle.select(16)
  73.         turtle.place()
  74.     end
  75.  
  76.     --[[ Hoch bzw. runter bewegen ]]-- 
  77.     if i%2 == 1 then
  78.         turtle.digDown()
  79.         turtle.up()
  80.         repeat
  81.             turtle.digUp()
  82.         until not turtle.detectUp()
  83.     else   
  84.         repeat
  85.             turtle.digUp()
  86.         until not turtle.detectUp()
  87.         turtle.down()
  88.         turtle.digDown()
  89.     end
  90.    
  91.     --[[ Rechts graben ]]--
  92.     repeat
  93.         turtle.dig()
  94.     until not turtle.detect()
  95.    
  96.     --[[ Links graben ]]--
  97.     turtle.turnLeft()
  98.     turtle.turnLeft()
  99.     repeat
  100.         turtle.dig()
  101.     until not turtle.detect()
  102.    
  103.     --[[ Nach vorne drehen ]]--
  104.     turtle.turnRight() 
  105. end
  106.  
  107. local args = { ... }
  108. if #args < 1 then
  109.     print("")
  110.     print("ctunnel <length> [<return (0|1)>]")
  111.     print("place chests in slot 15")
  112.     print("place torches in slot 16")
  113.     print("")
  114.  
  115.     error()
  116. end
  117.  
  118. length = tonumber(args[1])
  119.  
  120. if #args == 2 then
  121.     ret = 1
  122. end
  123.  
  124. if turtle.getFuelLevel() == 0 then
  125.     turtle.refuel()
  126. end
  127.  
  128. if turtle.getFuelLevel() == 0 then
  129.     print("I need fuel!")
  130. else
  131.     print("======== 2013 (c) psychedelixx ========")
  132.     print("Let's go!")
  133.     print("Digging " .. length)
  134.     move()
  135.    
  136.     print("")
  137.     print("Fuel: " .. turtle.getFuelLevel())
  138.    
  139.     for l = 1, length-1 do
  140.         move()
  141.     end
  142.    
  143.     if ret == 1 then
  144.         turtle.turnLeft()
  145.         turtle.turnLeft()
  146.         while i > 0 do
  147.             turtle.forward()
  148.             i = i-1
  149.         end
  150.     end
  151. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement