Bonkie

Fence placement

Mar 4th, 2014
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.71 KB | None | 0 0
  1. args={...}
  2.  
  3. if (args[2]~=nil) then
  4.   l=args[2]
  5. else
  6.   l=64
  7. end
  8.  
  9. function needsFuel()
  10.   local level=turtle.getFuelLevel()
  11.   print("-----------")
  12.   print("Fuel Level:")
  13.   print(level)
  14.   print("-----------")
  15.   if level=="unlimited" or level>500 then
  16.     return false
  17.   else
  18.     turtle.select(16)
  19.     turtle.refuel()
  20.   end
  21. end
  22.  
  23. function checkslot()
  24.   local i=1
  25.   while true do
  26.     if turtle.getItemCount(i)==0 then
  27.       i = i+1
  28.       if (i>8) then
  29.         print("No items available.")
  30.         return false
  31.       end
  32.     else
  33.       return i
  34.     end
  35.   end
  36. end
  37.  
  38. function moveForward()
  39.   needsFuel()
  40.   while not turtle.forward() do
  41.     turtle.dig()
  42.   end
  43. end
  44.  
  45. function moveDown()
  46.   needsFuel()
  47.   while not turtle.down() do
  48.     turtle.digDown()
  49.   end
  50. end
  51.  
  52. function moveUp()
  53.   needsFuel()
  54.   while not turtle.up() do
  55.     turtle.digUp()
  56.   end
  57. end
  58.  
  59. function place()
  60.   slot = checkslot()
  61.   if checkslot==false then
  62.     return false
  63.   else
  64.     turtle.select(slot)
  65.   end
  66.   while not turtle.placeDown() do
  67.     turtle.digDown()
  68.   end
  69. end
  70.  
  71. function makeline(e)
  72.   for i=1,e do
  73.     moveForward()
  74.     place()
  75.   end
  76. end
  77.  
  78. function pickupFences(e)
  79.   for i=1,e do
  80.     moveForward()
  81.   end
  82. end
  83.  
  84. function buildMine()
  85.   makeline(l)
  86.   turtle.turnLeft()
  87.   makeline(l)
  88.   turtle.turnLeft()
  89.   makeline(l)
  90.   turtle.turnLeft()
  91.   makeline(l-1)
  92.   turtle.forward()
  93.   turtle.turnLeft()
  94.   turtle.forward()
  95. end
  96.  
  97. function collectFences()
  98.   moveDown()
  99.   pickupFences(l-1)
  100.   turtle.turnLeft()
  101.   pickupFences(l)
  102.   turtle.turnLeft()
  103.   pickupFences(l)
  104.   turtle.turnLeft()
  105.   pickupFences(l-1)
  106.   moveUp()
  107. end
  108.  
  109. if (args[1]=="new") then
  110.   buildMine()
  111. else
  112.   collectFences()
  113.   buildMine()
  114. end
Advertisement
Add Comment
Please, Sign In to add comment