mirror of
https://github.com/Auxilor/EcoMobs.git
synced 2025-12-20 07:29:21 +00:00
Fixed lifecycles
This commit is contained in:
@@ -13,8 +13,6 @@ abstract class BossDeathEvent(
|
||||
return HANDLERS
|
||||
}
|
||||
|
||||
abstract val lifecycle: BossLifecycle
|
||||
|
||||
companion object {
|
||||
private val HANDLERS = HandlerList()
|
||||
|
||||
|
||||
@@ -11,8 +11,6 @@ class BossDespawnEvent(
|
||||
return HANDLERS
|
||||
}
|
||||
|
||||
override val lifecycle: BossLifecycle = BossLifecycle.DESPAWN
|
||||
|
||||
companion object {
|
||||
private val HANDLERS = HandlerList()
|
||||
|
||||
|
||||
@@ -15,8 +15,6 @@ class BossKillEvent(
|
||||
return HANDLERS
|
||||
}
|
||||
|
||||
override val lifecycle: BossLifecycle = BossLifecycle.KILL
|
||||
|
||||
companion object {
|
||||
private val HANDLERS = HandlerList()
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user