diff --git a/src/main/java/com/alttd/ctf/events/OnPlayerDeath.java b/src/main/java/com/alttd/ctf/events/OnPlayerDeath.java index 1a974cc..15f618f 100644 --- a/src/main/java/com/alttd/ctf/events/OnPlayerDeath.java +++ b/src/main/java/com/alttd/ctf/events/OnPlayerDeath.java @@ -1,10 +1,14 @@ package com.alttd.ctf.events; import com.alttd.ctf.game.GameManager; +import com.alttd.ctf.team.TeamPlayer; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.event.player.PlayerRespawnEvent; + +import java.util.Optional; public class OnPlayerDeath implements Listener { @@ -26,4 +30,16 @@ public class OnPlayerDeath implements Listener { player.updateInventory(); } + @EventHandler + public void onPlayerRespawn(PlayerRespawnEvent event) { + Player player = event.getPlayer(); + Optional optionalTeamPlayer = gameManager.getTeamPlayer(player.getUniqueId()); + if (optionalTeamPlayer.isEmpty()) { + return; + } + TeamPlayer teamPlayer = optionalTeamPlayer.get(); + event.setRespawnLocation(teamPlayer.getTeam().getSpawnLocation()); + teamPlayer.getGameClass().apply(teamPlayer); + } + }