1)
for{
i <- 0 until inv.getInventorySize
item = inv.getStackInSlot(i)
} yeild item
2) Чекнуть, что Б пустая, либо содержит неполный стак того же предмета.
Если пустая - скопировать стак, сетнуть в слот Б, сетнуть в слот А пустой стак.
Во втором случае стаку в слоте Б сетнуть размер
val newCountB = min(stackB.getCount+stackA.getCount, stackB.getItem.getMaxStackSize)
. Стаку в слоте А сетнуть размер stackB.getCount+stackA.getCount-newCountB. Если новый размер стака А равен 0, то сетнуть в слот А пустой стак