summaryrefslogtreecommitdiffstats
path: root/src/Protocol
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@hotmail.co.uk>2015-07-15 23:18:11 +0200
committerTiger Wang <ziwei.tiger@hotmail.co.uk>2015-07-15 23:18:11 +0200
commiteadd761a299af09c7c4cd23f52509eb8dfce629f (patch)
treef975431fa652a758221e5959026ea6a85fcf7987 /src/Protocol
parentMerge pull request #2353 from SamJBarney/DyedArmor (diff)
parentAdded CustomName and Health to sended Metadata of Monsters. (diff)
downloadcuberite-eadd761a299af09c7c4cd23f52509eb8dfce629f.tar
cuberite-eadd761a299af09c7c4cd23f52509eb8dfce629f.tar.gz
cuberite-eadd761a299af09c7c4cd23f52509eb8dfce629f.tar.bz2
cuberite-eadd761a299af09c7c4cd23f52509eb8dfce629f.tar.lz
cuberite-eadd761a299af09c7c4cd23f52509eb8dfce629f.tar.xz
cuberite-eadd761a299af09c7c4cd23f52509eb8dfce629f.tar.zst
cuberite-eadd761a299af09c7c4cd23f52509eb8dfce629f.zip
Diffstat (limited to 'src/Protocol')
-rw-r--r--src/Protocol/Protocol17x.cpp22
-rw-r--r--src/Protocol/Protocol18x.cpp15
2 files changed, 27 insertions, 10 deletions
diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp
index 48bfc8583..098c62a90 100644
--- a/src/Protocol/Protocol17x.cpp
+++ b/src/Protocol/Protocol17x.cpp
@@ -3016,6 +3016,19 @@ void cProtocol172::WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a_En
void cProtocol172::WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mob)
{
+ // Living Enitiy Metadata
+ if (a_Mob.HasCustomName())
+ {
+ a_Pkt.WriteBEUInt8(0x8a);
+ a_Pkt.WriteString(a_Mob.GetCustomName());
+
+ a_Pkt.WriteBEUInt8(0x0b);
+ a_Pkt.WriteBool(a_Mob.IsCustomNameAlwaysVisible());
+ }
+
+ a_Pkt.WriteBEUInt8(0x66);
+ a_Pkt.WriteBEFloat(a_Mob.GetHealth());
+
switch (a_Mob.GetMobType())
{
case mtBat:
@@ -3209,15 +3222,6 @@ void cProtocol172::WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mob)
break;
}
} // switch (a_Mob.GetType())
-
- // Custom name:
- if (a_Mob.HasCustomName())
- {
- a_Pkt.WriteBEUInt8(0x8a);
- a_Pkt.WriteString(a_Mob.GetCustomName());
- a_Pkt.WriteBEUInt8(0x0b);
- a_Pkt.WriteBEUInt8(a_Mob.IsCustomNameAlwaysVisible() ? 1 : 0);
- }
}
diff --git a/src/Protocol/Protocol18x.cpp b/src/Protocol/Protocol18x.cpp
index 98b22add1..f4f32dfdb 100644
--- a/src/Protocol/Protocol18x.cpp
+++ b/src/Protocol/Protocol18x.cpp
@@ -3207,7 +3207,7 @@ void cProtocol180::WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a_En
}
a_Pkt.WriteBEUInt8(0); // Byte(0) + index 0
a_Pkt.WriteBEUInt8(Flags);
-
+
switch (a_Entity.GetEntityType())
{
case cEntity::etPlayer: break; // TODO?
@@ -3313,6 +3313,19 @@ void cProtocol180::WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a_En
void cProtocol180::WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mob)
{
+ // Living Enitiy Metadata
+ if (a_Mob.HasCustomName())
+ {
+ a_Pkt.WriteBEUInt8(0x82);
+ a_Pkt.WriteString(a_Mob.GetCustomName());
+
+ a_Pkt.WriteBEUInt8(0x03);
+ a_Pkt.WriteBool(a_Mob.IsCustomNameAlwaysVisible());
+ }
+
+ a_Pkt.WriteBEUInt8(0x66);
+ a_Pkt.WriteBEFloat(a_Mob.GetHealth());
+
switch (a_Mob.GetMobType())
{
case mtBat: