TheCodingKid

wHolePoker

Jul 3rd, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.11 KB | None | 0 0
  1. nonOreBlocksTable = {"minecraft:gravel", "minecraft:dirt", "minecraft:stone", "minecraft:sand", "minecraft:flowing_water", "minecraft:lava"}
  2. nonOreBlocksString = "minecraft:gravel_minecraft:dirt_minecraft:stone_minecraft:sand_minecraft:flowing_water_minecraft:lava_minecraft:grass"
  3.  
  4.  
  5.  
  6. -- Create the function for refueling
  7. function checkFuel()
  8.   while turtle.getFuelLevel() <= 200 do
  9.     turtle.select(1)
  10.     turtle.refuel(1)
  11.     turtle.select(1)
  12.   end --if
  13. end --checkFuel()
  14.  
  15.  
  16. -- Create the turnAround function
  17. function turnAround()
  18.   turtle.turnRight()
  19.   turtle.turnRight()
  20. end --turnAround()
  21.  
  22.  
  23. -- Create the moveForward function
  24. function moveForward(spaces)
  25.     for spacesCnt=1,spaces do
  26.         while turtle.detect() do
  27.             turtle.dig()
  28.             sleep(1)
  29.         end
  30.         while not turtle.forward() do
  31.             turtle.dig()
  32.             turtle.attack()
  33.         end
  34.     end
  35. end --moveForward()
  36.  
  37.  
  38. -- Create the digDown function
  39. function digDown()
  40.     while turtle.detectDown() do
  41.         turtle.digDown()
  42.     end
  43.     while not turtle.down() do
  44.         turtle.digDown()
  45.         turtle.attackDown()
  46.     end
  47. end --digDown()
  48.  
  49.  
  50. -- Create the canGoDown function
  51. function canGoDown()
  52.     local success, data = turtle.inspectDown()
  53.     local blockName = data.name
  54.     if blockName == "minecraft:bedrock" then
  55.         return false
  56.     else
  57.         return true
  58.     end
  59. end --canGoDown()
  60.  
  61.  
  62. -- Create the transferItems function
  63. function transferItems()
  64.     if turtle.detect() then
  65.         if turtle.dig() then
  66.             turtle.select(2)
  67.             if turtle.place() then
  68.                 for itemIndex = 3, 16 do
  69.                     turtle.select(itemIndex)
  70.                     turtle.drop()
  71.                 end
  72.                 turtle.select(2)
  73.                 turtle.dig()
  74.             end
  75.         end
  76.     end
  77.     turtle.select(1)
  78. end --transferItems()
  79.  
  80.  
  81. -- Create the mineOres function
  82. function mineOres()
  83.     for sidesChecked = 1, 4 do
  84.         turtle.turnLeft()
  85.         local success, data = turtle.inspect()
  86.  
  87.         if success then
  88.             local blockName = data.name
  89.             local badBlockTest = string.find(nonOreBlocksString, blockName)
  90.             if (badBlockTest) then
  91.                 --print("mine nothing")
  92.             else
  93.                 turtle.dig()
  94.             end
  95.         end
  96.     end
  97.  
  98. end --mineOres()
  99.  
  100.  
  101. -- Create the riseUp function
  102. function riseUp(depthCount)
  103.     for rises=1,depthCount do
  104.         while not turtle.up() do
  105.             turtle.attackUp()
  106.             turtle.digUp()
  107.         end
  108.     end
  109. end --riseUp()
  110.  
  111. -- Create the goHome function
  112. function goHome(backMovement, leftMovement)
  113.     turnAround()
  114.     --turtle is now facing backward
  115.     moveForward(backMovement)
  116.    
  117.     --now make turtle face left toward the chest
  118.     turtle.turnRight()
  119.     moveForward(leftMovement)
  120.    
  121.     turtle.turnRight()
  122. end --goHome()
  123.  
  124. print("Enter columns (at least 5)")
  125. local squareColumns = tonumber(read())
  126.  
  127. print("Enter rows (at least 5)")
  128. local squareRows = tonumber(read())
  129.  
  130. local startCounter = 1
  131.  
  132. for columnCnt=1,squareColumns do
  133.     local forwardMovements = 0;
  134.     checkFuel()
  135.     if startCounter == 1 then
  136.         moveForward(1)
  137.         startCounter = startCounter + 1
  138.         forwardMovements = forwardMovements + 1
  139.     elseif startCounter == 2 then
  140.         moveForward(4)
  141.         startCounter = startCounter + 1
  142.         forwardMovements = forwardMovements + 4
  143.     elseif startCounter == 3 then
  144.         moveForward(2)
  145.         startCounter = startCounter + 1
  146.         forwardMovements = forwardMovements + 2
  147.     elseif startCounter == 4 then
  148.         print("do nothing")
  149.         startCounter = startCounter + 1
  150.     elseif startCounter == 5 then
  151.         moveForward(3)
  152.         startCounter = 1
  153.         forwardMovements = forwardMovements + 3
  154.     end
  155.    
  156.     local rowCnt = forwardMovements + 1
  157.     while rowCnt <= squareRows do
  158.         local depthCount = 0
  159.         while (canGoDown()) do
  160.             checkFuel()
  161.             depthCount = depthCount + 1
  162.             digDown()
  163.             mineOres()
  164.             if turtle.getItemCount(16) > 0 then
  165.                 transferItems()
  166.             end
  167.         end
  168.        
  169.         print("at bedrock, going back to surface")
  170.         checkFuel()
  171.         riseUp(depthCount)
  172.         checkFuel()
  173.        
  174.         if (rowCnt + 5) <= squareRows then
  175.             moveForward(5)
  176.             rowCnt = rowCnt + 5
  177.             forwardMovements = forwardMovements + 5
  178.         else
  179.             print("reached end of column")
  180.             turnAround()
  181.             moveForward(forwardMovements)
  182.             turnAround()
  183.             if columnCnt + 1 <= squareColumns then
  184.                 turtle.turnRight()
  185.                 moveForward(1)
  186.                 turtle.turnLeft()
  187.             end
  188.             break
  189.         end
  190.     end
  191. end
  192.  
  193. goHome(0, squareColumns-1)
Add Comment
Please, Sign In to add comment