Используйте для каждого l oop вместо вызова функции forEach
. Это позволит вам добавить оператор break
, который завершит l oop после того, как найдет первый плохой символ:
@EventHandler
public void oncmd(PlayerCommandPreprocessEvent e) {
List<String> block = Arrays.asList(":");
for(String all : block) {
if(e.getMessage().toLowerCase().contains(all.toLowerCase())) {
e.getPlayer().sendMessage("§8[§aSystem§8] §cYou can't use this command!");
e.setCancelled(true);
break;
}
}
}
В качестве альтернативы, если вы хотите остаться с более функциональным подходом, вы можно использовать anyMatch
:
@EventHandler
public void oncmd(PlayerCommandPreprocessEvent e) {
List<String> block = Arrays.asList(":");
if(block.stream().anyMatch(all -> e.getMessage().toLowerCase().contains(all.toLowerCase()))) {
e.getPlayer().sendMessage("§8[§aSystem§8] §cYou can't use this command!");
e.setCancelled(true);
}
}