Войти или зарегистрироваться

Помогите Когда более 1-го слова написано капсом, предупреждение выписывается столько, сколько и капсовых слов

Статус
Закрыто для дальнейших ответов.

KoT_B_MaMe

Участник
Пользователь
Баллы
31
Имя в Minecraft
KoT_B_MaMKe
Я сделал анти-капс систему, но когда игрок пишет в чат более одного слова в составе одного сообщения с капсом (Пример: ПРИИИИИИВЕЕЕЕЕТ НАРОООООД)
то предупреждение "Выключите CAPSLOCK" выписывается столько раз, сколько и слов написанных капсом, а так не должно быть. Что не так?
Вот код:
Код:
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void capsCheck(AsyncPlayerChatEvent event) {
        String message = event.getMessage();
        int uppercase = 0;
        Player player = event.getPlayer();
        for (char c : message.toCharArray()) {
            if (Character.isUpperCase(c)) {
                uppercase += 1;
                if (uppercase == 5) {
                    player.sendMessage(ChatColor.RED + "Выключите CAPSLOCK.");
                    event.setCancelled(true);
                }
            } else {
                uppercase = 0;
            }
        }
    }
 
Поставь после event.setCancelled() строку return;
У тебя цикл дальше идёт
 
Убирай из сообщения все пробелы и прочие символы, перед тем как проверять буквы на апперкейс
 
Поставь после event.setCancelled() строку return;
У тебя цикл дальше идёт
Спасибо! Работает теперь нормально. Очень благодарен реально, а и к слову это первый раз в моей жизни, в котором я использую return...
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх