diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/display/ArmorDisplay.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/display/ArmorDisplay.kt index 02a22f4..cf24e9f 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/display/ArmorDisplay.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/display/ArmorDisplay.kt @@ -7,6 +7,7 @@ import com.willfp.eco.core.display.DisplayPriority import com.willfp.eco.core.fast.FastItemStack import com.willfp.ecoarmor.sets.ArmorSlot import com.willfp.ecoarmor.sets.ArmorUtils +import com.willfp.libreforge.SimpleProvidedHolder import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack import org.bukkit.inventory.meta.LeatherArmorMeta @@ -66,13 +67,21 @@ class ArmorDisplay(plugin: EcoPlugin) : DisplayModule(plugin, DisplayPriority.LO val lines = mutableListOf() lines.addAll(if (ArmorUtils.isAdvanced(meta)) { - set.advancedHolder.conditions.getNotMetLines(player).map { Display.PREFIX + it } + set.advancedHolder.conditions + .getNotMetLines(player, SimpleProvidedHolder(set.advancedHolder)) + .map { Display.PREFIX + it } } else { - set.regularHolder.conditions.getNotMetLines(player).map { Display.PREFIX + it } + set.regularHolder.conditions + .getNotMetLines(player, SimpleProvidedHolder(set.regularHolder)) + .map { Display.PREFIX + it } }) + // Lovely. + val specificHolder = set.getSpecificHolder(itemStack) lines.addAll( - set.getSpecificHolder(itemStack)?.conditions?.getNotMetLines(player)?.map { Display.PREFIX + it } + specificHolder?.holder?.conditions + ?.getNotMetLines(player, specificHolder) + ?.map { Display.PREFIX + it } ?: emptyList() ) diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/sets/ArmorSet.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/sets/ArmorSet.kt index b84d570..06d041c 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/sets/ArmorSet.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoarmor/sets/ArmorSet.kt @@ -19,6 +19,8 @@ import com.willfp.ecoarmor.upgrades.Tier import com.willfp.ecoarmor.upgrades.Tiers import com.willfp.ecoarmor.util.PlayableSound import com.willfp.libreforge.Holder +import com.willfp.libreforge.ItemProvidedHolder +import com.willfp.libreforge.ProvidedHolder import com.willfp.libreforge.SimpleHolder import com.willfp.libreforge.ViolationContext import com.willfp.libreforge.conditions.Conditions @@ -328,14 +330,14 @@ class ArmorSet( return tier ?: Tiers.defaultTier } - fun getSpecificHolder(itemStack: ItemStack): Holder? { + fun getSpecificHolder(itemStack: ItemStack): ProvidedHolder? { val slot = getSlot(itemStack) ?: return null val advanced = isAdvanced(itemStack) return if (advanced) { - advancedSlotHolders[slot] + ItemProvidedHolder(advancedSlotHolders[slot], itemStack) } else { - slotHolders[slot] + ItemProvidedHolder(slotHolders[slot], itemStack) } } diff --git a/gradle.properties b/gradle.properties index 9d355a1..8c8154d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ #libreforge-updater -#Wed Mar 29 15:47:32 BST 2023 +#Wed Mar 29 19:21:09 BST 2023 kotlin.code.style=official -libreforge-version=4.0.0 -version=8.0.0 +libreforge-version=4.1.0 +version=8.1.0