Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local slots = {}
- for i = 1, 16 do
- slots[i] = i
- end
- local matches = {}
- local itemCount = 0
- local numItems = 0
- local leastItems = 64
- function clearOuterSlots()
- for i=4,16,4 do
- if turtle.getItemCount(i) > 0 then
- turtle.select(i)
- turtle.drop(i)
- end
- end
- for i = 13,15 do
- if turtle.getItemCount(i) > 0 then
- turtle.select(i)
- turtle.drop(i)
- end
- end
- end
- clearOuterSlots()
- while #slots > 0 do
- local current = table.remove(slots, 1)
- if turtle.getItemCount(current) > 0 then
- local match = {current}
- turtle.select(current)
- for i = #slots, 1, -1 do
- if turtle.compareTo(slots[i]) then
- table.insert(match, table.remove(slots, i))
- end
- end
- table.sort(match)
- table.insert(matches, match)
- end
- end
- while true do
- clearOuterSlots()
- for i = 1,#matches do
- for k = 1,#matches[i] do
- itemCount = itemCount + turtle.getItemCount(matches[i][k])
- numItems = k
- end
- local perSlot = math.floor(itemCount/numItems)
- for k = 1,#matches[i] do
- local slotItemCount = turtle.getItemCount(matches[i][k])
- if slotItemCount < perSlot then
- for j = 1,#matches[i] do
- if turtle.getItemCount(matches[i][j]) > perSlot then
- local requiredItems = perSlot - turtle.getItemCount(matches[i][k])
- if(turtle.getItemCount(matches[i][j]) - requiredItems) >= perSlot then
- turtle.select(matches[i][j])
- turtle.transferTo(matches[i][k], requiredItems)
- else
- for w=1,requiredItems do
- while turtle.getItemCount(matches[i][j]) > perSlot do
- turtle.select(matches[i][j])
- turtle.transferTo(matches[i][k], 1)
- end
- end
- end
- print(requiredItems)
- end
- end
- end
- end
- itemCount = 0
- numItems = 0
- end
- for i=1,3 do
- if turtle.getItemCount(i) < leastItems then
- leastItems = turtle.getItemCount(i)
- end
- end
- for i=5,7 do
- if turtle.getItemCount(i) < leastItems then
- leastItems = turtle.getItemCount(i)
- end
- end
- for i=9,11 do
- if turtle.getItemCount(i) < leastItems then
- leastItems = turtle.getItemCount(i)
- end
- end
- turtle.select(16)
- turtle.craft(leastItems-1)
- turtle.drop()
- print("Done")
- leastItems = 64
- os.sleep(2)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement