1. Тебе нужно слушать PlayerDeathEvent.
2. Проверять какие эффекты у игрока были event.getPlayer().getActivePotionEffects() (так же не забудь сделать проверку на null)
3. Если у игрока были эффекты, то сохраняй их в Map<Player, Collection<PotionEffect>>.
4. Во время возрождения PlayerRespawnEvent проверяй эту Map. Если в ней есть нужный игрок, значит вытягивай эффекты зелья и по-новой выдавай их игроку. Ну и не забудь удалить данные с этой Map для текущего игрока.