I just prefer using exsiting funtionalities than developing ones myself >_<
What do you mean by black list? If you refer to Privacy lists, then i think Openfire already support this and latest Spark version also (one can manage his privacy lists in Spark settings).
I want to block messages from contacts in the black list. Is there such settings in the Privacy lists? How and Where can I set Privacy lists for a user?
Yes, you can block contacts and their messages will be blocked and they will see you as offline even i think. But your client must support Privacy lists. Spark does and has GUI for that (in the Preferences), also there is a Block contact setting when you right click contact in the roster.
Haven’t tried myself, but i think you can also manage your lists by sending special packets to the server. http://community.igniterealtime.org/docs/DOC-1036