Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. --note to self: metadata - block, damage - item
  2. function compareBlocks(data1, data2)
  3. return (data1.name == data2.name and data1.metadata == data2.metadata)
  4. end
  5.  
  6. function damageToMetadata(data)
  7. return {name = data.name, metadata = data.damage}
  8. end
  9.  
  10. function selectItem(name)
  11. for i = 1, 16 do
  12. turtle.select(i)
  13. if turtle.getItemCount() > 0 then
  14. if turtle.getItemDetail().name == name then
  15. return true
  16. end
  17. end
  18. end
  19. return false
  20. end
  21.  
  22. function breakAllAbove()
  23. while turtle.detectUp() do
  24. turtle.digUp()
  25. turtle.up()
  26. end
  27. while not turtle.detectDown() do
  28. turtle.down()
  29. end
  30. end
  31.  
  32. function compareDown(compareData)
  33. local success, data = turtle.inspectDown()
  34. return (data.name == compareData.name and data.metadata == compareData.metadata)
  35. end
  36.  
  37. turtle.select(1)
  38. local block = damageToMetadata(turtle.getItemDetail())
  39. local size = tonumber(read())
  40. turtle.dig()
  41. turtle.forward()
  42. for y = 1, size do
  43. for x = 1, size do
  44. if not compareDown(block) then
  45. turtle.digDown()
  46. selectItem(block.name)
  47. turtle.placeDown()
  48. end
  49. breakAllAbove()
  50. if x < size then
  51. turtle.dig()
  52. turtle.forward()
  53. end
  54. end
  55. if y < size then
  56. local direction = (y % 2 == 0)
  57. if direction then
  58. turtle.turnLeft()
  59. else
  60. turtle.turnRight()
  61. end
  62. turtle.dig()
  63. turtle.forward()
  64. if direction then
  65. turtle.turnLeft()
  66. else
  67. turtle.turnRight()
  68. end
  69. end
  70. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement