Added ArgParserName

This commit is contained in:
Auxilor
2021-12-06 12:54:28 +00:00
parent 8c73676ee0
commit 29fbd785d7
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
package com.willfp.eco.internal.items
import com.willfp.eco.core.items.args.LookupArgParser
import com.willfp.eco.util.StringUtils
import org.bukkit.inventory.ItemStack
import org.bukkit.inventory.meta.ItemMeta
import java.util.function.Predicate
class ArgParserName : LookupArgParser {
override fun parseArguments(args: Array<out String>, meta: ItemMeta): Predicate<ItemStack>? {
var name: String? = null
for (arg in args) {
val argSplit = arg.split(":")
if (!argSplit[0].equals("name", ignoreCase = true)) {
continue
}
if (argSplit.size < 2) {
continue
}
name = argSplit[1].replace("_", "")
}
name ?: return null
val formatted = StringUtils.format(name)
meta.setDisplayName(formatted)
return Predicate {
val testMeta = it.itemMeta ?: return@Predicate false
testMeta.displayName == formatted
}
}
}

View File

@@ -21,6 +21,7 @@ import com.willfp.eco.internal.items.ArgParserColor
import com.willfp.eco.internal.items.ArgParserCustomModelData
import com.willfp.eco.internal.items.ArgParserEnchantment
import com.willfp.eco.internal.items.ArgParserFlag
import com.willfp.eco.internal.items.ArgParserName
import com.willfp.eco.internal.items.ArgParserTexture
import com.willfp.eco.internal.items.ArgParserUnbreakable
import com.willfp.eco.internal.spigot.arrows.ArrowDataListener
@@ -100,6 +101,7 @@ abstract class EcoSpigotPlugin : EcoPlugin(
Items.registerArgParser(ArgParserCustomModelData())
Items.registerArgParser(ArgParserFlag())
Items.registerArgParser(ArgParserUnbreakable())
Items.registerArgParser(ArgParserName())
val skullProxy = getProxy(SkullProxy::class.java)
SkullUtils.initialize(