Вопрос Отмена эвента onCommand

Решение
В главном классе в onEnable()
Bukkit.getServer().getPluginManager().registerEvents(new WhatIsIt(), this);
В класс WhatIsIt
Java:
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;

public class WhatIsIt implements Listener {
    @EventHandler
    public void onPlayerJoin(PlayerCommandPreprocessEvent e) {
        if (e.getMessage().startsWith("/gm")) {
            e.getPlayer().sendMessage("ТЫ шо дурак бл%*ть?");
            e.setCancelled(true);
        }
    }
}
(на первой строке должно быть что то по типу этого package groupId.artifactId;)
PlayerCommandPreprocessEvent


Авто объединение сообщений:

offtop Если тебе помог мой ответ/ты уже нашёл решение оповести об этом
 
Последнее редактирование:
В главном классе в onEnable()
Bukkit.getServer().getPluginManager().registerEvents(new WhatIsIt(), this);
В класс WhatIsIt
Java:
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;

public class WhatIsIt implements Listener {
    @EventHandler
    public void onPlayerJoin(PlayerCommandPreprocessEvent e) {
        if (e.getMessage().startsWith("/gm")) {
            e.getPlayer().sendMessage("ТЫ шо дурак бл%*ть?");
            e.setCancelled(true);
        }
    }
}
(на первой строке должно быть что то по типу этого package groupId.artifactId;)
 
В главном классе в onEnable()
Bukkit.getServer().getPluginManager().registerEvents(new WhatIsIt(), this);
В класс WhatIsIt
Java:
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;

public class WhatIsIt implements Listener {
    @EventHandler
    public void onPlayerJoin(PlayerCommandPreprocessEvent e) {
        if (e.getMessage().startsWith("/gm")) {
            e.getPlayer().sendMessage("ТЫ шо дурак бл%*ть?");
            e.setCancelled(true);
        }
    }
}
(на первой строке должно быть что то по типу этого package groupId.artifactId;)
это обычные пакеты. group id и artifact id - в maven.
 
_MRDen3000YT_, просто он может сделать следующие вещи: стереть весть код из класса слушателя, скопировать код из моего ответа и ему даст ошибку что нет package т. к я его не указывал (а если бы указал эму бы все равно ошибку дало бы). Мб он знает про это, но все бывает
 
anton3312578859, зачем? это как запретить писат в консоль stop, бессмысленно
Авто объединение сообщений:

консоль это то что имеет полный доступ, к серверу, то через что идет управление им. Какова причина блокировки команды для консоли?
 
anton3312578859, наоборот, она бесполезна, если ты даешь доступ к КОНСОЛИ СЕРВЕРА многим людям и хочешь ограничить её возможности то ты НЕНОРМАЛЬНЫЙ. ты по сути ограничиваешь самого себя (?). Крч выпускай так как есть)) Нет смысла делать эту функцию т. к она будет по большей части мешать
 
anton3312578859, ну так хоть у тебя * твой плагин заблокирует эту команду, он не блокирует консоль. никто не имеет прав выше консоли. Зачем тупому влалельцу сервера блокировщик команд для консоли если он тупой и все равно запорит свой серв? (как правило такие сервера от "умных" владельцев закрываются через неделю с онлайном 1 [влалелец]
 
N08I40K, я знаю, но речь про другое. Нормальные сервера не будут выдавать * людям, то есть получается и блокиратор команд по сути и не нужен, так как лп всё за них сделает
Авто объединение сообщений:

N08I40K, ладно, забей, просто так как мой плагин не только для меня я хочу сделать так, что бы была функция блокировки команды и для консоли. Хз зачем, но просто хочу написать лучший блокиратор.
 
Назад
Сверху Снизу