summaryrefslogtreecommitdiffstats
path: root/src/Mobs
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@outlook.com>2020-04-22 00:16:28 +0200
committerTiger Wang <ziwei.tiger@outlook.com>2020-07-06 21:56:05 +0200
commitf49f90906c76f4581b1caa225ee841fd60b1c04d (patch)
treec3d1720bb5e30b2f78c9c2d0e8ea3d1df940eaf4 /src/Mobs
parentMade grass spreader prettier (diff)
downloadcuberite-f49f90906c76f4581b1caa225ee841fd60b1c04d.tar
cuberite-f49f90906c76f4581b1caa225ee841fd60b1c04d.tar.gz
cuberite-f49f90906c76f4581b1caa225ee841fd60b1c04d.tar.bz2
cuberite-f49f90906c76f4581b1caa225ee841fd60b1c04d.tar.lz
cuberite-f49f90906c76f4581b1caa225ee841fd60b1c04d.tar.xz
cuberite-f49f90906c76f4581b1caa225ee841fd60b1c04d.tar.zst
cuberite-f49f90906c76f4581b1caa225ee841fd60b1c04d.zip
Diffstat (limited to 'src/Mobs')
-rw-r--r--src/Mobs/Monster.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp
index 75bda197f..1c3b3a45e 100644
--- a/src/Mobs/Monster.cpp
+++ b/src/Mobs/Monster.cpp
@@ -490,14 +490,22 @@ void cMonster::CalcLeashActions(std::chrono::milliseconds a_Dt)
void cMonster::SetPitchAndYawFromDestination(bool a_IsFollowingPath)
{
Vector3d BodyDistance;
- if (!a_IsFollowingPath && (GetTarget() != nullptr))
+ if (!a_IsFollowingPath)
{
+ if (GetTarget() == nullptr)
+ {
+ // Avoid dirtying head position when nothing will change
+ // Thus avoids creating unnecessary network traffic
+ return;
+ }
+
BodyDistance = GetTarget()->GetPosition() - GetPosition();
}
else
{
BodyDistance = m_NextWayPointPosition - GetPosition();
}
+
double BodyRotation, BodyPitch;
BodyDistance.Normalize();
VectorToEuler(BodyDistance.x, BodyDistance.y, BodyDistance.z, BodyRotation, BodyPitch);