summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-07-12 02:53:31 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-07-12 02:53:31 +0200
commita1be9b628b6006904f14a24abe3ea7d00b2dd1de (patch)
treefd6d9de0a7cce654c2d2b58c6b5de62e270344ce /src/main/java/at/hannibal2/skyhanni/utils
parent407221c659f4cee2c81fbd50eaeaca77481cc6c6 (diff)
downloadskyhanni-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.kt13
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt2
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()