diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/bosses/LivingEcoBoss.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/bosses/LivingEcoBoss.kt index 262da08..aab4793 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/bosses/LivingEcoBoss.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/bosses/LivingEcoBoss.kt @@ -7,7 +7,7 @@ import org.bukkit.entity.Mob class LivingEcoBoss( plugin: EcoPlugin, - private val mob: Mob, + val entity: Mob, val boss: EcoBoss, private val tickers: Set ) { @@ -17,9 +17,6 @@ class LivingEcoBoss( } }.apply { runTaskTimer(1, 1) } - val entity: Mob - get() = mob - val chunk: Chunk get() = entity.location.chunk @@ -46,13 +43,11 @@ class LivingEcoBoss( ticker.cancel() entity.remove() tickers.forEach { it.onDeath(this, currentTick) } - forceLoadedChunks.forEach { it.isForceLoaded = false } - forceLoadedChunks.clear() - boss.markDead(mob.uniqueId) + boss.markDead(entity.uniqueId) } override fun toString(): String { - return "LivingEcoBoss{boss=${boss}, uuid=${mob.uniqueId}}" + return "LivingEcoBoss{boss=${boss}, uuid=${entity.uniqueId}}" } } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/tick/ChunkTicker.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/tick/ChunkTicker.kt index d2c6325..d27df52 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/tick/ChunkTicker.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecobosses/tick/ChunkTicker.kt @@ -18,4 +18,9 @@ class ChunkTicker : BossTicker { currentChunk.isForceLoaded = true boss.forceLoadedChunks.add(currentChunk) } + + override fun onDeath(boss: LivingEcoBoss, tick: Int) { + boss.forceLoadedChunks.forEach { it.isForceLoaded = false } + boss.forceLoadedChunks.clear() + } }