Вопрос Не отменяется PlayerCommandPreprocessEvent

manul694

Premium
Сообщения
1 168
Решения
34
У меня не отменяется PlayerCommandPreprocessEvent, вот код:

Код:
@EventHandler
public void preCommandEvent(PlayerCommandPreprocessEvent e) {
    Player p = e.getPlayer();
    String command = e.getMessage();
    if(RaidManager.getInstance().getPlayerRaidStatus(p).isActiveRaid()) {
        for(String a : ManulBuilds.getInstance().getConfig().getStringList("raid.disabledcommands")) {
            if(StringUtils.isCommand(command, a)) {
                p.sendMessage(ManulBuilds.getInstance()
                        .getstringfromcfg("messages.commandunavailableinraid"));
                e.setCancelled(true);
                return;
            }
        }
    }
 }

Код:
public static boolean isCommand(String subcommand, String command) {
    return subcommand.toLowerCase().startsWith(command.toLowerCase() + " ") || subcommand.equalsIgnoreCase(command);
}

RaidManager.getInstance().getPlayerRaidStatus(p).isActiveRaid() точно true
 
Если я не ошибаюсь, этот метод возвращает команду вместе со слэшем.
Так я и со слэшем добавил. Но спасибо, поменяю
Объединено

Если я не ошибаюсь, этот метод возвращает команду вместе со слэшем.
Спасибо огромное! Я долгое время мучался, потом забил, спустя два месяца решил всё же пофиксить перед релизом, а проблема как раз была в этом!
 
Последнее редактирование:
Назад
Сверху Снизу