aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/world/anhgelus/molehunt/Game.java5
-rw-r--r--src/main/java/world/anhgelus/molehunt/Molehunt.java1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/world/anhgelus/molehunt/Game.java b/src/main/java/world/anhgelus/molehunt/Game.java
index 585cbd5..68ac511 100644
--- a/src/main/java/world/anhgelus/molehunt/Game.java
+++ b/src/main/java/world/anhgelus/molehunt/Game.java
@@ -164,6 +164,11 @@ public class Game {
return new HashSet<>(moles).containsAll(server.getPlayerManager().getPlayerList());
}
+ public void updateMole(ServerPlayerEntity oldPlayer, ServerPlayerEntity newPlayer) {
+ moles.remove(oldPlayer);
+ moles.add(newPlayer);
+ }
+
public boolean isStarted() {
return started;
}
diff --git a/src/main/java/world/anhgelus/molehunt/Molehunt.java b/src/main/java/world/anhgelus/molehunt/Molehunt.java
index 9132402..4c8c28b 100644
--- a/src/main/java/world/anhgelus/molehunt/Molehunt.java
+++ b/src/main/java/world/anhgelus/molehunt/Molehunt.java
@@ -64,6 +64,7 @@ public class Molehunt implements ModInitializer {
ServerPlayerEvents.AFTER_RESPAWN.register((oldPlayer, newPlayer, alive) -> {
if (game == null) return;
if (!game.isStarted()) return;
+ if (game.getMoles().contains(oldPlayer)) game.updateMole(oldPlayer, newPlayer);
newPlayer.changeGameMode(GameMode.SPECTATOR);
});
}