diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossDeathEvent.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossDeathEvent.kt index 5ad1baa..c696eda 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossDeathEvent.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossDeathEvent.kt @@ -13,8 +13,6 @@ abstract class BossDeathEvent( return HANDLERS } - abstract val lifecycle: BossLifecycle - companion object { private val HANDLERS = HandlerList() diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossDespawnEvent.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossDespawnEvent.kt index 1f0d94b..f955d0e 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossDespawnEvent.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossDespawnEvent.kt @@ -11,8 +11,6 @@ class BossDespawnEvent( return HANDLERS } - override val lifecycle: BossLifecycle = BossLifecycle.DESPAWN - companion object { private val HANDLERS = HandlerList() diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossKillEvent.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossKillEvent.kt index 62cf2d8..441943a 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossKillEvent.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/events/BossKillEvent.kt @@ -15,8 +15,6 @@ class BossKillEvent( return HANDLERS } - override val lifecycle: BossLifecycle = BossLifecycle.KILL - companion object { private val HANDLERS = HandlerList() diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/lifecycle/LifecycleHandlers.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/lifecycle/LifecycleHandlers.kt index 58a3e6c..d0d982c 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/lifecycle/LifecycleHandlers.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/lifecycle/LifecycleHandlers.kt @@ -2,6 +2,8 @@ package com.willfp.ecobosses.lifecycle import com.willfp.ecobosses.bosses.Bosses import com.willfp.ecobosses.events.BossDeathEvent +import com.willfp.ecobosses.events.BossDespawnEvent +import com.willfp.ecobosses.events.BossKillEvent import com.willfp.ecobosses.events.BossSpawnEvent import org.bukkit.entity.LivingEntity import org.bukkit.event.EventHandler @@ -14,7 +16,7 @@ class LifecycleHandlers : Listener { ignoreCancelled = true, priority = EventPriority.MONITOR ) - fun onInjure(event: EntityDamageEvent) { + fun handle(event: EntityDamageEvent) { val entity = event.entity as? LivingEntity ?: return val boss = Bosses[entity] ?: return @@ -25,17 +27,27 @@ class LifecycleHandlers : Listener { ignoreCancelled = true, priority = EventPriority.MONITOR ) - fun onInjure(event: BossDeathEvent) { + fun handle(event: BossKillEvent) { val entity = event.boss.entity ?: return - event.boss.boss.handleLifecycle(event.lifecycle, entity.location, entity) + event.boss.boss.handleLifecycle(BossLifecycle.KILL, entity.location, entity) } @EventHandler( ignoreCancelled = true, priority = EventPriority.MONITOR ) - fun onInjure(event: BossSpawnEvent) { + fun handle(event: BossDespawnEvent) { + val entity = event.boss.entity ?: return + + event.boss.boss.handleLifecycle(BossLifecycle.DESPAWN, entity.location, entity) + } + + @EventHandler( + ignoreCancelled = true, + priority = EventPriority.MONITOR + ) + fun handle(event: BossSpawnEvent) { event.boss.handleLifecycle(BossLifecycle.SPAWN, event.location, null) } } \ No newline at end of file