Added tags

This commit is contained in:
Auxilor
2024-07-21 11:53:14 +01:00
parent 377d4b9d98
commit b118f5c4d0
4 changed files with 38 additions and 9 deletions

View File

@@ -3,7 +3,6 @@ package com.willfp.ecoitems
import com.willfp.eco.core.command.impl.PluginCommand
import com.willfp.eco.core.display.DisplayModule
import com.willfp.eco.core.items.Items
import com.willfp.eco.core.items.tag.CustomItemTag
import com.willfp.ecoitems.commands.CommandEcoItems
import com.willfp.ecoitems.display.ItemsDisplay
import com.willfp.ecoitems.display.RarityDisplay
@@ -12,10 +11,10 @@ import com.willfp.ecoitems.items.EcoItems
import com.willfp.ecoitems.items.EcoItemsRecipes
import com.willfp.ecoitems.items.ItemAttributeListener
import com.willfp.ecoitems.items.ItemListener
import com.willfp.ecoitems.items.ecoItem
import com.willfp.ecoitems.libreforge.ConditionHasEcoItem
import com.willfp.ecoitems.rarity.ArgParserRarity
import com.willfp.ecoitems.rarity.Rarities
import com.willfp.ecoitems.items.EcoItemTag
import com.willfp.ecoitems.util.DiscoverRecipeListener
import com.willfp.libreforge.conditions.Conditions
import com.willfp.libreforge.loader.LibreforgePlugin
@@ -33,9 +32,7 @@ class EcoItemsPlugin : LibreforgePlugin() {
override fun handleEnable() {
Items.registerArgParser(ArgParserRarity)
Items.registerTag(CustomItemTag(this.createNamespacedKey("item")) {
it.ecoItem != null
})
Items.registerTag(EcoItemTag(this))
Conditions.register(ConditionHasEcoItem)

View File

@@ -0,0 +1,15 @@
package com.willfp.ecoitems.items
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.items.tag.CustomItemTag
import org.bukkit.inventory.ItemStack
class EcoItemTag(plugin: EcoPlugin): CustomItemTag(plugin.createNamespacedKey("item")) {
override fun matches(p0: ItemStack): Boolean {
return p0.ecoItem != null
}
override fun getExampleItem(): ItemStack? {
return EcoItems.values().randomOrNull()?.itemStack
}
}

View File

@@ -3,7 +3,6 @@ package com.willfp.ecoitems.rarity
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.eco.core.display.Display
import com.willfp.eco.core.items.Items
import com.willfp.eco.core.items.tag.CustomItemTag
import com.willfp.eco.core.recipe.parts.EmptyTestableItem
import com.willfp.eco.core.registry.KRegistrable
import com.willfp.ecoitems.EcoItemsPlugin
@@ -24,9 +23,7 @@ class Rarity(
val displayLore = lore.map { Display.PREFIX + it }
val tag = CustomItemTag(plugin.createNamespacedKey(id)) {
it.ecoItemRarity == this
}
val tag = RarityTag(plugin, this)
init {
Items.registerTag(tag)

View File

@@ -0,0 +1,20 @@
package com.willfp.ecoitems.rarity
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.items.tag.CustomItemTag
import com.willfp.ecoitems.items.EcoItems
import com.willfp.ecoitems.items.ecoItem
import org.bukkit.inventory.ItemStack
class RarityTag(
plugin: EcoPlugin,
private val rarity: Rarity
) : CustomItemTag(plugin.createNamespacedKey(rarity.id)) {
override fun matches(p0: ItemStack): Boolean {
return p0.ecoItemRarity == rarity
}
override fun getExampleItem(): ItemStack? {
return rarity.items.randomOrNull()?.item
}
}