From 8f1f267ad72016ecf34b44548f6435ada1240f62 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Sun, 21 Jul 2024 14:39:02 +0200 Subject: [PATCH] Fix final Leaderboard --- src/de/steamwar/lobby/util/Leaderboard.java | 24 +++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/de/steamwar/lobby/util/Leaderboard.java b/src/de/steamwar/lobby/util/Leaderboard.java index 6b76369..f3182a1 100644 --- a/src/de/steamwar/lobby/util/Leaderboard.java +++ b/src/de/steamwar/lobby/util/Leaderboard.java @@ -98,10 +98,18 @@ public class Leaderboard implements Listener { private String calcName(SteamwarUser user, String color, int placement, long time) { StringBuilder st = new StringBuilder(); st.append(color); - st.append(placement).append(". ").append(user.getUserName()); - st.append(" §8• "); - st.append(color).append(renderTime(time)); - if (time != bestTime) { + if (placement == Integer.MAX_VALUE) { + st.append("???").append(". ").append(user.getUserName()); + } else { + st.append(placement).append(". ").append(user.getUserName()); + } + st.append(" §8• ").append(color); + if (placement == Integer.MAX_VALUE) { + st.append("??:??,???"); + } else { + st.append(renderTime(time)); + } + if (time != bestTime && placement != Integer.MAX_VALUE) { st.append(" §8• "); st.append(color).append("+").append(renderShortTime(time - bestTime)); } @@ -120,14 +128,18 @@ public class Leaderboard implements Listener { private long getPlayerTime(SteamwarUser user) { return PLAYER_TIME.select(resultSet -> { - resultSet.next(); + if (!resultSet.next()) { + return Long.MAX_VALUE; + } return resultSet.getLong("Time"); }, configKey, user.getId()); } private int getPlayerPlacement(SteamwarUser user) { return PLAYER_PLACEMENT.select(resultSet -> { - resultSet.next(); + if (!resultSet.next()) { + return Integer.MAX_VALUE; + } return resultSet.getInt("Placement"); }, configKey, configKey, user.getId()); }