From 8b4d37771f6948f57f9e2d6359c574c2b411cc05 Mon Sep 17 00:00:00 2001 From: DaPorkchop_ Date: Mon, 22 Apr 2019 19:54:22 +0200 Subject: Fix player skin sending through BungeeCord (#4328) This fixes sending of player skins through BungeeCord by actually parsing the JSON instead of setting the player properties as a string. --- src/Protocol/Protocol_1_9.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Protocol/Protocol_1_9.cpp b/src/Protocol/Protocol_1_9.cpp index d929b4a14..00b233af5 100644 --- a/src/Protocol/Protocol_1_9.cpp +++ b/src/Protocol/Protocol_1_9.cpp @@ -24,15 +24,12 @@ Implements the 1.9 protocol classes: #include "../Root.h" #include "../Server.h" #include "../World.h" -#include "../EffectID.h" #include "../StringCompression.h" #include "../CompositeChat.h" #include "../Statistics.h" #include "../WorldStorage/FastNBT.h" -#include "../WorldStorage/EnchantmentSerializer.h" -#include "../Entities/Boat.h" #include "../Entities/ExpOrb.h" #include "../Entities/Minecart.h" #include "../Entities/FallingBlock.h" @@ -47,7 +44,6 @@ Implements the 1.9 protocol classes: #include "../Items/ItemSpawnEgg.h" #include "../Mobs/IncludeAllMonsters.h" -#include "../UI/Window.h" #include "../UI/HorseWindow.h" #include "../BlockEntities/BeaconEntity.h" @@ -154,7 +150,16 @@ cProtocol_1_9_0::cProtocol_1_9_0(cClientHandle * a_Client, const AString & a_Ser UUID.FromString(Params[2]); m_Client->SetUUID(UUID); - m_Client->SetProperties(Params[3]); + Json::Value root; + Json::Reader reader; + if (!reader.parse(Params[3], root)) + { + LOGERROR("Unable to parse player properties: '%s'", Params[3]); + } + else + { + m_Client->SetProperties(root); + } } else { -- cgit v1.2.3