mirror of
https://github.com/Auxilor/EcoJobs.git
synced 2025-12-20 07:29:20 +00:00
fixed level-xp-requirements ignoring first few values
This commit is contained in:
@@ -80,7 +80,7 @@ class Job(
|
|||||||
|
|
||||||
private val xpFormula = config.getStringOrNull("xp-formula")
|
private val xpFormula = config.getStringOrNull("xp-formula")
|
||||||
|
|
||||||
private val levelXpRequirements = config.getDoublesOrNull("level-xp-requirements")
|
private val levelXpRequirements = listOf(0) + config.getInts("level-xp-requirements")
|
||||||
|
|
||||||
val maxLevel = config.getIntOrNull("max-level") ?: levelXpRequirements?.size ?: Int.MAX_VALUE
|
val maxLevel = config.getIntOrNull("max-level") ?: levelXpRequirements?.size ?: Int.MAX_VALUE
|
||||||
|
|
||||||
@@ -400,20 +400,20 @@ class Job(
|
|||||||
* Get the XP required to reach the next level, if currently at [level].
|
* Get the XP required to reach the next level, if currently at [level].
|
||||||
*/
|
*/
|
||||||
fun getExpForLevel(level: Int): Double {
|
fun getExpForLevel(level: Int): Double {
|
||||||
|
if (level < 1 || level > maxLevel) {
|
||||||
|
return Double.MAX_VALUE
|
||||||
|
}
|
||||||
|
|
||||||
if (xpFormula != null) {
|
if (xpFormula != null) {
|
||||||
return evaluateExpression(
|
return evaluateExpression(
|
||||||
xpFormula,
|
xpFormula,
|
||||||
placeholderContext(
|
placeholderContext(
|
||||||
injectable = LevelInjectable(level)
|
injectable = LevelInjectable(level - 1)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (levelXpRequirements != null) {
|
return levelXpRequirements[level - 1].toDouble()
|
||||||
return levelXpRequirements.getOrNull(level) ?: Double.POSITIVE_INFINITY
|
|
||||||
}
|
|
||||||
|
|
||||||
return Double.POSITIVE_INFINITY
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getFormattedExpForLevel(level: Int): String {
|
fun getFormattedExpForLevel(level: Int): String {
|
||||||
@@ -479,4 +479,3 @@ private fun Collection<LevelPlaceholder>.format(string: String, level: Int): Str
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun OfflinePlayer.getJobLevelObject(job: Job): JobLevel = job.getLevel(this.getJobLevel(job))
|
fun OfflinePlayer.getJobLevelObject(job: Job): JobLevel = job.getLevel(this.getJobLevel(job))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user