diff options
| author | Lorenz <lo.scherf@gmail.com> | 2022-08-17 04:56:25 +0200 |
|---|---|---|
| committer | Lorenz <lo.scherf@gmail.com> | 2022-08-17 04:56:25 +0200 |
| commit | 1b404a08e3831f4b09c06ce1a54e14ce59f2277a (patch) | |
| tree | d466db05f620241fee783fcb51b45e8662910f1d /src/main/java/at/hannibal2/skyhanni/utils | |
| parent | f8264646f0554ebd010f06366686f53231483fd4 (diff) | |
| download | SkyHanni-1b404a08e3831f4b09c06ce1a54e14ce59f2277a.tar.gz SkyHanni-1b404a08e3831f4b09c06ce1a54e14ce59f2277a.tar.bz2 SkyHanni-1b404a08e3831f4b09c06ce1a54e14ce59f2277a.zip | |
moving hasNameTagWith in separate utils class
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt new file mode 100644 index 000000000..acfcd86d4 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt @@ -0,0 +1,46 @@ +package at.hannibal2.skyhanni.utils + +import net.minecraft.entity.EntityLiving +import net.minecraft.entity.item.EntityArmorStand +import net.minecraft.util.AxisAlignedBB + +class EntityUtils { +} + +//TODO move into utils method +fun EntityLiving.hasNameTagWith( + y: Int, + contains: String, + debugRightEntity: Boolean = false, + inaccuracy: Double = 1.6, + debugWrongEntity: Boolean = false, +): Boolean { + return getNameTagWith(y, contains, debugRightEntity, inaccuracy, debugWrongEntity) != null +} + +fun EntityLiving.getNameTagWith( + y: Int, + contains: String, + debugRightEntity: Boolean = false, + inaccuracy: Double = 1.6, + debugWrongEntity: Boolean = false, +): EntityArmorStand? { + val center = getLorenzVec().add(0, y, 0) + val a = center.add(-inaccuracy, -inaccuracy - 3, -inaccuracy).toBlocPos() + val b = center.add(inaccuracy, inaccuracy + 3, inaccuracy).toBlocPos() + val alignedBB = AxisAlignedBB(a, b) + val clazz = EntityArmorStand::class.java + val found = worldObj.getEntitiesWithinAABB(clazz, alignedBB) + return found.find { + val result = it.name.contains(contains) + if (debugWrongEntity && !result) { + println("wrong entity in aabb: '" + it.name + "'") + } + if (debugRightEntity && result) { + println("mob: " + center.printWithAccuracy(2)) + println("nametag: " + it.getLorenzVec().printWithAccuracy(2)) + println("accuracy: " + it.getLorenzVec().subtract(center).printWithAccuracy(3)) + } + result + } +}
\ No newline at end of file |
