libreforge-updater
This commit is contained in:
@@ -30,7 +30,9 @@ import com.willfp.libreforge.filters.Filters
|
|||||||
import com.willfp.libreforge.loader.LibreforgePlugin
|
import com.willfp.libreforge.loader.LibreforgePlugin
|
||||||
import com.willfp.libreforge.loader.configs.ConfigCategory
|
import com.willfp.libreforge.loader.configs.ConfigCategory
|
||||||
import com.willfp.libreforge.registerHolderProvider
|
import com.willfp.libreforge.registerHolderProvider
|
||||||
|
import com.willfp.libreforge.registerSpecificHolderProvider
|
||||||
import com.willfp.libreforge.triggers.Triggers
|
import com.willfp.libreforge.triggers.Triggers
|
||||||
|
import org.bukkit.entity.Player
|
||||||
import org.bukkit.event.Listener
|
import org.bukkit.event.Listener
|
||||||
|
|
||||||
class EcoPetsPlugin : LibreforgePlugin() {
|
class EcoPetsPlugin : LibreforgePlugin() {
|
||||||
@@ -56,9 +58,9 @@ class EcoPetsPlugin : LibreforgePlugin() {
|
|||||||
Triggers.register(TriggerLevelUpPet)
|
Triggers.register(TriggerLevelUpPet)
|
||||||
Filters.register(FilterPet)
|
Filters.register(FilterPet)
|
||||||
|
|
||||||
registerHolderProvider {
|
registerSpecificHolderProvider<Player> {
|
||||||
it.activePetLevel?.let { l ->
|
it.activePetLevel?.let { p ->
|
||||||
listOf(SimpleProvidedHolder(l))
|
listOf(SimpleProvidedHolder(p))
|
||||||
} ?: emptyList()
|
} ?: emptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,9 +3,12 @@ package com.willfp.ecopets.libreforge
|
|||||||
import com.willfp.eco.core.config.interfaces.Config
|
import com.willfp.eco.core.config.interfaces.Config
|
||||||
import com.willfp.ecopets.api.EcoPetsAPI
|
import com.willfp.ecopets.api.EcoPetsAPI
|
||||||
import com.willfp.ecopets.pets.Pets
|
import com.willfp.ecopets.pets.Pets
|
||||||
|
import com.willfp.libreforge.Dispatcher
|
||||||
import com.willfp.libreforge.NoCompileData
|
import com.willfp.libreforge.NoCompileData
|
||||||
|
import com.willfp.libreforge.ProvidedHolder
|
||||||
import com.willfp.libreforge.arguments
|
import com.willfp.libreforge.arguments
|
||||||
import com.willfp.libreforge.conditions.Condition
|
import com.willfp.libreforge.conditions.Condition
|
||||||
|
import com.willfp.libreforge.get
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
|
|
||||||
object ConditionHasActivePet : Condition<NoCompileData>("has_active_pet") {
|
object ConditionHasActivePet : Condition<NoCompileData>("has_active_pet") {
|
||||||
@@ -13,11 +16,14 @@ object ConditionHasActivePet : Condition<NoCompileData>("has_active_pet") {
|
|||||||
require("pet", "You must specify the pet!")
|
require("pet", "You must specify the pet!")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
|
override fun isMet(
|
||||||
|
dispatcher: Dispatcher<*>,
|
||||||
|
config: Config,
|
||||||
|
holder: ProvidedHolder,
|
||||||
|
compileData: NoCompileData
|
||||||
|
): Boolean {
|
||||||
|
val player = dispatcher.get<Player>() ?: return false
|
||||||
|
|
||||||
return EcoPetsAPI.instance.getActivePet(player) == Pets.getByID(config.getString("pet").lowercase())
|
return EcoPetsAPI.instance.getActivePet(player) == Pets.getByID(config.getString("pet").lowercase())
|
||||||
// return EcoPetsAPI.instance.hasPet(
|
|
||||||
// player,
|
|
||||||
// Pets.getByID(config.getString("pet").lowercase()) ?: return false
|
|
||||||
// )
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,22 @@ package com.willfp.ecopets.libreforge
|
|||||||
import com.willfp.eco.core.config.interfaces.Config
|
import com.willfp.eco.core.config.interfaces.Config
|
||||||
import com.willfp.ecopets.api.EcoPetsAPI
|
import com.willfp.ecopets.api.EcoPetsAPI
|
||||||
import com.willfp.ecopets.pets.Pets
|
import com.willfp.ecopets.pets.Pets
|
||||||
|
import com.willfp.libreforge.Dispatcher
|
||||||
import com.willfp.libreforge.NoCompileData
|
import com.willfp.libreforge.NoCompileData
|
||||||
|
import com.willfp.libreforge.ProvidedHolder
|
||||||
import com.willfp.libreforge.conditions.Condition
|
import com.willfp.libreforge.conditions.Condition
|
||||||
|
import com.willfp.libreforge.get
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
|
|
||||||
object ConditionHasPet : Condition<NoCompileData>("has_pet") {
|
object ConditionHasPet : Condition<NoCompileData>("has_pet") {
|
||||||
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
|
override fun isMet(
|
||||||
|
dispatcher: Dispatcher<*>,
|
||||||
|
config: Config,
|
||||||
|
holder: ProvidedHolder,
|
||||||
|
compileData: NoCompileData
|
||||||
|
): Boolean {
|
||||||
|
val player = dispatcher.get<Player>() ?: return false
|
||||||
|
|
||||||
return EcoPetsAPI.instance.hasPet(
|
return EcoPetsAPI.instance.hasPet(
|
||||||
player,
|
player,
|
||||||
Pets.getByID(config.getString("pet").lowercase()) ?: return false
|
Pets.getByID(config.getString("pet").lowercase()) ?: return false
|
||||||
|
|||||||
@@ -4,9 +4,13 @@ import com.willfp.eco.core.config.interfaces.Config
|
|||||||
import com.willfp.ecopets.api.EcoPetsAPI
|
import com.willfp.ecopets.api.EcoPetsAPI
|
||||||
import com.willfp.ecopets.api.event.PlayerPetLevelUpEvent
|
import com.willfp.ecopets.api.event.PlayerPetLevelUpEvent
|
||||||
import com.willfp.ecopets.pets.Pets
|
import com.willfp.ecopets.pets.Pets
|
||||||
|
import com.willfp.libreforge.Dispatcher
|
||||||
import com.willfp.libreforge.NoCompileData
|
import com.willfp.libreforge.NoCompileData
|
||||||
|
import com.willfp.libreforge.ProvidedHolder
|
||||||
import com.willfp.libreforge.arguments
|
import com.willfp.libreforge.arguments
|
||||||
import com.willfp.libreforge.conditions.Condition
|
import com.willfp.libreforge.conditions.Condition
|
||||||
|
import com.willfp.libreforge.get
|
||||||
|
import com.willfp.libreforge.toDispatcher
|
||||||
import com.willfp.libreforge.updateEffects
|
import com.willfp.libreforge.updateEffects
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
import org.bukkit.event.EventHandler
|
import org.bukkit.event.EventHandler
|
||||||
@@ -20,10 +24,17 @@ object ConditionHasPetLevel : Condition<NoCompileData>("has_pet_level") {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
||||||
fun handle(event: PlayerPetLevelUpEvent) {
|
fun handle(event: PlayerPetLevelUpEvent) {
|
||||||
event.player.updateEffects()
|
event.player.toDispatcher().updateEffects()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
|
override fun isMet(
|
||||||
|
dispatcher: Dispatcher<*>,
|
||||||
|
config: Config,
|
||||||
|
holder: ProvidedHolder,
|
||||||
|
compileData: NoCompileData
|
||||||
|
): Boolean {
|
||||||
|
val player = dispatcher.get<Player>() ?: return false
|
||||||
|
|
||||||
return EcoPetsAPI.instance.getPetLevel(
|
return EcoPetsAPI.instance.getPetLevel(
|
||||||
player,
|
player,
|
||||||
Pets.getByID(config.getString("pet").lowercase()) ?: return false
|
Pets.getByID(config.getString("pet").lowercase()) ?: return false
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.willfp.ecopets.api.event.PlayerPetExpGainEvent
|
|||||||
import com.willfp.ecopets.pets.Pet
|
import com.willfp.ecopets.pets.Pet
|
||||||
import com.willfp.ecopets.pets.Pets
|
import com.willfp.ecopets.pets.Pets
|
||||||
import com.willfp.libreforge.effects.templates.MultiMultiplierEffect
|
import com.willfp.libreforge.effects.templates.MultiMultiplierEffect
|
||||||
|
import com.willfp.libreforge.toDispatcher
|
||||||
import org.bukkit.event.EventHandler
|
import org.bukkit.event.EventHandler
|
||||||
|
|
||||||
object EffectPetXpMultiplier : MultiMultiplierEffect<Pet>("pet_xp_multiplier") {
|
object EffectPetXpMultiplier : MultiMultiplierEffect<Pet>("pet_xp_multiplier") {
|
||||||
@@ -21,6 +22,6 @@ object EffectPetXpMultiplier : MultiMultiplierEffect<Pet>("pet_xp_multiplier") {
|
|||||||
fun handle(event: PlayerPetExpGainEvent) {
|
fun handle(event: PlayerPetExpGainEvent) {
|
||||||
val player = event.player
|
val player = event.player
|
||||||
|
|
||||||
event.amount *= getMultiplier(player, event.pet)
|
event.amount *= getMultiplier(player.toDispatcher(), event.pet)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.willfp.ecopets.libreforge
|
package com.willfp.ecopets.libreforge
|
||||||
|
|
||||||
import com.willfp.ecopets.api.event.PlayerPetExpGainEvent
|
import com.willfp.ecopets.api.event.PlayerPetExpGainEvent
|
||||||
|
import com.willfp.libreforge.toDispatcher
|
||||||
import com.willfp.libreforge.triggers.Trigger
|
import com.willfp.libreforge.triggers.Trigger
|
||||||
import com.willfp.libreforge.triggers.TriggerData
|
import com.willfp.libreforge.triggers.TriggerData
|
||||||
import com.willfp.libreforge.triggers.TriggerParameter
|
import com.willfp.libreforge.triggers.TriggerParameter
|
||||||
@@ -18,7 +19,7 @@ object TriggerGainPetXp : Trigger("gain_pet_xp") {
|
|||||||
val player = event.player
|
val player = event.player
|
||||||
|
|
||||||
this.dispatch(
|
this.dispatch(
|
||||||
player,
|
player.toDispatcher(),
|
||||||
TriggerData(
|
TriggerData(
|
||||||
player = player,
|
player = player,
|
||||||
location = player.location,
|
location = player.location,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.willfp.ecopets.libreforge
|
package com.willfp.ecopets.libreforge
|
||||||
|
|
||||||
import com.willfp.ecopets.api.event.PlayerPetLevelUpEvent
|
import com.willfp.ecopets.api.event.PlayerPetLevelUpEvent
|
||||||
|
import com.willfp.libreforge.toDispatcher
|
||||||
import com.willfp.libreforge.triggers.Trigger
|
import com.willfp.libreforge.triggers.Trigger
|
||||||
import com.willfp.libreforge.triggers.TriggerData
|
import com.willfp.libreforge.triggers.TriggerData
|
||||||
import com.willfp.libreforge.triggers.TriggerParameter
|
import com.willfp.libreforge.triggers.TriggerParameter
|
||||||
@@ -18,7 +19,7 @@ object TriggerLevelUpPet : Trigger("level_up_pet") {
|
|||||||
val player = event.player
|
val player = event.player
|
||||||
|
|
||||||
this.dispatch(
|
this.dispatch(
|
||||||
player,
|
player.toDispatcher(),
|
||||||
TriggerData(
|
TriggerData(
|
||||||
player = player,
|
player = player,
|
||||||
location = player.location,
|
location = player.location,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#libreforge-updater
|
#libreforge-updater
|
||||||
#Sun Nov 19 14:14:30 GMT 2023
|
#Tue Nov 21 22:41:48 GMT 2023
|
||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
libreforge-version=4.43.1
|
libreforge-version=4.44.0
|
||||||
version=2.43.1
|
version=2.44.0
|
||||||
|
|||||||
Reference in New Issue
Block a user