From 39ea846011aa2bc0b72357739cbe42ace4b1b416 Mon Sep 17 00:00:00 2001 From: NichtStudioCode <51272202+NichtStudioCode@users.noreply.github.com> Date: Sun, 17 Nov 2024 17:29:37 +0100 Subject: [PATCH] MobKiller: Only iterate over nearby entities --- .../nova/addon/machines/tileentity/mob/MobKiller.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/machines/src/main/kotlin/xyz/xenondevs/nova/addon/machines/tileentity/mob/MobKiller.kt b/machines/src/main/kotlin/xyz/xenondevs/nova/addon/machines/tileentity/mob/MobKiller.kt index 44e443f..5c06384 100644 --- a/machines/src/main/kotlin/xyz/xenondevs/nova/addon/machines/tileentity/mob/MobKiller.kt +++ b/machines/src/main/kotlin/xyz/xenondevs/nova/addon/machines/tileentity/mob/MobKiller.kt @@ -73,10 +73,9 @@ class MobKiller(pos: BlockPos, blockState: NovaBlockState, data: Compound) : Net val killLimit = min((energyHolder.energy / energyPerDamage).toInt(), KILL_LIMIT) - pos.world.entities - .asSequence() + pos.world.getNearbyEntities(region.toBoundingBox()).asSequence() .filterIsInstance() - .filter { it.location in region && runBlocking { ProtectionManager.canHurtEntity(this@MobKiller, it, null) } } // TODO non-blocking + .filter { runBlocking { ProtectionManager.canHurtEntity(this@MobKiller, it, null) } } // TODO non-blocking .take(killLimit) .forEach { entity -> // TODO: custom damage type