- 216
- 6
- 19
Нужно определять на какого моба смотрит игрок, нашел метод на MinecraftForum, но там необходимо задавать дистанцию до моба, на которого смотрит игрок, мне же надо без учета дистанции искать моба.
Вот метод, который я нашел (может найдутся умельцы, которые оптимизируют его под мою задачу)
Вот метод, который я нашел (может найдутся умельцы, которые оптимизируют его под мою задачу)
Код:
public static Entity getLookingEntity(double range, EntityPlayer player) {
List list = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, player.boundingBox.expand(range, range, range));
Entity entity;
if (list != null) {
for (int i = 0; i < list.size(); i++) {
entity = (Entity)list.get(i);
if (!entity.isDead) {
if(entity instanceof EntityLiving) {
Vec3 vec3d = player.getLook(1.0F).normalize();
Vec3 vec3d1 = Vec3.createVectorHelper(entity.posX - player.posX, (entity.boundingBox.minY + entity.height / 2.0F) - (player.posY + player.getEyeHeight()), entity.posZ - player.posZ);
double d = vec3d1.lengthVector();
vec3d1 = vec3d1.normalize();
double d1 = vec3d.dotProduct(vec3d1);
if (d1 > 1.0D - 0.025000000000000001D / d) {
System.out.println("Looking at " + entity);
return entity;
}
}
}
}
}
return null;
}