I think the various hooks should be typedeffed, or even wrapped in a #define or a specific function, so that one can write:
PlayerCharPostHook(user->nick.c_str(), rawTime, msg.c_str());
or at least
(PlayerCharPostHookType(Mineserver::get()->plugin()->getHook("PlayerChatPost")))->doAll(user->nick.c_str(), rawTime, msg.c_str());
instead of
(static_cast<Hook3<bool,const char*,time_t,const char*>*>(Mineserver::get()->plugin()->getHook("PlayerChatPost")))->doAll(user->nick.c_str(), rawTime, msg.c_str());