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 4ac3adb..a9e953e 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 @@ -9,10 +9,12 @@ import com.willfp.libreforge.registerHolderProvider import com.willfp.libreforge.registerPlayerRefreshFunction import com.willfp.libreforge.registerSpecificHolderProvider import com.willfp.libreforge.registerSpecificRefreshFunction +import com.willfp.libreforge.slot.SlotTypes 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.libreforge.SlotTypeTalisman import com.willfp.talismans.talismans.Talismans import com.willfp.talismans.talismans.util.BlockPlaceListener import com.willfp.talismans.talismans.util.DiscoverRecipeListener @@ -34,6 +36,8 @@ class TalismansPlugin : LibreforgePlugin() { } override fun handleEnable() { + SlotTypes.register(SlotTypeTalisman) + registerSpecificHolderProvider { TalismanChecks.getTalismansOnPlayer(it) } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/libreforge/SlotTypeTalisman.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/libreforge/SlotTypeTalisman.kt new file mode 100644 index 0000000..be5c546 --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/talismans/libreforge/SlotTypeTalisman.kt @@ -0,0 +1,25 @@ +package com.willfp.talismans.libreforge + +import com.willfp.libreforge.slot.SlotType +import com.willfp.talismans.talismans.util.TalismanChecks +import org.bukkit.entity.LivingEntity +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +object SlotTypeTalisman: SlotType("talisman") { + override fun getItems(entity: LivingEntity): List { + return if (entity is Player) { + TalismanChecks.getTalismanItemsOnPlayer(entity).toList() + } else { + emptyList() + } + } + + override fun addToSlot(player: Player, item: ItemStack): Boolean { + return false + } + + override fun getItemSlots(player: Player): List { + return emptyList() + } +}