Internal refactoring, added Model Engine support as an arg parser
This commit is contained in:
@@ -4,7 +4,7 @@ import com.willfp.eco.core.entities.args.EntityArgParseResult
|
||||
import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.entity.Ageable
|
||||
|
||||
class EntityArgParserAdult : EntityArgParser {
|
||||
object EntityArgParserAdult : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var baby = false
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserAttackDamage : EntityArgParser {
|
||||
object EntityArgParserAttackDamage : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserAttackSpeed : EntityArgParser {
|
||||
object EntityArgParserAttackSpeed : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.willfp.eco.core.entities.args.EntityArgParseResult
|
||||
import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.entity.Ageable
|
||||
|
||||
class EntityArgParserBaby : EntityArgParser {
|
||||
object EntityArgParserBaby : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var baby = false
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.willfp.eco.core.entities.args.EntityArgParseResult
|
||||
import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.entity.Creeper
|
||||
|
||||
class EntityArgParserCharged : EntityArgParser {
|
||||
object EntityArgParserCharged : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var noAI = false
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.willfp.eco.core.items.TestableItem
|
||||
import org.bukkit.entity.LivingEntity
|
||||
import org.bukkit.inventory.EquipmentSlot
|
||||
|
||||
class EntityArgParserEquipment : EntityArgParser {
|
||||
object EntityArgParserEquipment : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
val equipment = mutableMapOf<EquipmentSlot, TestableItem>()
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.willfp.eco.core.entities.args.EntityArgParseResult
|
||||
import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.entity.Creeper
|
||||
|
||||
class EntityArgParserExplosionRadius : EntityArgParser {
|
||||
object EntityArgParserExplosionRadius : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var size: Int? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserFlySpeed : EntityArgParser {
|
||||
object EntityArgParserFlySpeed : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserFollowRange : EntityArgParser {
|
||||
object EntityArgParserFollowRange : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserHealth : EntityArgParser {
|
||||
object EntityArgParserHealth : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var health: Double? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserJumpStrength : EntityArgParser {
|
||||
object EntityArgParserJumpStrength : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserKnockback : EntityArgParser {
|
||||
object EntityArgParserKnockback : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserKnockbackResistance : EntityArgParser {
|
||||
object EntityArgParserKnockbackResistance : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.willfp.eco.core.entities.args.EntityArgParseResult
|
||||
import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import com.willfp.eco.util.StringUtils
|
||||
|
||||
class EntityArgParserName : EntityArgParser {
|
||||
object EntityArgParserName : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var name: String? = null
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.willfp.eco.core.entities.args.EntityArgParseResult
|
||||
import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserNoAI : EntityArgParser {
|
||||
object EntityArgParserNoAI : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var noAI = false
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.willfp.eco.internal.entities
|
||||
import com.willfp.eco.core.entities.args.EntityArgParseResult
|
||||
import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
|
||||
class EntityArgParserSilent : EntityArgParser {
|
||||
object EntityArgParserSilent : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var silent = false
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.entity.Phantom
|
||||
import org.bukkit.entity.Slime
|
||||
|
||||
class EntityArgParserSize : EntityArgParser {
|
||||
object EntityArgParserSize : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var size: Int? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserSpawnReinforcements : EntityArgParser {
|
||||
object EntityArgParserSpawnReinforcements : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.entity.LivingEntity
|
||||
|
||||
class EntityArgParserSpeed : EntityArgParser {
|
||||
object EntityArgParserSpeed : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var attributeValue: Double? = null
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.bukkit.inventory.meta.ItemMeta
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta
|
||||
import java.util.function.Predicate
|
||||
|
||||
class ArgParserColor : LookupArgParser {
|
||||
object ArgParserColor : LookupArgParser {
|
||||
override fun parseArguments(args: Array<out String>, meta: ItemMeta): Predicate<ItemStack>? {
|
||||
if (meta !is LeatherArmorMeta) {
|
||||
return null
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.bukkit.inventory.ItemStack
|
||||
import org.bukkit.inventory.meta.ItemMeta
|
||||
import java.util.function.Predicate
|
||||
|
||||
class ArgParserCustomModelData : LookupArgParser {
|
||||
object ArgParserCustomModelData : LookupArgParser {
|
||||
override fun parseArguments(args: Array<out String>, meta: ItemMeta): Predicate<ItemStack>? {
|
||||
var modelData: Int? = null
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.bukkit.inventory.meta.EnchantmentStorageMeta
|
||||
import org.bukkit.inventory.meta.ItemMeta
|
||||
import java.util.function.Predicate
|
||||
|
||||
class ArgParserEnchantment : LookupArgParser {
|
||||
object ArgParserEnchantment : LookupArgParser {
|
||||
override fun parseArguments(args: Array<out String>, meta: ItemMeta): Predicate<ItemStack>? {
|
||||
val enchants = mutableMapOf<Enchantment, Int>()
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.bukkit.inventory.ItemStack
|
||||
import org.bukkit.inventory.meta.ItemMeta
|
||||
import java.util.function.Predicate
|
||||
|
||||
class ArgParserFlag : LookupArgParser {
|
||||
object ArgParserFlag : LookupArgParser {
|
||||
override fun parseArguments(args: Array<out String>, meta: ItemMeta): Predicate<ItemStack>? {
|
||||
val flags = mutableSetOf<ItemFlag>()
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.bukkit.inventory.ItemStack
|
||||
import org.bukkit.inventory.meta.ItemMeta
|
||||
import java.util.function.Predicate
|
||||
|
||||
class ArgParserName : LookupArgParser {
|
||||
object ArgParserName : LookupArgParser {
|
||||
override fun parseArguments(args: Array<out String>, meta: ItemMeta): Predicate<ItemStack>? {
|
||||
var name: String? = null
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.bukkit.inventory.meta.ItemMeta
|
||||
import org.bukkit.inventory.meta.SkullMeta
|
||||
import java.util.function.Predicate
|
||||
|
||||
class ArgParserTexture : LookupArgParser {
|
||||
object ArgParserTexture : LookupArgParser {
|
||||
override fun parseArguments(args: Array<out String>, meta: ItemMeta): Predicate<ItemStack>? {
|
||||
if (meta !is SkullMeta) {
|
||||
return null
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.bukkit.inventory.ItemStack
|
||||
import org.bukkit.inventory.meta.ItemMeta
|
||||
import java.util.function.Predicate
|
||||
|
||||
class ArgParserUnbreakable : LookupArgParser {
|
||||
object ArgParserUnbreakable : LookupArgParser {
|
||||
override fun parseArguments(args: Array<out String>, meta: ItemMeta): Predicate<ItemStack>? {
|
||||
var unbreakable = false
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.willfp.eco.core.lookup.LookupHandler
|
||||
import com.willfp.eco.core.lookup.SegmentParser
|
||||
import com.willfp.eco.core.lookup.Testable
|
||||
|
||||
class SegmentParserGroup : SegmentParser("||") {
|
||||
object SegmentParserGroup : SegmentParser("||") {
|
||||
override fun <T : Testable<*>> handleSegments(segments: Array<out String>, handler: LookupHandler<T>): T {
|
||||
val possibleOptions = mutableListOf<T>()
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.willfp.eco.core.lookup.LookupHandler
|
||||
import com.willfp.eco.core.lookup.SegmentParser
|
||||
import com.willfp.eco.core.lookup.Testable
|
||||
|
||||
class SegmentParserUseIfPresent : SegmentParser("?") {
|
||||
object SegmentParserUseIfPresent : SegmentParser("?") {
|
||||
override fun <T : Testable<*>> handleSegments(segments: Array<out String>, handler: LookupHandler<T>): T {
|
||||
for (option in segments) {
|
||||
val lookup = handler.parseKey(option)
|
||||
|
||||
@@ -49,6 +49,7 @@ dependencies {
|
||||
compileOnly 'com.github.decentsoftware-eu:decentholograms:2.1.2'
|
||||
compileOnly 'com.github.Gypopo:EconomyShopGUI-API:1.1.0'
|
||||
compileOnly 'com.github.N0RSKA:ScytherAPI:55a'
|
||||
compileOnly 'com.ticxo.modelengine:api:R3.0.1'
|
||||
|
||||
// MythicMobs
|
||||
compileOnly 'io.lumine:Mythic:5.0.1'
|
||||
|
||||
@@ -100,6 +100,7 @@ import com.willfp.eco.internal.spigot.integrations.customitems.CustomItemsOraxen
|
||||
import com.willfp.eco.internal.spigot.integrations.customitems.CustomItemsScyther
|
||||
import com.willfp.eco.internal.spigot.integrations.customrecipes.CustomRecipeCustomCrafting
|
||||
import com.willfp.eco.internal.spigot.integrations.economy.EconomyVault
|
||||
import com.willfp.eco.internal.spigot.integrations.entitylookup.EntityLookupModelEngine
|
||||
import com.willfp.eco.internal.spigot.integrations.hologram.HologramCMI
|
||||
import com.willfp.eco.internal.spigot.integrations.hologram.HologramDecentHolograms
|
||||
import com.willfp.eco.internal.spigot.integrations.hologram.HologramHolographicDisplays
|
||||
@@ -117,7 +118,6 @@ import com.willfp.eco.internal.spigot.recipes.listeners.ComplexInComplex
|
||||
import com.willfp.eco.internal.spigot.recipes.listeners.ComplexInVanilla
|
||||
import com.willfp.eco.internal.spigot.recipes.stackhandlers.ShapedCraftingRecipeStackHandler
|
||||
import com.willfp.eco.internal.spigot.recipes.stackhandlers.ShapelessCraftingRecipeStackHandler
|
||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences
|
||||
import net.milkbowl.vault.economy.Economy
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.Material
|
||||
@@ -129,42 +129,42 @@ abstract class EcoSpigotPlugin : EcoPlugin() {
|
||||
protected abstract val profileHandler: EcoProfileHandler
|
||||
|
||||
init {
|
||||
Items.registerArgParser(ArgParserEnchantment())
|
||||
Items.registerArgParser(ArgParserColor())
|
||||
Items.registerArgParser(ArgParserTexture())
|
||||
Items.registerArgParser(ArgParserCustomModelData())
|
||||
Items.registerArgParser(ArgParserFlag())
|
||||
Items.registerArgParser(ArgParserUnbreakable())
|
||||
Items.registerArgParser(ArgParserName())
|
||||
Items.registerArgParser(ArgParserEnchantment)
|
||||
Items.registerArgParser(ArgParserColor)
|
||||
Items.registerArgParser(ArgParserTexture)
|
||||
Items.registerArgParser(ArgParserCustomModelData)
|
||||
Items.registerArgParser(ArgParserFlag)
|
||||
Items.registerArgParser(ArgParserUnbreakable)
|
||||
Items.registerArgParser(ArgParserName)
|
||||
|
||||
Entities.registerArgParser(EntityArgParserName())
|
||||
Entities.registerArgParser(EntityArgParserNoAI())
|
||||
Entities.registerArgParser(EntityArgParserAttackDamage())
|
||||
Entities.registerArgParser(EntityArgParserAttackSpeed())
|
||||
Entities.registerArgParser(EntityArgParserFlySpeed())
|
||||
Entities.registerArgParser(EntityArgParserFollowRange())
|
||||
Entities.registerArgParser(EntityArgParserHealth())
|
||||
Entities.registerArgParser(EntityArgParserJumpStrength())
|
||||
Entities.registerArgParser(EntityArgParserKnockback())
|
||||
Entities.registerArgParser(EntityArgParserKnockbackResistance())
|
||||
Entities.registerArgParser(EntityArgParserSize())
|
||||
Entities.registerArgParser(EntityArgParserSpawnReinforcements())
|
||||
Entities.registerArgParser(EntityArgParserSpeed())
|
||||
Entities.registerArgParser(EntityArgParserBaby())
|
||||
Entities.registerArgParser(EntityArgParserAdult())
|
||||
Entities.registerArgParser(EntityArgParserCharged())
|
||||
Entities.registerArgParser(EntityArgParserExplosionRadius())
|
||||
Entities.registerArgParser(EntityArgParserSilent())
|
||||
Entities.registerArgParser(EntityArgParserEquipment())
|
||||
Entities.registerArgParser(EntityArgParserName)
|
||||
Entities.registerArgParser(EntityArgParserNoAI)
|
||||
Entities.registerArgParser(EntityArgParserAttackDamage)
|
||||
Entities.registerArgParser(EntityArgParserAttackSpeed)
|
||||
Entities.registerArgParser(EntityArgParserFlySpeed)
|
||||
Entities.registerArgParser(EntityArgParserFollowRange)
|
||||
Entities.registerArgParser(EntityArgParserHealth)
|
||||
Entities.registerArgParser(EntityArgParserJumpStrength)
|
||||
Entities.registerArgParser(EntityArgParserKnockback)
|
||||
Entities.registerArgParser(EntityArgParserKnockbackResistance)
|
||||
Entities.registerArgParser(EntityArgParserSize)
|
||||
Entities.registerArgParser(EntityArgParserSpawnReinforcements)
|
||||
Entities.registerArgParser(EntityArgParserSpeed)
|
||||
Entities.registerArgParser(EntityArgParserBaby)
|
||||
Entities.registerArgParser(EntityArgParserAdult)
|
||||
Entities.registerArgParser(EntityArgParserCharged)
|
||||
Entities.registerArgParser(EntityArgParserExplosionRadius)
|
||||
Entities.registerArgParser(EntityArgParserSilent)
|
||||
Entities.registerArgParser(EntityArgParserEquipment)
|
||||
|
||||
CraftingRecipeListener.registerListener(ComplexInComplex())
|
||||
CraftingRecipeListener.registerListener(ComplexInVanilla())
|
||||
CraftingRecipeListener.registerListener(ComplexInComplex)
|
||||
CraftingRecipeListener.registerListener(ComplexInVanilla)
|
||||
|
||||
StackedRecipeListener.registerHandler(ShapedCraftingRecipeStackHandler())
|
||||
StackedRecipeListener.registerHandler(ShapelessCraftingRecipeStackHandler())
|
||||
StackedRecipeListener.registerHandler(ShapedCraftingRecipeStackHandler)
|
||||
StackedRecipeListener.registerHandler(ShapelessCraftingRecipeStackHandler)
|
||||
|
||||
SegmentParserGroup().register()
|
||||
SegmentParserUseIfPresent().register()
|
||||
SegmentParserGroup.register()
|
||||
SegmentParserUseIfPresent.register()
|
||||
|
||||
CustomItemsManager.registerProviders()
|
||||
}
|
||||
@@ -317,7 +317,8 @@ abstract class EcoSpigotPlugin : EcoPlugin() {
|
||||
this.eventManager.registerListener(
|
||||
MultiverseInventoriesIntegration(this)
|
||||
)
|
||||
}
|
||||
},
|
||||
IntegrationLoader("ModelEngine") { EntityLookupModelEngine.register() }
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.willfp.eco.internal.spigot.arrows
|
||||
|
||||
import com.sun.tools.javac.jvm.ByteCodes.ret
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.items.isEmpty
|
||||
import org.bukkit.Material
|
||||
import org.bukkit.entity.Arrow
|
||||
import org.bukkit.entity.LivingEntity
|
||||
@@ -27,13 +29,9 @@ class ArrowDataListener(
|
||||
|
||||
val entity = arrow.shooter as LivingEntity
|
||||
|
||||
if (entity.equipment == null) {
|
||||
return
|
||||
}
|
||||
val item = entity.equipment?.itemInMainHand
|
||||
|
||||
val item = entity.equipment!!.itemInMainHand
|
||||
|
||||
if (item.type == Material.AIR || !item.hasItemMeta() || item.itemMeta == null) {
|
||||
if (item.isEmpty || item == null) {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.willfp.eco.internal.spigot.integrations.entitylookup
|
||||
|
||||
import com.ticxo.modelengine.api.ModelEngineAPI
|
||||
import com.willfp.eco.core.entities.Entities
|
||||
import com.willfp.eco.core.entities.args.EntityArgParseResult
|
||||
import com.willfp.eco.core.entities.args.EntityArgParser
|
||||
import com.willfp.eco.core.integrations.Integration
|
||||
|
||||
object EntityLookupModelEngine : Integration {
|
||||
fun register() {
|
||||
Entities.registerArgParser(EntityArgParserModelEngine)
|
||||
}
|
||||
|
||||
override fun getPluginName(): String {
|
||||
return "ModelEngine"
|
||||
}
|
||||
|
||||
private object EntityArgParserModelEngine : EntityArgParser {
|
||||
override fun parseArguments(args: Array<out String>): EntityArgParseResult? {
|
||||
var id: String? = null
|
||||
var animation: String? = null
|
||||
|
||||
for (arg in args) {
|
||||
val argSplit = arg.split(":")
|
||||
if (!argSplit[0].equals("model-engine", ignoreCase = true)) {
|
||||
continue
|
||||
}
|
||||
if (argSplit.size < 2) {
|
||||
continue
|
||||
}
|
||||
|
||||
val modelEngineInfo = argSplit[1].split(",")
|
||||
|
||||
id = modelEngineInfo.getOrNull(0)
|
||||
animation = modelEngineInfo.getOrNull(1)
|
||||
}
|
||||
|
||||
if (id == null) {
|
||||
return null
|
||||
}
|
||||
|
||||
return EntityArgParseResult(
|
||||
{
|
||||
val modelled = ModelEngineAPI.getModeledEntity(it.uniqueId)
|
||||
|
||||
if (modelled == null) {
|
||||
return@EntityArgParseResult false
|
||||
}
|
||||
|
||||
modelled.models.containsKey(id)
|
||||
},
|
||||
{
|
||||
val model = ModelEngineAPI.createActiveModel(id)
|
||||
|
||||
if (animation != null) {
|
||||
val handler = model.animationHandler
|
||||
val property = handler.getAnimation(animation)
|
||||
|
||||
if (property != null) {
|
||||
handler.playAnimation(property, true)
|
||||
}
|
||||
}
|
||||
|
||||
val modelled = ModelEngineAPI.createModeledEntity(it)
|
||||
modelled.addModel(model, true)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ import com.willfp.eco.internal.spigot.recipes.GenericCraftEvent
|
||||
import com.willfp.eco.internal.spigot.recipes.RecipeListener
|
||||
import org.bukkit.entity.Player
|
||||
|
||||
class ComplexInComplex : RecipeListener {
|
||||
object ComplexInComplex : RecipeListener {
|
||||
override fun handle(event: GenericCraftEvent) {
|
||||
val recipe = event.recipe
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.willfp.eco.internal.spigot.recipes.CraftingRecipeListener
|
||||
import com.willfp.eco.internal.spigot.recipes.GenericCraftEvent
|
||||
import com.willfp.eco.internal.spigot.recipes.RecipeListener
|
||||
|
||||
class ComplexInVanilla : RecipeListener {
|
||||
object ComplexInVanilla : RecipeListener {
|
||||
override fun handle(event: GenericCraftEvent) {
|
||||
if (EcoPlugin.getPluginNames().contains(event.recipe.key.namespace)) {
|
||||
return
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.willfp.eco.core.recipe.recipes.ShapedCraftingRecipe
|
||||
import com.willfp.eco.internal.spigot.recipes.StackedRecipeHandler
|
||||
import org.bukkit.inventory.ItemStack
|
||||
|
||||
class ShapedCraftingRecipeStackHandler : StackedRecipeHandler {
|
||||
object ShapedCraftingRecipeStackHandler : StackedRecipeHandler {
|
||||
override val recipeType = ShapedCraftingRecipe::class.java
|
||||
override fun makeData(recipe: CraftingRecipe): Any? = null
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.willfp.eco.core.recipe.recipes.ShapelessCraftingRecipe
|
||||
import com.willfp.eco.internal.spigot.recipes.StackedRecipeHandler
|
||||
import org.bukkit.inventory.ItemStack
|
||||
|
||||
class ShapelessCraftingRecipeStackHandler :
|
||||
object ShapelessCraftingRecipeStackHandler :
|
||||
StackedRecipeHandler {
|
||||
override val recipeType = ShapelessCraftingRecipe::class.java
|
||||
override fun makeData(recipe: CraftingRecipe): Any {
|
||||
|
||||
@@ -47,4 +47,5 @@ softdepend:
|
||||
- EconomyShopGUI
|
||||
- zShop
|
||||
- DeluxeSellwands
|
||||
- Scyther
|
||||
- Scyther
|
||||
- ModelEngine
|
||||
Reference in New Issue
Block a user