mirror of
https://github.com/Auxilor/EcoMobs.git
synced 2025-12-20 23:49:22 +00:00
Fixed lifecycles
This commit is contained in:
@@ -13,8 +13,6 @@ abstract class BossDeathEvent(
|
|||||||
return HANDLERS
|
return HANDLERS
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract val lifecycle: BossLifecycle
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val HANDLERS = HandlerList()
|
private val HANDLERS = HandlerList()
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,6 @@ class BossDespawnEvent(
|
|||||||
return HANDLERS
|
return HANDLERS
|
||||||
}
|
}
|
||||||
|
|
||||||
override val lifecycle: BossLifecycle = BossLifecycle.DESPAWN
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val HANDLERS = HandlerList()
|
private val HANDLERS = HandlerList()
|
||||||
|
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ class BossKillEvent(
|
|||||||
return HANDLERS
|
return HANDLERS
|
||||||
}
|
}
|
||||||
|
|
||||||
override val lifecycle: BossLifecycle = BossLifecycle.KILL
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val HANDLERS = HandlerList()
|
private val HANDLERS = HandlerList()
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package com.willfp.ecobosses.lifecycle
|
|||||||
|
|
||||||
import com.willfp.ecobosses.bosses.Bosses
|
import com.willfp.ecobosses.bosses.Bosses
|
||||||
import com.willfp.ecobosses.events.BossDeathEvent
|
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 com.willfp.ecobosses.events.BossSpawnEvent
|
||||||
import org.bukkit.entity.LivingEntity
|
import org.bukkit.entity.LivingEntity
|
||||||
import org.bukkit.event.EventHandler
|
import org.bukkit.event.EventHandler
|
||||||
@@ -14,7 +16,7 @@ class LifecycleHandlers : Listener {
|
|||||||
ignoreCancelled = true,
|
ignoreCancelled = true,
|
||||||
priority = EventPriority.MONITOR
|
priority = EventPriority.MONITOR
|
||||||
)
|
)
|
||||||
fun onInjure(event: EntityDamageEvent) {
|
fun handle(event: EntityDamageEvent) {
|
||||||
val entity = event.entity as? LivingEntity ?: return
|
val entity = event.entity as? LivingEntity ?: return
|
||||||
val boss = Bosses[entity] ?: return
|
val boss = Bosses[entity] ?: return
|
||||||
|
|
||||||
@@ -25,17 +27,27 @@ class LifecycleHandlers : Listener {
|
|||||||
ignoreCancelled = true,
|
ignoreCancelled = true,
|
||||||
priority = EventPriority.MONITOR
|
priority = EventPriority.MONITOR
|
||||||
)
|
)
|
||||||
fun onInjure(event: BossDeathEvent) {
|
fun handle(event: BossKillEvent) {
|
||||||
val entity = event.boss.entity ?: return
|
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(
|
@EventHandler(
|
||||||
ignoreCancelled = true,
|
ignoreCancelled = true,
|
||||||
priority = EventPriority.MONITOR
|
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)
|
event.boss.handleLifecycle(BossLifecycle.SPAWN, event.location, null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user