File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed
java/net/voxelarc/allaychat/filter Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -14,12 +14,14 @@ public class CapsFilter implements ChatFilter {
1414
1515 private int maxCaps = 3 ;
1616 private boolean enabled = true ;
17+ private boolean bypassUsernames = false ;
1718
1819 private Component blockedMessage ;
1920
2021 @ Override
2122 public void onEnable () {
2223 enabled = plugin .getFilterConfig ().getBoolean ("caps.enabled" , true );
24+ bypassUsernames = plugin .getFilterConfig ().getBoolean ("caps.bypass-usernames" , false );
2325 maxCaps = plugin .getFilterConfig ().getInt ("caps.max-caps" , 3 );
2426 blockedMessage = ChatUtils .format (plugin .getFilterConfig ().getString ("caps.message" ));
2527 }
@@ -29,6 +31,22 @@ public boolean checkMessage(Player player, String message) {
2931 if (!enabled ) return false ;
3032 if (player .hasPermission ("allaychat.bypass.caps" )) return false ;
3133
34+ if (bypassUsernames ) {
35+ String [] split = message .split (" " );
36+ int totalPlayerNameCaps = 0 ;
37+ for (String msg : split ) {
38+ if (plugin .getPlayerManager ().getAllPlayers ().stream ().noneMatch (msg ::equals )) continue ;
39+ totalPlayerNameCaps += capsCount (msg );
40+ }
41+
42+ if (capsCount (message ) - totalPlayerNameCaps >= maxCaps ) {
43+ ChatUtils .sendMessage (player , blockedMessage );
44+ return true ;
45+ }
46+
47+ return false ;
48+ }
49+
3250 if (capsCount (message ) >= maxCaps ) {
3351 ChatUtils .sendMessage (player , blockedMessage );
3452 return true ;
Original file line number Diff line number Diff line change 3232 enabled : false
3333 max-caps : 5 # the maximum number of caps in a message
3434 message : " <prefix> <red>You are using too much caps."
35+ bypass-usernames : false # should we allow caps if it's in a player's name
3536
3637regex :
3738 enabled : true
You can’t perform that action at this time.
0 commit comments