From 141103c728d9153d95bb668ada2e9c800947e07f Mon Sep 17 00:00:00 2001 From: Auxilor Date: Tue, 28 Mar 2023 19:19:09 +0100 Subject: [PATCH] Moved integration --- .../com/willfp/talismans/TalismansPlugin.kt | 4 ++++ .../libreforge/ConditionHasTalisman.kt | 24 +++++++++++++++++++ gradle.properties | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/libreforge/ConditionHasTalisman.kt diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/TalismansPlugin.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/TalismansPlugin.kt index 014acfe..33fa1b0 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/TalismansPlugin.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/TalismansPlugin.kt @@ -2,6 +2,7 @@ package com.willfp.talismans import com.willfp.eco.core.command.impl.PluginCommand import com.willfp.eco.core.display.DisplayModule +import com.willfp.libreforge.conditions.Conditions import com.willfp.libreforge.loader.LibreforgePlugin import com.willfp.libreforge.loader.configs.ConfigCategory import com.willfp.libreforge.registerHolderProvider @@ -9,6 +10,7 @@ import com.willfp.libreforge.registerPlayerRefreshFunction import com.willfp.talismans.bag.TalismanBag import com.willfp.talismans.command.CommandTalismans import com.willfp.talismans.display.TalismanDisplay +import com.willfp.talismans.libreforge.ConditionHasTalisman import com.willfp.talismans.talismans.Talismans import com.willfp.talismans.talismans.util.BlockPlaceListener import com.willfp.talismans.talismans.util.DiscoverRecipeListener @@ -25,6 +27,8 @@ class TalismansPlugin : LibreforgePlugin() { } override fun handleEnable() { + Conditions.register(ConditionHasTalisman) + registerHolderProvider { TalismanChecks.getTalismansOnPlayer(it) } registerPlayerRefreshFunction { TalismanChecks.clearCache(it) } } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/libreforge/ConditionHasTalisman.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/libreforge/ConditionHasTalisman.kt new file mode 100644 index 0000000..0594824 --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/libreforge/ConditionHasTalisman.kt @@ -0,0 +1,24 @@ +package com.willfp.talismans.libreforge + +import com.willfp.eco.core.config.interfaces.Config +import com.willfp.eco.util.containsIgnoreCase +import com.willfp.libreforge.NoCompileData +import com.willfp.libreforge.arguments +import com.willfp.libreforge.conditions.Condition +import com.willfp.talismans.talismans.Talisman +import com.willfp.talismans.talismans.util.TalismanChecks +import org.bukkit.entity.Player + +object ConditionHasTalisman : Condition("has_talisman") { + override val arguments = arguments { + require("talisman", "You must specify the talisman!") + } + + override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean { + return TalismanChecks.getTalismansOnPlayer(player) + .map { it.holder } + .filterIsInstance() + .map { it.id.key } + .containsIgnoreCase(config.getString("talisman")) + } +} diff --git a/gradle.properties b/gradle.properties index c9171d1..0a2834c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ #libreforge-updater -#Tue Mar 28 15:57:59 BST 2023 +#Tue Mar 28 18:28:30 BST 2023 kotlin.code.style=official libreforge-version=4.0.0 version=6.0.0