aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/world
diff options
context:
space:
mode:
authoranhgelus <anhgelus.morhtuuzh@proton.me>2024-08-22 14:09:57 +0000
committeranhgelus <anhgelus.morhtuuzh@proton.me>2024-08-22 14:09:57 +0000
commit5029f4b7ef38e55d981a03790083167c8fdb3914 (patch)
treee15f1ca94e8e20150634d9213c5d0c4ca43340a6 /src/main/java/world
parentd4f96c80e550b261534e0ddd202fe10d6a098e6b (diff)
fix(game): mole list not updated after death of a mole
Diffstat (limited to 'src/main/java/world')
-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);
});
}