@@ -59,18 +59,17 @@ public String replaceInlineColors(String message, final Player player) {
59
59
@ EventHandler (ignoreCancelled = true )
60
60
public void onPlayerChat (final AsyncPlayerChatEvent event ) {
61
61
// Set format to the plain message, since the player is not needed
62
+ String oldFormat = event .getFormat ();
62
63
event .setFormat ("%2$s" );
63
64
64
- // Cancel the event, because the chat is rewritten to system messages
65
- event .setCancelled (true );
66
-
67
65
// Plain message
68
66
final Player player = event .getPlayer ();
69
67
String legacyMessage = replacePrefixColors (event .getMessage (), player );
70
68
legacyMessage = replaceInlineColors (legacyMessage , player );
71
69
72
70
// Do not send empty messages
73
71
if (ChatColor .stripColor (legacyMessage ).trim ().length () == 0 ) {
72
+ event .setCancelled (true );
74
73
return ;
75
74
}
76
75
@@ -91,10 +90,6 @@ public void onPlayerChat(final AsyncPlayerChatEvent event) {
91
90
message .addExtra (componentFromLegacyText ("> " ));
92
91
message .addExtra (messageText );
93
92
94
- // Send to console
95
- if (plugin .getConfig ().getBoolean ("ChatCo.chatToConsole" , true ))
96
- plugin .getLogger ().info (message .toLegacyText ());
97
-
98
93
// Send to the players
99
94
for (Player recipient : event .getRecipients ()) {
100
95
try {
@@ -104,11 +99,16 @@ public void onPlayerChat(final AsyncPlayerChatEvent event) {
104
99
(!chatPlayer .isIgnored (player .getName ()) || !plugin .getConfig ().getBoolean ("ChatCo.ignoresEnabled" , true ))) {
105
100
recipient .spigot ().sendMessage (message );
106
101
}
107
-
108
102
} catch (NullPointerException e ) {
109
103
e .printStackTrace ();
110
104
}
111
105
}
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 );
112
112
}
113
113
114
114
@ EventHandler
0 commit comments