so im creating a plugin that saves potion effects on death and gives them back when you respawn
my current code:
@EventHandler
public void onPlayerDeath(EntityDeathEvent event) {
if (event.getEntity() instanceof Player) {
Player player = (Player) event.getEntity();
List<PotionEffect> effects = player.getActivePotionEffects().stream().collect(Collectors.toList());
playerEffects.put(player.getUniqueId(), effects);
getLogger().info("Saved potion effects for player " + player.getName() + ": " + effects);
}
}
@EventHandler
public void onPlayerRespawn(PlayerRespawnEvent event) {
Player player = event.getPlayer();
List<PotionEffect> effects = playerEffects.getOrDefault(player.getUniqueId(), new ArrayList<>());
for (PotionEffect effect : effects) {
player.addPotionEffect(effect);
}
playerEffects.remove(player.getUniqueId());
getLogger().info("Restored potion effects for player " + player.getName() + ": " + effects);
}
it does print that it restored effects in the console but i don't get the effects in game