From f669b1e44f0a1c9138de53cda6dd30c7b0107621 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Wed, 2 Aug 2023 14:21:28 +0200 Subject: Using Sequence for every entity iteration --- .../features/damageindicator/DamageIndicatorManager.kt | 2 +- .../features/slayer/enderman/EndermanSlayerHideParticles.kt | 2 +- src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt | 13 ++++++------- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt b/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt index 9998edca6..83a2abbec 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt @@ -300,7 +300,7 @@ class DamageIndicatorManager { fun onTick(event: LorenzTickEvent) { if (!isEnabled()) return data = data.editCopy { - EntityUtils.getEntitiesSequence().mapNotNull(::checkEntity).forEach { this put it } + EntityUtils.getEntities().mapNotNull(::checkEntity).forEach { this put it } } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerHideParticles.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerHideParticles.kt index d6ae27f3b..d2abd8bf1 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerHideParticles.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerHideParticles.kt @@ -14,7 +14,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent class EndermanSlayerHideParticles { - private var endermanLocations = listOf() + private var endermanLocations = sequenceOf() @SubscribeEvent fun onTick(event: LorenzTickEvent) { diff --git a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt index 24f838cfc..42a5b5583 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt @@ -126,10 +126,10 @@ object EntityUtils { ?.value } - inline fun getEntitiesNextToPlayer(radius: Double): List = + inline fun getEntitiesNextToPlayer(radius: Double): Sequence = getEntitiesNearby(LocationUtils.playerLocation(), radius) - inline fun getEntitiesNearby(location: LorenzVec, radius: Double): List = + inline fun getEntitiesNearby(location: LorenzVec, radius: Double): Sequence = getEntities().filter { it.distanceTo(location) < radius } fun EntityLivingBase.isAtFullHealth() = baseMaxHealth == health.toInt() @@ -156,12 +156,11 @@ object EntityUtils { fun EntityEnderman.getBlockInHand(): IBlockState? = heldBlockState - inline fun getEntities(): List = getAllEntities().filterIsInstance() - inline fun getEntitiesSequence(): Sequence = Minecraft.getMinecraft()?.theWorld?.loadedEntityList?.asSequence()?.filterIsInstance() ?: emptySequence() + inline fun getEntities(): Sequence = getAllEntities().filterIsInstance() - inline fun getEntitiesOrNull(): List? = getAllEntitiesOrNull()?.filterIsInstance() + inline fun getEntitiesOrNull(): Sequence? = getAllEntitiesOrNull()?.filterIsInstance() - fun getAllEntities(): List = getAllEntitiesOrNull() ?: error("minecraft.world.loadedEntityList is null.") + fun getAllEntities(): Sequence = getAllEntitiesOrNull() ?: emptySequence() - fun getAllEntitiesOrNull(): List? = Minecraft.getMinecraft()?.theWorld?.loadedEntityList?.toMutableList() + fun getAllEntitiesOrNull(): Sequence? = Minecraft.getMinecraft()?.theWorld?.loadedEntityList?.asSequence() } \ No newline at end of file -- cgit