From a3085ad4b48a75991d9e4733b9b8110dde595c6c Mon Sep 17 00:00:00 2001 From: akastijn Date: Sat, 27 Jun 2026 22:17:50 +0200 Subject: [PATCH] Prevent duplicate game end announcements and update `RoundService` initialization to include `PlayerTeleporterService`. --- src/main/java/com/alttd/hunger_games/Main.java | 2 +- .../java/com/alttd/hunger_games/services/RoundService.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alttd/hunger_games/Main.java b/src/main/java/com/alttd/hunger_games/Main.java index e71bf02..e97702e 100644 --- a/src/main/java/com/alttd/hunger_games/Main.java +++ b/src/main/java/com/alttd/hunger_games/Main.java @@ -38,8 +38,8 @@ public final class Main extends JavaPlugin { round = Round.createSingletonInstance(); lootService = new LootService(); statService = new StatService(this, round); - roundService = RoundService.createSingletonInstance(round, this, lootService, statService); playerTeleporterService = PlayerTeleporterService.createSingletonInstance(); + roundService = RoundService.createSingletonInstance(round, this, lootService, statService, playerTeleporterService); playerService = PlayerService.createSingletonInstance(round, roundService, playerTeleporterService); bossBarService = BossBarService.createSingletonInstance(round, roundService); diff --git a/src/main/java/com/alttd/hunger_games/services/RoundService.java b/src/main/java/com/alttd/hunger_games/services/RoundService.java index a7df105..e742e86 100644 --- a/src/main/java/com/alttd/hunger_games/services/RoundService.java +++ b/src/main/java/com/alttd/hunger_games/services/RoundService.java @@ -3,6 +3,7 @@ package com.alttd.hunger_games.services; import com.alttd.hunger_games.Main; import com.alttd.hunger_games.config.Messages; import com.alttd.hunger_games.data_objects.DESTINATION; +import com.alttd.hunger_games.data_objects.GameStage; import com.alttd.hunger_games.data_objects.PLAYER_STATE; import com.alttd.hunger_games.data_objects.ROUND_STATE; import com.alttd.hunger_games.event_listeners.PlayerMovementListener; @@ -127,6 +128,10 @@ public class RoundService implements RoundListener { }); startFreeze(); } + if (roundState.equals(ROUND_STATE.ENDED)) { + //Don't announce the game ended since we already declare a winner + return; + } Bukkit.broadcast(MiniMessage.miniMessage().deserialize(Messages.GAME.NEXT_STATE, Placeholder.parsed("round", roundState.getHumanReadableName()))); }