PlayerGetItemEvent(Player player, List<ItemStack> items) accepts 2 arguments, the first one is the player who gets the item, and the second one is a list, it contains all the items the player will get
You can trigger this event, just an example, when a custom entity is dead and give player custom item