diff --git a/build.gradle.kts b/build.gradle.kts index 0454ba7..0f2adc5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -40,7 +40,7 @@ allprojects { } dependencies { - compileOnly("com.willfp:eco:6.53.0") + compileOnly("com.willfp:eco:6.56.0") compileOnly("org.jetbrains:annotations:23.0.0") compileOnly("org.jetbrains.kotlin:kotlin-stdlib:1.7.10") diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobits/currencies/PriceFactoryCurrency.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobits/currencies/PriceFactoryCurrency.kt index c11240b..d3649db 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobits/currencies/PriceFactoryCurrency.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobits/currencies/PriceFactoryCurrency.kt @@ -1,6 +1,8 @@ package com.willfp.ecobits.currencies import com.willfp.eco.core.math.MathContext +import com.willfp.eco.core.placeholder.context.PlaceholderContext +import com.willfp.eco.core.placeholder.context.PlaceholderContextSupplier import com.willfp.eco.core.price.Price import com.willfp.eco.core.price.PriceFactory import org.bukkit.entity.Player @@ -14,14 +16,14 @@ class PriceFactoryCurrency( currency.id ) - override fun create(baseContext: MathContext, function: Function): Price { - return PriceCurrency(currency, baseContext) { function.apply(it) } + override fun create(baseContext: PlaceholderContext, function: PlaceholderContextSupplier): Price { + return PriceCurrency(currency, baseContext) { function.get(it) } } private class PriceCurrency( private val currency: Currency, - private val baseContext: MathContext, - private val xp: (MathContext) -> Double + private val baseContext: PlaceholderContext, + private val xp: (PlaceholderContext) -> Double ) : Price { private val multipliers = mutableMapOf() @@ -35,7 +37,7 @@ class PriceFactoryCurrency( player.adjustBalance(currency, getValue(player, multiplier)) override fun getValue(player: Player, multiplier: Double) = - xp(MathContext.copyWithPlayer(baseContext, player)) * getMultiplier(player) * multiplier + xp(baseContext.copyWithPlayer(player)) * getMultiplier(player) * multiplier override fun getMultiplier(player: Player): Double { return multipliers[player.uniqueId] ?: 1.0 @@ -45,4 +47,4 @@ class PriceFactoryCurrency( multipliers[player.uniqueId] = multiplier } } -} \ No newline at end of file +}