Advertisement
jakikoske

enderchestminingturtlecopy

Dec 8th, 2013
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.77 KB | None | 0 0
  1. print "Turtle must be in down-left corner of a chunck not looking at a chunckwall on layer 1"
  2. print "Enderchest in slot 2 ,Fuel in slot 16 (optional, allows turtle to eat found fuel as a last resort)."
  3.  
  4. while turtle.getItemCount(2) < 1 do
  5.   print "Please put an ENDER CHEST in slot 1. Hit any key when done."
  6.   os.pullEvent("char")
  7. end
  8. while turtle.getItemCount(1) < 2 do
  9.   print "Please put three CHUNCKLOADERS in slot 1. Hit any key when done."
  10.   os.pullEvent("char")
  11. end
  12.  
  13. local counterDistance = 0
  14. local bHasFuel = turtle.getItemCount(16) > 0
  15.  
  16. function GetFuelFromChest()
  17.  
  18. end
  19.  
  20. function CheckFuel()
  21.   if(bHasFuel == false) then
  22.     return true
  23.   end
  24.   if turtle.getFuelLevel() <= 10 then
  25.     turtle.select(16)
  26.     turtle.refuel(1)
  27.     if turtle.getFuelLevel() <= 10 then
  28.       -- phase 2: low fuel, fueling failed, return home
  29.     end
  30.   end
  31.   if turtle.getFuelLevel() <= 1 then
  32.     print "OOF: Out Of Fuel :("
  33.     print "I'm going to eat your coal"
  34.     shell.run("refuel", "all")
  35.     if turtle.getFuelLevel() <= 1 then
  36.       GetFuelFromChest()
  37.     end
  38.   end
  39.   return true  
  40. end
  41.  
  42. function MoveForward()
  43.   CheckFuel()
  44.   if(turtle.forward()) then
  45.     return true
  46.   else
  47.     return false
  48.   end
  49. end
  50.  
  51. function TurnLeft()
  52.   turtle.turnLeft()
  53. end
  54.  
  55. function TurnRight()
  56.   turtle.turnRight()
  57. end
  58.  
  59. function MoveUp()
  60.   CheckFuel()
  61.   if(turtle.up()) then
  62.     return true
  63.   end
  64.   return false
  65. end
  66.  
  67. function MoveDown()
  68.   CheckFuel()
  69.   if(turtle.down()) then
  70.     return true
  71.   end
  72.   return false
  73. end
  74.  
  75. function DigUp()
  76.   for y = 1, 14 do
  77.     while(MoveUp() == false) do
  78.       turtle.digUp()
  79.       turtle.suckUp()
  80.     end
  81.   end
  82. end
  83.  
  84. function DigDown()
  85.   for y = 1, 14 do
  86.     while(MoveDown() == false) do
  87.       turtle.digDown()
  88.       turtle.suckDown()
  89.     end
  90.   end
  91. end
  92.  
  93. function DigForward()
  94.   while(MoveForward() == false) do
  95.     turtle.dig()
  96.     turtle.suck()
  97.   end
  98. end
  99.  
  100. function DumpInventory()
  101.   while turtle.detectUp() do
  102.     turtle.digUp()
  103.   end
  104.   turtle.select(2)
  105.   while turtle.placeUp() == false do
  106.     turtle.digUp()
  107.   end
  108.  
  109.   local iLastInventorySlot = 16
  110.   if(bHasFuel) then
  111.     iLastInventorySlot = 15
  112.   end
  113.  
  114.   for i = 3, iLastInventorySlot do
  115.     turtle.select(i)
  116.     turtle.dropUp()
  117.   end
  118.   turtle.select(2)
  119.   turtle.digUp()
  120. end
  121.  
  122. function PlaceChunckUp()
  123.   turtle.select(1)
  124.   turtle.placeUp()
  125. end
  126.  
  127. function PlaceChunckBack()
  128.   turtle.select(1)
  129.   TurnRight()
  130.   TurnRight()
  131.   turtle.place()
  132.   TurnRight()
  133.   TurnRight()
  134. end
  135.  
  136. function PlaceChunck()
  137.   turtle.select(1)
  138.   turtle.place()
  139. end
  140.  
  141. function FirstRow()
  142.   CheckFuel()
  143.   turtle.digDown()
  144.   turtle.down()
  145.   PlaceChunckUp()
  146.   for i = 1 , 13 do
  147.     turtle.digDown()
  148.     turtle.down()
  149.   end
  150.   for i = 1 , 7 do
  151.     DigForward()
  152.     DigUp()
  153.     DigForward()
  154.     DigDown()
  155.   end
  156.   DigForward()
  157.   DigUp()
  158. end
  159.  
  160. function LastRow()
  161.   TurnRight()
  162.   DigForward()
  163.   TurnRight()
  164.   for i = 1 , 6 do
  165.     DigDown()
  166.     DigForward()
  167.     DigUp()
  168.     DigForward()
  169.   end
  170.   TurnLeft()
  171.   PlaceChunk()
  172.   TurnRight()
  173.   DigDown()
  174.   DigForward()
  175.   DigUp()
  176.   PlaceChunckBack()
  177. end
  178.  
  179. function AnyRowFromUp()
  180.   for i = 1 , 7 do
  181.     DigDown()
  182.     DigForward()
  183.     DigUp()
  184.     DigForward()
  185.   end
  186.   DigDown()
  187.   DigForward()
  188.   DigUp()
  189. end
  190.  
  191. function AnyRowFromDown()
  192.   for i = 1 , 7 do
  193.     DigUp()
  194.     DigForward()
  195.     DigDown()
  196.     DigForward()
  197.   end
  198.   DigUp()
  199.   DigForward()
  200.   DigDown()
  201. end
  202.  
  203. function NO()
  204.   FirstRow()
  205.   TurnLeft()
  206.   turtle.dig()
  207.   TurnRight()
  208.   for y = 1 , 7 do
  209.     TurnRight()
  210.     DigForward()
  211.     TurnRight()
  212.     AnyRowFromUp()
  213.     TurnLeft()
  214.     DigForward()
  215.     TurnLeft()
  216.     AnyRowFromDown()
  217.   end
  218.   LastRow()
  219. end
  220.  
  221.  
  222. function Main()
  223.   print("Mining")
  224.   LastRow()
  225. end
  226.  
  227. Main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement