From 5029f4b7ef38e55d981a03790083167c8fdb3914 Mon Sep 17 00:00:00 2001 From: anhgelus Date: Thu, 22 Aug 2024 14:09:57 +0000 Subject: fix(game): mole list not updated after death of a mole --- src/main/java/world/anhgelus/molehunt/Game.java | 5 +++++ src/main/java/world/anhgelus/molehunt/Molehunt.java | 1 + 2 files changed, 6 insertions(+) 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); }); } -- cgit v1.2.3