So I know chat is handled well enough in AsyncPlayerChatEvent but I am wondering if there is an efficient way of blocking broadcasts for certain players? I don't believe there is a built event or easy access to the sendMessage methods, and currently the only hacky way I have is using ProtocolLib and listening for PacketType.Play.Server.CHAT, then preventing set player from receiving it if it doesn't contain a player name (which is chat). But there is an obvious caveat that if broadcasts contain player names then they get bypassed to the player. Also having to iterate over all online players to check if a name is in there is very inefficient especially as player count goes up. I don't believe the packet itself gives any notice if the message sent is from player of from plugin/server. Any ideas are welcome.