From 290451bd5762ad97947234edfffc15244bfa09c9 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Wed, 15 Dec 2021 12:30:25 +0000 Subject: [PATCH] Made LeaderboardHandler run asynchronously --- .../src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java | 2 +- .../kotlin/com/willfp/ecoskills/data/LeaderboardHandler.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java index 3a0ce40..8853056 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java @@ -74,7 +74,7 @@ public class EcoSkillsPlugin extends EcoPlugin { ActionBarUtils.startRunnable(); } - this.getScheduler().runTimer(new LeaderboardHandler.Runnable(), 50, 2400); + this.getScheduler().runAsyncTimer(new LeaderboardHandler.Runnable(), 50, 2400); } /** diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/data/LeaderboardHandler.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/data/LeaderboardHandler.kt index 969de5d..2187d28 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/data/LeaderboardHandler.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/data/LeaderboardHandler.kt @@ -6,14 +6,15 @@ import com.willfp.ecoskills.skills.Skill import com.willfp.ecoskills.skills.Skills import org.bukkit.Bukkit import org.bukkit.OfflinePlayer +import java.util.Collections import kotlin.math.ceil import kotlin.math.max import kotlin.math.min class LeaderboardHandler { companion object { - private val sortedLeaderboard = mutableListOf() - private val skillLeaderboards = mutableMapOf>() + private val sortedLeaderboard = Collections.synchronizedList(mutableListOf()) + private val skillLeaderboards = Collections.synchronizedMap(mutableMapOf>()) fun getPage(page: Int, skill: Skill? = null): MutableMap { val selectedLeaderboard = if (skill == null) sortedLeaderboard else skillLeaderboards[skill]!!