@@ -47,7 +47,7 @@ public class HungerGame extends AbstractGame {
4747 @ Getter
4848 private final Set <String > deadPlayers = new HashSet <>();
4949
50- private final Set <UUID > rejoinPlayers = new HashSet <>();
50+ private final Set <String > rejoinPlayers = new HashSet <>();
5151
5252 private DragonTrait dragonTrait ;
5353
@@ -82,7 +82,6 @@ public void join(GameUser user) {
8282 public void leave (GameUser user ) {
8383 super .leave (user );
8484 bossBar .removePlayer (user );
85- getUserTeam (user ).ifPresent (team -> team .removeEntry (user .getUsername ()));
8685 }
8786
8887
@@ -255,7 +254,7 @@ public boolean isSpectator(GameUser user) {
255254
256255 public void rejoin (GameUser user ) {
257256 if (getPhase () instanceof InGamePhase ) {
258- if (rejoinPlayers .contains (user .getUniqueId ())) {
257+ if (rejoinPlayers .contains (user .getUsername ())) {
259258 final Player player = user .getPlayer ();
260259 final ItemStack chestPlate = player .getInventory ().getChestplate ();
261260 if (chestPlate == null ) return ;
@@ -265,7 +264,7 @@ public void rejoin(GameUser user) {
265264 player .getPassengers ().forEach (player ::removePassenger );
266265 player .setGameMode (GameMode .SURVIVAL );
267266 }
268- rejoinPlayers .remove (user .getUniqueId ());
267+ rejoinPlayers .remove (user .getUsername ());
269268 return ;
270269 }
271270 user .getPlayer ().setGameMode (GameMode .SPECTATOR );
@@ -275,7 +274,7 @@ public void rejoin(GameUser user) {
275274 public void addRejoinPlayer (GameUser user ) {
276275 // 死んでいる場合は再参加無効に
277276 if (deadPlayers .contains (user .getUsername ())) return ;
278- rejoinPlayers .add (user .getUniqueId ());
277+ rejoinPlayers .add (user .getUsername ());
279278 }
280279
281280 public boolean checkTeamDead (GameUser user ) {
@@ -306,6 +305,8 @@ public int getAlivePlayersSize() {
306305 aliveTeams .forEach (team -> {
307306 for (String playerName : team .getEntries ()) {
308307 if (deadPlayers .contains (playerName )) continue ;
308+ if (rejoinPlayers .contains (playerName )) continue ;
309+ if (Bukkit .getPlayer (playerName ) == null ) continue ;
309310 playersSize .incrementAndGet ();
310311 }
311312 });
0 commit comments