From ab6d8c0062d1c0db2b509692ea401463b6d6d984 Mon Sep 17 00:00:00 2001 From: Pablo Herrera Date: Sat, 24 Feb 2024 00:19:21 +0100 Subject: [PATCH] Reset phase color on new match load Signed-off-by: Pablo Herrera --- .../main/java/tc/oc/pgm/db/SettingsImpl.java | 2 +- .../tc/oc/pgm/listeners/MotdListener.java | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/tc/oc/pgm/db/SettingsImpl.java b/core/src/main/java/tc/oc/pgm/db/SettingsImpl.java index 73745d34ee..af1955fe56 100644 --- a/core/src/main/java/tc/oc/pgm/db/SettingsImpl.java +++ b/core/src/main/java/tc/oc/pgm/db/SettingsImpl.java @@ -18,7 +18,7 @@ class SettingsImpl implements Settings { } public static long bitSettings(SettingValue value) { - return 1 << (assertNotNull(value, "setting value is null").ordinal() + 1); + return 1L << (assertNotNull(value, "setting value is null").ordinal() + 1); } protected final long getBit() { diff --git a/core/src/main/java/tc/oc/pgm/listeners/MotdListener.java b/core/src/main/java/tc/oc/pgm/listeners/MotdListener.java index 5ad91fb935..ca5fefb99a 100644 --- a/core/src/main/java/tc/oc/pgm/listeners/MotdListener.java +++ b/core/src/main/java/tc/oc/pgm/listeners/MotdListener.java @@ -8,6 +8,7 @@ import org.bukkit.event.server.ServerListPingEvent; import tc.oc.pgm.api.PGM; import tc.oc.pgm.api.map.MapInfo; +import tc.oc.pgm.api.match.MatchPhase; import tc.oc.pgm.api.match.event.MatchLoadEvent; import tc.oc.pgm.api.match.event.MatchPhaseChangeEvent; @@ -37,23 +38,25 @@ public void onServerListPing(ServerListPingEvent event) { @EventHandler public void onLoad(MatchLoadEvent event) { + phaseColor = getPhaseColor(event.getMatch().getPhase()); mapName = event.getMatch().getMap().getName(); } @EventHandler(priority = EventPriority.MONITOR) public void onStateChange(MatchPhaseChangeEvent event) { - switch (event.getNewPhase()) { + phaseColor = getPhaseColor(event.getNewPhase()); + } + + private ChatColor getPhaseColor(MatchPhase phase) { + switch (phase) { case STARTING: - phaseColor = ChatColor.YELLOW; - break; + return ChatColor.YELLOW; case RUNNING: - phaseColor = ChatColor.GREEN; - break; + return ChatColor.GREEN; case FINISHED: - phaseColor = ChatColor.RED; - break; + return ChatColor.RED; default: - phaseColor = ChatColor.GRAY; + return ChatColor.GRAY; } } }