public static NotchianPacket Deserialize(byte[] bytes, int offset, int length) { using (var stream = new MemoryStream(bytes, offset, length)) { var reader = new BinaryStreamReader(stream); var packet = new NotchianPacket(); packet.Length = reader.ReadVarInt(); packet.PacketId = reader.ReadVarInt(); reader.ReadVarInt(); packet.Data = reader.ReadByteArray(0, packet.Length.Value - 1); return(packet); } }