Russia9 Пользуйся.
SlotTransaction transaction = event.getTransactions().get(0);
Slot slot = transaction.getSlot();
Optional<SlotIndex> slotIndex = slot.getInventoryProperty(SlotIndex.class);
int id = slotIndex.get().getValue();
Или еще так, если вне эвента.
Iterable<Slot> slots = inventory.slots();
for(Slot slot : slots) {
Optional<SlotIndex> slotIndex = slot.getInventoryProperty(SlotIndex.class);
int id = slotIndex.get().getValue();
// Что-то там...
}
В эвенте не перебирает все слоты. Вне эвента лично я юзаю для заполнения разными предметами по слотам, а не одним предметом во все слоты.