Advertisement
whaamp

Untitled

Jan 9th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. cur_lvl = 0
  2. cur_dir = 0
  3.  
  4. items = {}
  5.  
  6. function save(t, n)
  7. local file = fs.open(n, "w")
  8. file.write(textutils.serialize(t))
  9. file.close()
  10. end
  11.  
  12. function load(n)
  13. local file = fs.open(n, "r")
  14. local data = file.readAll()
  15. file.close()
  16. return textutils.unserialize(data)
  17. end
  18.  
  19. function equals(i1, i2)
  20. return i1.name == i2.name and i1.damage == i2.damage
  21. end
  22.  
  23. function contains(t, i)
  24. for n, v in pairs(t) do
  25. if equals(v, i) then
  26. return n
  27. end
  28. end
  29. return 0
  30. end
  31.  
  32. function go_to(lvl, dir)
  33. while cur_lvl > lvl do
  34. turtle.down()
  35. cur_lvl = cur_lvl - 1
  36. end
  37. while cur_lvl < lvl do
  38. turtle.up()
  39. cur_lvl = cur_lvl + 1
  40. end
  41. turn = cur_dir - dir
  42. for i=1, (turn + 4) % 4 do
  43. turtle.turnRight()
  44. end
  45. cur_dir = dir
  46. end
  47.  
  48. function add_item(item)
  49. n = contains(items, item)
  50. if n == 0 then
  51. v = {name = item.name, count = item.count, damage = item.damage}
  52. v.level = math.floor(#items / 4) + 1
  53. v.dir = #items % 4
  54. table.insert(items, v)
  55. go_to(-v.level, v.dir)
  56. turtle.drop()
  57. else
  58. go_to(0, 0)
  59. turtle.drop()
  60. amt = turtle.getItemCount()
  61. items[n].count = items[n].count + item.count - amt
  62. turtle.dropDown()
  63. end
  64. end
  65.  
  66. function deposit_items()
  67. for i=1, 16 do
  68. turtle.select(i)
  69. item = turtle.getItemDetail()
  70. if item then
  71. add_item(item)
  72. end
  73. end
  74. go_to(0, 0)
  75. end
  76.  
  77. while true do
  78. if turtle.suckUp() then
  79. sleep(3)
  80. while turtle.suckUp() do
  81. end
  82. deposit_items()
  83. end
  84. end
  85.  
  86. --items = {}
  87. --items["diamond_sword"] = 2
  88. --items["iron_axe"] = 6
  89. --items["iron_sword"] = 8
  90. --
  91. --search = io.read()
  92. --print("Searching...")
  93. --
  94. --top_result = nil
  95. --for k, v in pairs(items) do
  96. -- r = string.find(k, search)
  97. -- if r then
  98. -- x = string.len(k) + r
  99. -- if not top_result or x < top_result.val then
  100. -- top_result = {name=k,deets=v,val = x}
  101. -- end
  102. -- end
  103. --end
  104. --print(top_result.name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement