tr3intaydos

Untitled

Nov 26th, 2020 (edited)
12
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. local SLOT_COUNT = 16
  2.  
  3. local width, depth = 10, 10
  4.  
  5. local direction = 1
  6.  
  7. if(#arg == 2) then
  8. width = tonumber(arg[1])
  9. depth = tonumber(arg[2])
  10. else
  11. print("Malformed, default to 10 10")
  12. end
  13.  
  14. DROPPED_ITEMS = {
  15. "minecraft:stone",
  16. "minecraft:dirt",
  17. "minecraft:cobblestone",
  18. "minecraft:sand",
  19. "minecraft:gravel",
  20. "minecraft:redstone",
  21. "minecraft:flint",
  22. "railcraft:ore_metal",
  23. "extrautils2:ingredients",
  24. "minecraft:dye",
  25. "thaumcraft:nugget",
  26. "thaumcraft:crystal_essence",
  27. "thermalfoundation:material",
  28. "projectred-core:resource_item",
  29. "thaumcraft:ore_cinnabar",
  30. "deepresonance:resonating_ore",
  31. "forestry:apatite"
  32. }
  33.  
  34. function manageInventory()
  35.  
  36. for slot = 1, SLOT_COUNT, 1 do
  37. local item = turtle.getItemDetail(slot)
  38. if(item ~= nil) then
  39. for filterIndex = 1, #DROPPED_ITEMS, 1 do
  40. if(item["name"] == DROPPED_ITEMS[filterIndex]) then
  41. turtle.select(slot)
  42. turtle.dropDown()
  43. end
  44. end
  45. end
  46. end
  47.  
  48. for slot = 1, SLOT_COUNT, 1 do
  49. local item = turtle.getItemDetail(slot)
  50. if(item ~= nil) then
  51. for slot2 = 1, SLOT_COUNT, 1 do
  52. local item2 = turtle.getItemDetail(slot2)
  53. if(item2 ~= nil) then
  54. if(slot ~= slot2 and item["name"] == item2["name"]) then
  55. turtle.select(slot2)
  56. turtle.transferTo(slot2)
  57. end
  58. end
  59. end
  60. end
  61. end
  62.  
  63. end
  64.  
  65. function checkFuel()
  66. turtle.select(1)
  67.  
  68. if(turtle.getFuelLevel() < 50) then
  69. for slot = 1, SLOT_COUNT, 1 do
  70. if(turtle.refuel(1)) then
  71. return true
  72. end
  73. end
  74.  
  75. return false
  76. else
  77. return true
  78. end
  79. end
  80.  
  81. function doMine()
  82. turtle.dig()
  83. turtle.digUp()
  84. turtle.digDown()
  85. end
  86.  
  87. function boot()
  88. for col = 1, width, 1 do
  89. for row = 1, depth, 1 do
  90. if(checkFuel()) then
  91. turtle.forward()
  92. doMine()
  93. end
  94. end
  95.  
  96. if(direction == 1) then
  97. turtle.turnRight()
  98. turtle.dig()
  99. turtle.forward()
  100. turtle.turnRight()
  101. direction = 2
  102. else
  103. turtle.turnLeft()
  104. turtle.dig()
  105. turtle.forward()
  106. turtle.turnLeft()
  107. direction = 1
  108. end
  109.  
  110. manageInventory()
  111.  
  112. end
  113. end
  114.  
  115. boot()
Advertisement
Add Comment
Please, Sign In to add comment