summaryrefslogtreecommitdiffstats
path: root/src/Protocol
diff options
context:
space:
mode:
authorworktycho <work.tycho@gmail.com>2016-01-12 00:52:25 +0100
committerworktycho <work.tycho@gmail.com>2016-01-12 00:52:25 +0100
commit7aa0b7299dad299a0b980d66793f43c70ecdd55f (patch)
tree3653367aaab3ddaeee96b5c3f9c3c6ed6d4bb9fd /src/Protocol
parentMerge pull request #2848 from Nakkar/master (diff)
parentChanged the format of the MobHead data to allow MobHeads working on MInecraft 1.8 (diff)
downloadcuberite-7aa0b7299dad299a0b980d66793f43c70ecdd55f.tar
cuberite-7aa0b7299dad299a0b980d66793f43c70ecdd55f.tar.gz
cuberite-7aa0b7299dad299a0b980d66793f43c70ecdd55f.tar.bz2
cuberite-7aa0b7299dad299a0b980d66793f43c70ecdd55f.tar.lz
cuberite-7aa0b7299dad299a0b980d66793f43c70ecdd55f.tar.xz
cuberite-7aa0b7299dad299a0b980d66793f43c70ecdd55f.tar.zst
cuberite-7aa0b7299dad299a0b980d66793f43c70ecdd55f.zip
Diffstat (limited to 'src/Protocol')
-rw-r--r--src/Protocol/Protocol17x.cpp2
-rw-r--r--src/Protocol/Protocol18x.cpp15
2 files changed, 15 insertions, 2 deletions
diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp
index 010e1a8ba..1c8c81bbd 100644
--- a/src/Protocol/Protocol17x.cpp
+++ b/src/Protocol/Protocol17x.cpp
@@ -2784,7 +2784,7 @@ void cProtocol172::WriteBlockEntity(cPacketizer & a_Pkt, const cBlockEntity & a_
Writer.AddInt("z", MobHeadEntity.GetPosZ());
Writer.AddByte("SkullType", MobHeadEntity.GetType() & 0xFF);
Writer.AddByte("Rot", MobHeadEntity.GetRotation() & 0xFF);
- Writer.AddString("ExtraType", MobHeadEntity.GetOwner().c_str());
+ Writer.AddString("ExtraType", MobHeadEntity.GetOwnerName());
Writer.AddString("id", "Skull"); // "Tile Entity ID" - MC wiki; vanilla server always seems to send this though
break;
}
diff --git a/src/Protocol/Protocol18x.cpp b/src/Protocol/Protocol18x.cpp
index d80e9d034..c80907ed8 100644
--- a/src/Protocol/Protocol18x.cpp
+++ b/src/Protocol/Protocol18x.cpp
@@ -3109,8 +3109,21 @@ void cProtocol180::WriteBlockEntity(cPacketizer & a_Pkt, const cBlockEntity & a_
Writer.AddInt("z", MobHeadEntity.GetPosZ());
Writer.AddByte("SkullType", MobHeadEntity.GetType() & 0xFF);
Writer.AddByte("Rot", MobHeadEntity.GetRotation() & 0xFF);
- Writer.AddString("ExtraType", MobHeadEntity.GetOwner().c_str());
Writer.AddString("id", "Skull"); // "Tile Entity ID" - MC wiki; vanilla server always seems to send this though
+
+ // The new Block Entity format for a Mob Head. See: http://minecraft.gamepedia.com/Head#Block_entity
+ Writer.BeginCompound("Owner");
+ Writer.AddString("Id", MobHeadEntity.GetOwnerUUID());
+ Writer.AddString("Name", MobHeadEntity.GetOwnerName());
+ Writer.BeginCompound("Properties");
+ Writer.BeginList("textures", TAG_Compound);
+ Writer.BeginCompound("");
+ Writer.AddString("Signature", MobHeadEntity.GetOwnerTextureSignature());
+ Writer.AddString("Value", MobHeadEntity.GetOwnerTexture());
+ Writer.EndCompound();
+ Writer.EndList();
+ Writer.EndCompound();
+ Writer.EndCompound();
break;
}