Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static HashMap<Player, Long> inWarning = new HashMap<Player, Long>();
- public static HashMap<Player, Long> inTrouble = new HashMap<Player, Long>();
- @EventHandler
- public void PlayerChat(AsyncPlayerChatEvent event){
- Player p = event.getPlayer();
- if(p.hasPermission("AvalonRules.bypass")){
- return;
- } else {
- String message = event.getMessage();
- String ignorePart = event.getMessage().replaceAll("FiFTX", "").replaceAll("FiFT", "").replaceAll("XD", " ").replaceAll("HI", " ").replaceAll(" ", "").replaceAll("xDD", "").replaceAll("XDD", "").replaceAll("[^A-Za-z]", "");
- double amount = 0;
- double size = ignorePart.length();
- for(int i = 0; i < size; i++){
- if(Character.isLetter(ignorePart.charAt(i)) && Character.isUpperCase(ignorePart.charAt(i))){
- amount++;
- }
- }
- double percent = amount / size * 100D;
- long cooldown = 0;
- if(percent >= 55){
- if(percent >= 75){
- if(inWarning.containsKey(p)){
- cooldown = ((inWarning.get(p)/1000)+20) - (System.currentTimeMillis()/1000);
- if(cooldown <= 0){
- inWarning.remove(p);
- } else {
- String warn = "warn " + p.getName() + " caps!";
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), warn);
- inWarning.remove(p);
- inTrouble.put(p, System.currentTimeMillis());
- }
- } else if(inTrouble.containsKey(p)){
- cooldown = ((inTrouble.get(p)/1000)+60) - (System.currentTimeMillis()/1000);
- if(cooldown <= 0){
- inTrouble.remove(p);
- } else {
- String tempmute = "tempmute " + p.getName() + " 1 hour";
- String kick = "kick " + p.getName() + " caps!";
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), tempmute);
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), kick);
- inTrouble.remove(p);
- }
- } else {
- inWarning.put(p, System.currentTimeMillis());
- }
- }
- Utils.logToPlayerFile(p, p.getName() + " chatted with too much uppercase letters: " + message + " (" + new DecimalFormat("#.##").format(percent) + "% are in Caps! (Ignoring: 'HI' 'FiFTX' 'FiFT' 'XD', 'xDD', 'XDD'))", plugin);
- p.sendMessage(ChatColor.RED + "Your message contains too much uppercase letters, setting to lowercase!");
- event.setMessage(message.toLowerCase());
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement