From 94a92a219b2e2c00372e2d06e79f83c400a826e7 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Mon, 8 Jul 2013 18:30:27 +0000 Subject: Server sends PlayerMaxSpeed after a respawn. http://forum.mc-server.org/showthread.php?tid=434&pid=8912#pid8912 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1671 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/Protocol/Protocol16x.cpp | 13 ++++++++++++- source/Protocol/Protocol16x.h | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/source/Protocol/Protocol16x.cpp b/source/Protocol/Protocol16x.cpp index 7036dfbca..d06980228 100644 --- a/source/Protocol/Protocol16x.cpp +++ b/source/Protocol/Protocol16x.cpp @@ -100,7 +100,7 @@ void cProtocol161::SendHealth(void) WriteByte (PACKET_UPDATE_HEALTH); WriteFloat((float)m_Client->GetPlayer()->GetHealth()); WriteShort(m_Client->GetPlayer()->GetFoodLevel()); - WriteFloat(m_Client->GetPlayer()->GetFoodSaturationLevel()); + WriteFloat((float)m_Client->GetPlayer()->GetFoodSaturationLevel()); Flush(); } @@ -123,6 +123,17 @@ void cProtocol161::SendPlayerMaxSpeed(void) +void cProtocol161::SendRespawn(void) +{ + // Besides sending the respawn, we need to also send the player max speed, otherwise the client reverts to super-fast + super::SendRespawn(); + SendPlayerMaxSpeed(); +} + + + + + void cProtocol161::SendWindowOpen(char a_WindowID, char a_WindowType, const AString & a_WindowTitle, char a_NumSlots) { if (a_WindowType < 0) diff --git a/source/Protocol/Protocol16x.h b/source/Protocol/Protocol16x.h index 4395108b9..e012585d1 100644 --- a/source/Protocol/Protocol16x.h +++ b/source/Protocol/Protocol16x.h @@ -38,6 +38,7 @@ protected: virtual void SendGameMode (eGameMode a_GameMode) override; virtual void SendHealth (void) override; virtual void SendPlayerMaxSpeed(void) override; + virtual void SendRespawn (void) override; virtual void SendWindowOpen (char a_WindowID, char a_WindowType, const AString & a_WindowTitle, char a_NumSlots) override; virtual int ParseEntityAction (void) override; -- cgit v1.2.3