From a1be9b628b6006904f14a24abe3ea7d00b2dd1de Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Wed, 12 Jul 2023 02:53:31 +0200 Subject: finished defence blocks --- src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt | 13 ++++++++++++- src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) (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 6af83a805..b9a4c4bcb 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt @@ -1,8 +1,10 @@ package at.hannibal2.skyhanni.utils import at.hannibal2.skyhanni.utils.ItemUtils.getSkullTexture +import at.hannibal2.skyhanni.utils.LocationUtils.distanceTo import at.hannibal2.skyhanni.utils.LorenzUtils.baseMaxHealth import net.minecraft.client.multiplayer.WorldClient +import net.minecraft.entity.Entity import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.item.EntityArmorStand import net.minecraft.entity.monster.EntityBlaze @@ -123,6 +125,14 @@ object EntityUtils { ?.value } + inline fun WorldClient.getEntitiesNextToPlayer(radius: Double): List = + getEntitiesNearby(LocationUtils.playerLocation(), radius) + + inline fun WorldClient.getEntitiesNearby(location: LorenzVec, radius: Double): List = + getLoadedEntityList().filterIsInstance().filter { it.distanceTo(location) < radius } + + fun EntityLivingBase.isAtFullHealth() = baseMaxHealth == health.toInt() + fun WorldClient.getEntitiesNearby( clazz: Class, location: LorenzVec, @@ -140,5 +150,6 @@ object EntityUtils { fun EntityLivingBase.hasPotionEffect(potion: Potion) = getActivePotionEffect(potion) != null - fun EntityLivingBase.getArmorInventory(): Array? = if (this is EntityPlayer) inventory.armorInventory else null + fun EntityLivingBase.getArmorInventory(): Array? = + if (this is EntityPlayer) inventory.armorInventory else null } \ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt index bf7a0f1ee..1c1bd5b1b 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt @@ -16,6 +16,8 @@ object LocationUtils { fun Entity.distanceToPlayer() = getLorenzVec().distance(playerLocation()) + fun Entity.distanceTo(location: LorenzVec) = getLorenzVec().distance(location) + fun playerEyeLocation(): LorenzVec { val player = Minecraft.getMinecraft().thePlayer val vec = player.getLorenzVec() -- cgit