@@ -59,18 +59,17 @@ public String replaceInlineColors(String message, final Player player) {
5959 @ EventHandler (ignoreCancelled = true )
6060 public void onPlayerChat (final AsyncPlayerChatEvent event ) {
6161 // Set format to the plain message, since the player is not needed
62+ String oldFormat = event .getFormat ();
6263 event .setFormat ("%2$s" );
6364
64- // Cancel the event, because the chat is rewritten to system messages
65- event .setCancelled (true );
66-
6765 // Plain message
6866 final Player player = event .getPlayer ();
6967 String legacyMessage = replacePrefixColors (event .getMessage (), player );
7068 legacyMessage = replaceInlineColors (legacyMessage , player );
7169
7270 // Do not send empty messages
7371 if (ChatColor .stripColor (legacyMessage ).trim ().length () == 0 ) {
72+ event .setCancelled (true );
7473 return ;
7574 }
7675
@@ -91,10 +90,6 @@ public void onPlayerChat(final AsyncPlayerChatEvent event) {
9190 message .addExtra (componentFromLegacyText ("> " ));
9291 message .addExtra (messageText );
9392
94- // Send to console
95- if (plugin .getConfig ().getBoolean ("ChatCo.chatToConsole" , true ))
96- plugin .getLogger ().info (message .toLegacyText ());
97-
9893 // Send to the players
9994 for (Player recipient : event .getRecipients ()) {
10095 try {
@@ -104,11 +99,16 @@ public void onPlayerChat(final AsyncPlayerChatEvent event) {
10499 (!chatPlayer .isIgnored (player .getName ()) || !plugin .getConfig ().getBoolean ("ChatCo.ignoresEnabled" , true ))) {
105100 recipient .spigot ().sendMessage (message );
106101 }
107-
108102 } catch (NullPointerException e ) {
109103 e .printStackTrace ();
110104 }
111105 }
106+
107+ // Do not send it to the players again - no event cancelling, so that other plugins can process the chat
108+ event .getRecipients ().clear ();
109+
110+ // Write back the old format
111+ event .setFormat (oldFormat );
112112 }
113113
114114 @ EventHandler
0 commit comments