diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/EcoArmorPlugin.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/EcoArmorPlugin.kt index 2fae45a..9bf1453 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/EcoArmorPlugin.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/EcoArmorPlugin.kt @@ -5,6 +5,7 @@ import com.willfp.eco.core.display.DisplayModule import com.willfp.eco.core.items.Items import com.willfp.eco.util.ListUtils import com.willfp.ecoarmor.commands.CommandEcoarmor +import com.willfp.ecoarmor.conditions.ConditionIsWearingSet import com.willfp.ecoarmor.config.EcoArmorYml import com.willfp.ecoarmor.display.ArmorDisplay import com.willfp.ecoarmor.sets.ArmorSets @@ -63,5 +64,8 @@ class EcoArmorPlugin : LibReforgePlugin(687, 10002, "&c") { companion object { @JvmStatic lateinit var instance: EcoArmorPlugin + + @JvmStatic + val IS_WEARING_SET = ConditionIsWearingSet() } } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/conditions/ConditionIsWearingSet.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/conditions/ConditionIsWearingSet.kt new file mode 100644 index 0000000..3902df9 --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/conditions/ConditionIsWearingSet.kt @@ -0,0 +1,28 @@ +package com.willfp.ecoarmor.conditions + +import com.willfp.eco.core.config.interfaces.Config +import com.willfp.ecoarmor.sets.ArmorSets +import com.willfp.ecoarmor.sets.ArmorUtils +import com.willfp.libreforge.ConfigViolation +import com.willfp.libreforge.conditions.Condition +import org.bukkit.entity.Player + +class ConditionIsWearingSet: Condition( + "is_wearing_set" +) { + override fun isConditionMet(player: Player, config: Config): Boolean { + val set = ArmorSets.getByID(config.getString("set")) + if (set != null) { + return ArmorUtils.getSetOnPlayer(player) == set + } + return true + } + + override fun validateConfig(config: Config): List { + val violations = mutableListOf() + if (!config.has("set")) { + violations += ConfigViolation("set", "You must specify an armor set!") + } + return violations + } +} \ No newline at end of file