diff --git a/src/main/java/com/alttd/hunger_games/commands/subcommands/StartRound.java b/src/main/java/com/alttd/hunger_games/commands/subcommands/StartRound.java index 242d4f2..bce15c0 100644 --- a/src/main/java/com/alttd/hunger_games/commands/subcommands/StartRound.java +++ b/src/main/java/com/alttd/hunger_games/commands/subcommands/StartRound.java @@ -20,7 +20,7 @@ public class StartRound extends SubCommand { @Override public boolean onCommand(CommandSender commandSender, String[] args) { ROUND_STATE roundState = roundService.getRoundState(); - if (roundState == ROUND_STATE.PLAYER_REGISTRATION) { + if (roundState == ROUND_STATE.PLAYER_REGISTRATION || roundState == ROUND_STATE.ENDED) { round.startRound(); } else { commandSender.sendRichMessage(Messages.START_ROUND.CAN_NOT_START_ROUND, diff --git a/src/main/java/com/alttd/hunger_games/services/PlayerService.java b/src/main/java/com/alttd/hunger_games/services/PlayerService.java index 31b1059..8b71f05 100644 --- a/src/main/java/com/alttd/hunger_games/services/PlayerService.java +++ b/src/main/java/com/alttd/hunger_games/services/PlayerService.java @@ -141,8 +141,8 @@ public class PlayerService implements RoundListener { }); } return switch (roundState) { - case PLAYER_REGISTRATION, COUNTDOWN -> Optional.of(PLAYER_STATE.REGISTERED); - case KILL_PHASE, FINALE, ENDED, SAFE_PHASE -> Optional.of(PLAYER_STATE.SPECTATING); + case PLAYER_REGISTRATION, COUNTDOWN, ENDED -> Optional.of(PLAYER_STATE.REGISTERED); + case KILL_PHASE, FINALE, SAFE_PHASE -> Optional.of(PLAYER_STATE.SPECTATING); }; } } diff --git a/src/main/java/com/alttd/hunger_games/services/Round.java b/src/main/java/com/alttd/hunger_games/services/Round.java index 1536906..e8c5155 100644 --- a/src/main/java/com/alttd/hunger_games/services/Round.java +++ b/src/main/java/com/alttd/hunger_games/services/Round.java @@ -77,7 +77,7 @@ public class Round { } public void startRound() { - if (!roundState.equals(ROUND_STATE.PLAYER_REGISTRATION)) { + if (!roundState.equals(ROUND_STATE.PLAYER_REGISTRATION) && !roundState.equals(ROUND_STATE.ENDED)) { throw new IllegalStateException("Round can not be started before player registration."); } roundState = ROUND_STATE.COUNTDOWN; 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 9ff9afe..b9a4a63 100644 --- a/src/main/java/com/alttd/hunger_games/services/RoundService.java +++ b/src/main/java/com/alttd/hunger_games/services/RoundService.java @@ -137,7 +137,7 @@ public class RoundService implements RoundListener { WorldBorderUtil.resetBorder(); } if (roundState.equals(ROUND_STATE.FINALE)) { - WorldBorderUtil.setSize(Config.ROUND.FINALE_BORDER_SIZE); + WorldBorderUtil.setSize(Config.ROUND.FINALE_BORDER_SIZE, 1); } if (!roundState.equals(ROUND_STATE.ENDED) && !roundState.equals(ROUND_STATE.PLAYER_REGISTRATION)) { Bukkit.broadcast(MiniMessage.miniMessage().deserialize(Messages.GAME.NEXT_STATE, Placeholder.parsed("round", roundState.getHumanReadableName())));