Advertisement
makmoud98

Untitled

Feb 28th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. ITEMS = {"IC2:itemUran235small", "IC2:itemUran238"}
  2.  
  3. CRAFT = {ITEMS[2], ITEMS[2], ITEMS[2], 0,
  4. ITEMS[1], ITEMS[1], ITEMS[1], 0,
  5. ITEMS[2], ITEMS[2], ITEMS[2], 0,
  6. 0, 0, 0, 0}
  7.  
  8. function craft()
  9. for j=1,16 do
  10. turtle.select(j)
  11. local name = CRAFT[j]
  12. if name ~= 0 then
  13. local sum = 0
  14. local matches = {}
  15. for i=1,16 do
  16. local data = turtle.getItemDetail(i)
  17. if data and data.name == ITEMS[j] then
  18. sum = sum + data.count
  19. matches[#matches+1] = i
  20. end
  21. end
  22. local slots = 0
  23. for i=1,16 do
  24. if CRAFT[i] == ITEMS[j] then
  25. slots = slots + 1
  26. end
  27. end
  28. if slots ~= 0 and sum >= slots then
  29. local req = sum/slots
  30. if req > 64 then
  31. req = 64
  32. end
  33. data = turtle.getItemDetail(j)
  34. if data and data.name ~= name then
  35. local success = false
  36. for k=j+1, 16 do
  37. if turtle.transferTo(k) then
  38. success = true
  39. break
  40. end
  41. data = turtle.getItemDetail(j)
  42. end
  43. if not success then
  44. return false
  45. end
  46. end
  47. if data and data.name == name and data.count > req then
  48. local success = false
  49. for k=j+1, 16 do
  50. if turtle.transferTo(k,data.count - req) then
  51. success = true
  52. break
  53. end
  54. data = turtle.getItemDetail(j)
  55. end
  56. if not success then
  57. return false
  58. end
  59. end
  60. for i=1,#matches do
  61. local slot = matches[i]
  62. local quantity = turtle.getItemCount(slot)
  63. turtle.select(slot)
  64. if data and turtle.transferTo(j, req - data.count) then
  65. data = turtle.getItemDetail(j)
  66. if data.count == req then
  67. break
  68. end
  69. elseif turtle.transferTo(j, req - data.count)
  70. data = turtle.getItemDetail(j)
  71. if data.count == req then
  72. break
  73. end
  74. end
  75. data = turtle.getItemDetail(j)
  76. end
  77. else
  78. return false
  79. end
  80. end
  81. end
  82. end
  83.  
  84. while true do
  85. turtle.suck()
  86. turtle.craft()
  87. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement