From 4af509eb5fdf7f073bf6cd281e4dfec042b71716 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sun, 9 Feb 2025 04:30:19 +0100 Subject: [PATCH] Fix world border config loading and phase transition logic Made DEFAULT_SIZE in GameConfig mutable and ensured it updates dynamically from the configuration. Corrected phase transition logic in RunningGame to prevent potential out-of-bounds errors. Updated capture radius and build version. --- src/main/java/com/alttd/ctf/config/GameConfig.java | 6 ++++-- src/main/java/com/alttd/ctf/game/RunningGame.java | 4 ++-- version.properties | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/alttd/ctf/config/GameConfig.java b/src/main/java/com/alttd/ctf/config/GameConfig.java index 459e9b9..1d933bf 100644 --- a/src/main/java/com/alttd/ctf/config/GameConfig.java +++ b/src/main/java/com/alttd/ctf/config/GameConfig.java @@ -49,7 +49,7 @@ public class GameConfig extends AbstractConfig { public static class WORLD_BORDER { private static final String prefix = "world-border."; - public static final double DEFAULT_SIZE = 140; + public static double DEFAULT_SIZE = 140; private static final HashMap GAME_PHASE_WORLD_BORDER = new HashMap<>(); public static HashMap getGAME_PHASE_WORLD_BORDER() { @@ -73,6 +73,8 @@ public class GameConfig extends AbstractConfig { GAME_PHASE_WORLD_BORDER.put(phase, new WorldBorderSettings(worldBorderType, size)); log.debug("Set {} phase world border type to {} blocks", phase.name(), size); } + + DEFAULT_SIZE = config.getDouble(prefix, "default-size", DEFAULT_SIZE); } } @@ -83,7 +85,7 @@ public class GameConfig extends AbstractConfig { public static double x = 0; public static double y = 0; public static double z = 0; - public static double CAPTURE_RADIUS = 7; + public static double CAPTURE_RADIUS = 5; public static int WINNING_SCORE = 50; @SuppressWarnings("unused") diff --git a/src/main/java/com/alttd/ctf/game/RunningGame.java b/src/main/java/com/alttd/ctf/game/RunningGame.java index 3cd2f3d..4e13ad8 100644 --- a/src/main/java/com/alttd/ctf/game/RunningGame.java +++ b/src/main/java/com/alttd/ctf/game/RunningGame.java @@ -34,7 +34,7 @@ public class RunningGame implements Runnable { @Override public void run() { try { - GamePhase nextPhase = GamePhase.values().length < currentPhase.ordinal() ? null : GamePhase.values()[currentPhase.ordinal() + 1]; + GamePhase nextPhase = (currentPhase.ordinal() + 1 < GamePhase.values().length) ? GamePhase.values()[currentPhase.ordinal() + 1] : null; if (phaseStartTime == null) { phaseStartTime = Instant.now(); nextPhaseActions(null, currentPhase, nextPhase); @@ -42,7 +42,7 @@ public class RunningGame implements Runnable { if (Duration.between(phaseStartTime, Instant.now()).compareTo(phaseDurations.get(currentPhase)) >= 0) { GamePhase previousPhase = currentPhase; - currentPhase = GamePhase.values()[currentPhase.ordinal() + 1]; + currentPhase = GamePhase.values()[currentPhase.ordinal() + 1]; //TODO fix this running out of bounds nextPhaseActions(previousPhase, currentPhase, nextPhase); phaseStartTime = Instant.now(); } else if (nextPhase != null) { diff --git a/version.properties b/version.properties index f632b66..b35572e 100644 --- a/version.properties +++ b/version.properties @@ -1,3 +1,3 @@ -#Sat Feb 08 21:57:04 CET 2025 -buildNumber=30 +#Sat Feb 08 23:31:55 CET 2025 +buildNumber=33 version=0.1