From c7a512a05585d7ad8bda99a2ce9b4aa03f57d93b Mon Sep 17 00:00:00 2001 From: Auxilor Date: Fri, 14 Jan 2022 18:54:12 +0000 Subject: [PATCH] Fixed permission cache --- .../java/com/willfp/ecoskills/EcoSkillsPlugin.java | 1 + .../kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt | 13 +++++++------ 2 files changed, 8 insertions(+), 6 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 044bdeb..6a4e266 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,6 +74,7 @@ public class EcoSkillsPlugin extends EcoPlugin { ActionBarUtils.startRunnable(); } + this.getScheduler().runTimer(EcoSkillsPlayerKt::clearExpMultiplierCache, 100, 100); SkillDisplayListener.tickBossBars(this); this.getScheduler().runAsyncTimer(new LeaderboardHandler.Runnable(), 50, 2400); } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt index 26eaa02..0c10af9 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/EcoSkillsPlayer.kt @@ -16,12 +16,16 @@ import org.bukkit.entity.Entity import org.bukkit.entity.Player import org.bukkit.entity.Projectile import org.bukkit.entity.Tameable -import java.util.UUID +import java.util.* import kotlin.math.abs private val expMultiplierCache = mutableMapOf() private val plugin: EcoSkillsPlugin = EcoSkillsPlugin.getInstance() +fun clearExpMultiplierCache() { + expMultiplierCache.clear() +} + fun Player.getSkillExperienceMultiplier(): Double { if (expMultiplierCache.containsKey(this.uniqueId)) { return expMultiplierCache[this.uniqueId]!! @@ -55,10 +59,6 @@ private fun Player.cacheSkillExperienceMultiplier(): Double { } } - plugin.scheduler.runLater({ - expMultiplierCache.remove(this.uniqueId) - }, 200) - return 1.0 } @@ -179,7 +179,8 @@ fun OfflinePlayer.setStatLevel(stat: Stat, level: Int) { } } -private val gainSoundKey = PersistentDataKey(plugin.namespacedKeyFactory.create("gainSound"), PersistentDataKeyType.BOOLEAN, true); +private val gainSoundKey = + PersistentDataKey(plugin.namespacedKeyFactory.create("gainSound"), PersistentDataKeyType.BOOLEAN, true); fun OfflinePlayer.hasGainSoundEnabled(): Boolean { return PlayerProfile.load(this).read(gainSoundKey)