From 03a8dfc4a8daf2ef3ea63b1fdf161018acbe12ce Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Thu, 19 Dec 2013 20:53:47 +0000 Subject: Fixed PlayerAbilities and creative --- src/Protocol/Protocol17x.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src/Protocol') diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp index fff5311f6..161e81936 100644 --- a/src/Protocol/Protocol17x.cpp +++ b/src/Protocol/Protocol17x.cpp @@ -490,6 +490,7 @@ void cProtocol172::SendPlayerAbilities(void) if (m_Client->GetPlayer()->IsGameModeCreative()) { Flags |= 0x01; + Flags |= 0x08; // Godmode, used for creative } if (m_Client->GetPlayer()->IsFlying()) { @@ -499,7 +500,6 @@ void cProtocol172::SendPlayerAbilities(void) { Flags |= 0x04; } - // TODO: Other flags (god mode) Pkt.WriteByte(Flags); // TODO: Pkt.WriteFloat(m_Client->GetPlayer()->GetMaxFlyingSpeed()); Pkt.WriteFloat(0.05f); @@ -1291,23 +1291,16 @@ void cProtocol172::HandlePacketPlayerAbilities(cByteBuffer & a_ByteBuffer) HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, FlyingSpeed); HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, WalkingSpeed); - bool IsFlying, CanFly; + bool IsFlying = false, CanFly = false; if ((Flags & 2) != 0) { IsFlying = true; } - else - { - IsFlying = false; - } if ((Flags & 4) != 0) { CanFly = true; } - else - { - CanFly = false; - } + m_Client->HandlePlayerAbilities(CanFly, IsFlying, FlyingSpeed, WalkingSpeed); } -- cgit v1.2.3