Well just an idea, that I might look more into.
If you made a proxy, edited chatpacket from client, made it custom, send it to the server.
Like
Code:
Chatpacket (client) -> Proxy -> Customize it -> Server
Let's say you just changed the chat type, wouldn't it be possible to send system messages, even from a normal player?
Thinking private server.
Looking at the packet from client -> server, it's like this:
Code:
Chatype
fromlength
from
tolength
to
messagelength
message