/// <summary>
 /// Receives the specified reader.
 /// </summary>
 /// <param name="reader">The reader.</param>
 /// <param name="version">The version.</param>
 /// <remarks></remarks>
 protected override void OnReceive(BigEndianStream reader, int version)
 {
     if (reader == null)
         throw new System.ArgumentNullException("reader");
     EntityId = reader.ReadInt32();
     Name = reader.ReadString16();
     PositionX = reader.ReadInt32();
     PositionY = reader.ReadInt32();
     PositionZ = reader.ReadInt32();
     Rotation = reader.ReadByte();
     Pitch = reader.ReadByte();
     CurrentItem = reader.ReadInt16();
     if (version >= 38)
         MetaData = reader.ReadMetaData(version);
     else
     {
         MetaData = new MetadataInfo();
         MetaData.Data = new System.Collections.Generic.Dictionary<byte, object>
         {
             {17,(byte)0},
             {0,(byte)0},
             {16,(byte)0},
             {33,(short)300},
             {72,(int)0}
         };
     }
 }