]> git.lizzy.rs Git - minetest.git/blobdiff - src/network/serverpackethandler.cpp
Clean up ClientEvent hudadd/hudchange internals
[minetest.git] / src / network / serverpackethandler.cpp
index 270b8e01f52602a76de7840f97ee450544a0dbf0..ddc6f4e47c4ecb64d75a9c9f44d7476244a842bd 100644 (file)
@@ -488,8 +488,12 @@ void Server::process_PlayerPos(RemotePlayer *player, PlayerSAO *playersao,
        pitch = modulo360f(pitch);
        yaw = wrapDegrees_0_360(yaw);
 
-       playersao->setBasePosition(position);
-       player->setSpeed(speed);
+       if (!playersao->isAttached()) {
+               // Only update player positions when moving freely
+               // to not interfere with attachment handling
+               playersao->setBasePosition(position);
+               player->setSpeed(speed);
+       }
        playersao->setLookPitch(pitch);
        playersao->setPlayerYaw(yaw);
        playersao->setFov(fov);