From 4cdfd7f9c2a78932e845d8e51fde75315958f6e8 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Thu, 13 Nov 2025 09:01:58 -0800 Subject: [PATCH] Add a config option for leaderboard refresh time --- src/main/java/emu/nebula/Config.java | 1 + .../java/emu/nebula/game/scoreboss/ScoreBossModule.java | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/emu/nebula/Config.java b/src/main/java/emu/nebula/Config.java index fead3a9..ec341cc 100644 --- a/src/main/java/emu/nebula/Config.java +++ b/src/main/java/emu/nebula/Config.java @@ -101,6 +101,7 @@ public class Config { public boolean skipIntro = false; public boolean unlockInstances = true; public int dailyResetHour = 0; + public int leaderboardRefreshTime = 60; public WelcomeMail welcomeMail = new WelcomeMail(); } diff --git a/src/main/java/emu/nebula/game/scoreboss/ScoreBossModule.java b/src/main/java/emu/nebula/game/scoreboss/ScoreBossModule.java index 3547853..44c13fd 100644 --- a/src/main/java/emu/nebula/game/scoreboss/ScoreBossModule.java +++ b/src/main/java/emu/nebula/game/scoreboss/ScoreBossModule.java @@ -21,6 +21,10 @@ public class ScoreBossModule extends GameContextModule { this.ranking = new ArrayList<>(); } + private long getRefreshTime() { + return Nebula.getConfig().getServerOptions().leaderboardRefreshTime * 1000; + } + public synchronized List getRanking() { if (System.currentTimeMillis() > this.nextUpdate) { this.updateRanking(); @@ -46,7 +50,7 @@ public class ScoreBossModule extends GameContextModule { this.ranking.add(entry.toProto()); } - this.nextUpdate = System.currentTimeMillis() + 1000; + this.nextUpdate = System.currentTimeMillis() + this.getRefreshTime(); this.lastUpdate = Nebula.getCurrentTime(); } }