From 6cb3282b20bf2533a8fde4f6d30e0530d53f63dd Mon Sep 17 00:00:00 2001 From: Roman / Linnea Gräf Date: Wed, 2 Aug 2023 14:23:41 +0200 Subject: Merge pull request #351 * Performance improvements for the damage indicator * Using MutableMap.put * Using Sequence for every entity iteration --- src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt | 12 ++++++------ src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt | 4 ++++ 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/utils') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt index 9bfb9e1bb..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,11 +156,11 @@ object EntityUtils { fun EntityEnderman.getBlockInHand(): IBlockState? = heldBlockState - inline fun getEntities(): List = getAllEntities().filterIsInstance() + 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 diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt index f84d135ef..64281ddf8 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt @@ -422,4 +422,8 @@ object LorenzUtils { } return false } + + infix fun MutableMap.put(pairs: Pair) { + this[pairs.first] = pairs.second + } } \ No newline at end of file -- cgit