diff options
| author | anhgelus <anhgelus.morhtuuzh@proton.me> | 2024-08-22 14:09:57 +0000 |
|---|---|---|
| committer | anhgelus <anhgelus.morhtuuzh@proton.me> | 2024-08-22 14:09:57 +0000 |
| commit | 5029f4b7ef38e55d981a03790083167c8fdb3914 (patch) | |
| tree | e15f1ca94e8e20150634d9213c5d0c4ca43340a6 | |
| parent | d4f96c80e550b261534e0ddd202fe10d6a098e6b (diff) | |
fix(game): mole list not updated after death of a mole
| -rw-r--r-- | src/main/java/world/anhgelus/molehunt/Game.java | 5 | ||||
| -rw-r--r-- | src/main/java/world/anhgelus/molehunt/Molehunt.java | 1 |
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); }); } |
