Требуется дублировать инвентарь игрока для него же самого. Вещи которые не помещаются после дублирования - выкинуть на землю. Пока что есть это:
final Set<ItemStackSnapshot> set = new HashSet<>();
Inventory inventory = p.getInventory();
for (Inventory slot : inventory.slots()) {
Optional<ItemStack> peek = slot.peek();
if (peek.isPresent()) {
InventoryTransactionResult offer = inventory.offer(peek.get().copy());
if (offer.getType() == InventoryTransactionResult.Type.FAILURE) {
Collection<ItemStackSnapshot> rejectedItems = offer.getRejectedItems().;
if (!rejectedItems.isEmpty()) {
set.addAll(rejectedItems);
}
}
}
}
//drop item (method from the documentation)
}```
Пока что очень не понятно, как правильно работать с инвентарём.
Правильно ли я делаю дублирование? И да, после второго использования вещи заполняют весь инвентарь.