diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/boosters/BoostersPlugin.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/boosters/BoostersPlugin.kt index b4ac09e..72ebbf2 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/boosters/BoostersPlugin.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/boosters/BoostersPlugin.kt @@ -5,8 +5,10 @@ import com.willfp.boosters.boosters.activeBoosters import com.willfp.boosters.boosters.expireBooster import com.willfp.boosters.boosters.scanForBoosters import com.willfp.boosters.commands.CommandBoosters +import com.willfp.boosters.libreforge.ConditionIsBoosterActive import com.willfp.eco.core.command.impl.PluginCommand import com.willfp.libreforge.SimpleProvidedHolder +import com.willfp.libreforge.conditions.Conditions import com.willfp.libreforge.loader.LibreforgePlugin import com.willfp.libreforge.loader.configs.ConfigCategory import com.willfp.libreforge.registerHolderProvider @@ -20,6 +22,8 @@ class BoostersPlugin : LibreforgePlugin() { } override fun handleEnable() { + Conditions.register(ConditionIsBoosterActive) + registerHolderProvider { Bukkit.getServer().activeBoosters.map { it.booster }.map { SimpleProvidedHolder(it) } } } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/boosters/libreforge/ConditionIsBoosterActive.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/boosters/libreforge/ConditionIsBoosterActive.kt new file mode 100644 index 0000000..c50860b --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/boosters/libreforge/ConditionIsBoosterActive.kt @@ -0,0 +1,18 @@ +package com.willfp.boosters.libreforge + +import com.willfp.boosters.boosters.Boosters +import com.willfp.eco.core.config.interfaces.Config +import com.willfp.libreforge.NoCompileData +import com.willfp.libreforge.arguments +import com.willfp.libreforge.conditions.Condition +import org.bukkit.entity.Player + +object ConditionIsBoosterActive : Condition("is_booster_active") { + override val arguments = arguments { + require("booster", "You must specify the booster!") + } + + override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean { + return Boosters.getByID(config.getString("booster"))?.active != null + } +} diff --git a/gradle.properties b/gradle.properties index 87a7949..f49d6c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ #libreforge-updater -#Mon Mar 13 13:39:16 GMT 2023 +#Tue Mar 28 18:28:35 BST 2023 kotlin.code.style=official libreforge-version=4.0.0 version=5.0.0