diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-07-12 02:53:31 +0200 |
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-07-12 02:53:31 +0200 |
| commit | a1be9b628b6006904f14a24abe3ea7d00b2dd1de (patch) | |
| tree | fd6d9de0a7cce654c2d2b58c6b5de62e270344ce /src/main/java/at/hannibal2/skyhanni/utils | |
| parent | 407221c659f4cee2c81fbd50eaeaca77481cc6c6 (diff) | |
| download | skyhanni-a1be9b628b6006904f14a24abe3ea7d00b2dd1de.tar.gz skyhanni-a1be9b628b6006904f14a24abe3ea7d00b2dd1de.tar.bz2 skyhanni-a1be9b628b6006904f14a24abe3ea7d00b2dd1de.zip | |
finished defence blocks
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt | 13 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt | 2 |
2 files changed, 14 insertions, 1 deletions
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 <reified T : Entity> WorldClient.getEntitiesNextToPlayer(radius: Double): List<T> = + getEntitiesNearby(LocationUtils.playerLocation(), radius) + + inline fun <reified T : Entity> WorldClient.getEntitiesNearby(location: LorenzVec, radius: Double): List<T> = + getLoadedEntityList().filterIsInstance<T>().filter { it.distanceTo(location) < radius } + + fun EntityLivingBase.isAtFullHealth() = baseMaxHealth == health.toInt() + fun WorldClient.getEntitiesNearby( clazz: Class<EntityBlaze>, location: LorenzVec, @@ -140,5 +150,6 @@ object EntityUtils { fun EntityLivingBase.hasPotionEffect(potion: Potion) = getActivePotionEffect(potion) != null - fun EntityLivingBase.getArmorInventory(): Array<ItemStack?>? = if (this is EntityPlayer) inventory.armorInventory else null + fun EntityLivingBase.getArmorInventory(): Array<ItemStack?>? = + 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() |
