Add has_pet condition and fix has_active_pet
This commit is contained in:
@@ -5,13 +5,7 @@ import com.willfp.eco.core.integrations.IntegrationLoader
|
||||
import com.willfp.eco.core.placeholder.PlayerPlaceholder
|
||||
import com.willfp.ecopets.commands.CommandEcoPets
|
||||
import com.willfp.ecopets.commands.CommandPets
|
||||
import com.willfp.ecopets.libreforge.ConditionHasActivePet
|
||||
import com.willfp.ecopets.libreforge.ConditionHasPetLevel
|
||||
import com.willfp.ecopets.libreforge.EffectGivePetXp
|
||||
import com.willfp.ecopets.libreforge.EffectPetXpMultiplier
|
||||
import com.willfp.ecopets.libreforge.FilterPet
|
||||
import com.willfp.ecopets.libreforge.TriggerGainPetXp
|
||||
import com.willfp.ecopets.libreforge.TriggerLevelUpPet
|
||||
import com.willfp.ecopets.libreforge.*
|
||||
import com.willfp.ecopets.pets.DiscoverRecipeListener
|
||||
import com.willfp.ecopets.pets.PetDisplay
|
||||
import com.willfp.ecopets.pets.PetLevelListener
|
||||
@@ -48,6 +42,7 @@ class EcoPetsPlugin : LibreforgePlugin() {
|
||||
override fun handleEnable() {
|
||||
Conditions.register(ConditionHasPetLevel)
|
||||
Conditions.register(ConditionHasActivePet)
|
||||
Conditions.register(ConditionHasPet)
|
||||
Effects.register(EffectPetXpMultiplier)
|
||||
Effects.register(EffectGivePetXp)
|
||||
Triggers.register(TriggerGainPetXp)
|
||||
|
||||
@@ -14,9 +14,10 @@ object ConditionHasActivePet : Condition<NoCompileData>("has_active_pet") {
|
||||
}
|
||||
|
||||
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
|
||||
return EcoPetsAPI.instance.hasPet(
|
||||
player,
|
||||
Pets.getByID(config.getString("pet").lowercase()) ?: return false
|
||||
)
|
||||
return EcoPetsAPI.instance.getActivePet(player) == Pets.getByID(config.getString("pet").lowercase())
|
||||
// return EcoPetsAPI.instance.hasPet(
|
||||
// player,
|
||||
// Pets.getByID(config.getString("pet").lowercase()) ?: return false
|
||||
// )
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.willfp.ecopets.libreforge
|
||||
|
||||
import com.willfp.eco.core.config.interfaces.Config
|
||||
import com.willfp.ecopets.api.EcoPetsAPI
|
||||
import com.willfp.ecopets.pets.Pets
|
||||
import com.willfp.libreforge.NoCompileData
|
||||
import com.willfp.libreforge.conditions.Condition
|
||||
import org.bukkit.entity.Player
|
||||
|
||||
object ConditionHasPet : Condition<NoCompileData>("has_pet") {
|
||||
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
|
||||
return EcoPetsAPI.instance.hasPet(
|
||||
player,
|
||||
Pets.getByID(config.getString("pet").lowercase()) ?: return false
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user