From 2a04392942de619c2cff6fef2ed19ce6be83f468 Mon Sep 17 00:00:00 2001 From: Michael Burgess Date: Fri, 7 Aug 2026 07:37:29 -0400 Subject: [PATCH] Fix instant-win bug: first round no longer skipped when min-players is 1 --- src/main/java/us/tss3/blockparty/arena/Arena.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/us/tss3/blockparty/arena/Arena.java b/src/main/java/us/tss3/blockparty/arena/Arena.java index adf4fd0..149dd0a 100644 --- a/src/main/java/us/tss3/blockparty/arena/Arena.java +++ b/src/main/java/us/tss3/blockparty/arena/Arena.java @@ -264,8 +264,15 @@ public class Arena { } private void startNextRound() { - if (EliminationLogic.isMatchOver(players.size())) { - endMatch(players.isEmpty() ? null : (players.isEmpty() ? null : players.get(0))); + if (players.isEmpty()) { + endMatch(null); + return; + } + // Only treat "down to one player" as a win once at least one round has actually been + // played (round > 0). At round 0 (the very first round after the countdown), a single + // player is expected whenever min-players is configured as 1 for solo play/testing. + if (round > 0 && EliminationLogic.isMatchOver(players.size())) { + endMatch(players.get(0)); return; } round++;