summaryrefslogtreecommitdiffstats
path: root/src/Protocol
diff options
context:
space:
mode:
authorHowaner <franzi.moos@googlemail.com>2014-02-17 20:14:08 +0100
committerHowaner <franzi.moos@googlemail.com>2014-02-17 20:14:08 +0100
commit777041806fb5085e94838fa9bb0b1c3fe0b61696 (patch)
treeb39ccdda97d69406a08358fe1c84349d25c421e4 /src/Protocol
parentMerge pull request #688 from worktycho/Flags (diff)
downloadcuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.gz
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.bz2
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.lz
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.xz
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.zst
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.zip
Diffstat (limited to 'src/Protocol')
-rw-r--r--src/Protocol/Protocol17x.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp
index f7d13774d..4d55822fb 100644
--- a/src/Protocol/Protocol17x.cpp
+++ b/src/Protocol/Protocol17x.cpp
@@ -26,6 +26,7 @@ Implements the 1.7.x protocol classes:
#include "../Mobs/IncludeAllMonsters.h"
#include "../UI/Window.h"
#include "../BlockEntities/CommandBlockEntity.h"
+#include "../BlockEntities/SkullEntity.h"
#include "../CompositeChat.h"
@@ -1042,6 +1043,7 @@ void cProtocol172::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity)
{
case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing
case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text
+ case E_BLOCK_HEAD: Action = 4; break; // Update Skull entity
default: ASSERT(!"Unhandled or unimplemented BlockEntity update request!"); break;
}
Pkt.WriteByte(Action);
@@ -2269,6 +2271,18 @@ void cProtocol172::cPacketizer::WriteBlockEntity(const cBlockEntity & a_BlockEnt
}
break;
}
+ case E_BLOCK_HEAD:
+ {
+ cSkullEntity & SkullEntity = (cSkullEntity &)a_BlockEntity;
+
+ Writer.AddInt("x", SkullEntity.GetPosX());
+ Writer.AddInt("y", SkullEntity.GetPosY());
+ Writer.AddInt("z", SkullEntity.GetPosZ());
+ Writer.AddByte("SkullType", SkullEntity.GetSkullType() & 0xFF);
+ Writer.AddByte("Rot", SkullEntity.GetRotation() & 0xFF);
+ Writer.AddString("ExtraType", SkullEntity.GetOwner().c_str());
+ Writer.AddString("id", "Skull"); // "Tile Entity ID" - MC wiki; vanilla server always seems to send this though
+ }
default: break;
}