9
0
mirror of https://github.com/Auxilor/EcoSkills.git synced 2026-01-03 06:12:21 +00:00

Optimized experience multiplier

This commit is contained in:
Auxilor
2021-08-23 23:05:52 +01:00
parent 53699265d1
commit 070e924ad6

View File

@@ -14,6 +14,8 @@ import org.bukkit.Bukkit
import org.bukkit.OfflinePlayer
import org.bukkit.entity.Player
import org.bukkit.persistence.PersistentDataType
import java.util.*
import kotlin.collections.HashMap
object PlayerHelper {
@@ -30,10 +32,20 @@ object PlayerHelper {
).register()
}
val expMultiplierCache = HashMap<UUID, Double>()
val plugin: EcoSkillsPlugin = EcoSkillsPlugin.getInstance()
}
fun Player.getSkillExperienceMultiplier(): Double {
if (PlayerHelper.expMultiplierCache.containsKey(this.uniqueId)) {
return PlayerHelper.expMultiplierCache[this.uniqueId]!!
}
PlayerHelper.expMultiplierCache[this.uniqueId] = cacheSkillExperienceMultiplier()
return this.getSkillExperienceMultiplier()
}
private fun Player.cacheSkillExperienceMultiplier(): Double {
if (this.hasPermission("ecoskills.xpmultiplier.quadruple")) {
return 4.0
}