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()))); }