diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightPlayer.java b/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightPlayer.java index 322e6e8..ed2e6d5 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightPlayer.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightPlayer.java @@ -76,7 +76,7 @@ public class FightPlayer { public Player getPlayer() { Player bukkit = Bukkit.getPlayer(uuid); - if(bukkit != player) + if(bukkit != null) player = bukkit; return player; } diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightTeam.java b/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightTeam.java index de3609a..a877f9f 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightTeam.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightTeam.java @@ -203,7 +203,7 @@ public class FightTeam { Set playerSet = new HashSet<>(players.keySet()); for(UUID uuid : playerSet){ Player player = Bukkit.getPlayer(uuid); - if(player != null) + if(player == null) removePlayer(player); } FightPlayer leaderBackup = leader; diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/listener/Permanent.java b/FightSystem_Core/src/de/steamwar/fightsystem/listener/Permanent.java index 0c4fc57..de63b33 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/listener/Permanent.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/listener/Permanent.java @@ -95,11 +95,16 @@ public class Permanent implements Listener { event.setJoinMessage(null); Player player = event.getPlayer(); + FightPlayer fp = Fight.getFightPlayer(player); - if (!Config.ArenaLeaveable && !Fight.fighting(player)) { + if (!Config.ArenaLeaveable && fp == null) { Fight.setPlayerGamemode(player, GameMode.SPECTATOR); spectatorTeam.addEntry(player.getName()); player.teleport(Config.SpecSpawn); + } else if(fp != null && !fp.isLiving()) { + Fight.setPlayerGamemode(player, GameMode.SPECTATOR); + HotbarKit.spectatorKit.loadToPlayer(player); + player.teleport(fp.getTeam().getSpawn()); } }