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

Помогите Как отменить выполнение команды

  • Автор темы Автор темы fswr33
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

fswr33

Активный участник
Пользователь
Баллы
66
Нужно чтобы плагин отменял выполнение команды другого плагина если игрок является донатером
Java:
    public boolean onCommand(CommandSender sender, Command command, String alias, String[] args) {
        if (alias.equalsIgnoreCase("banip")) {
            PermissionUser user = PermissionsEx.getUser(args[0]);
            PermissionGroup[] userGroups = user.getGroups();
            for (PermissionGroup group : userGroups) {
                String plgroup = group.getName();
                if (!(plgroup.equalsIgnoreCase("User"))) {
                    //отменяем команду /banip
                    sender.sendMessage("Нельзя");
                    return true;
                }
            }
        }
   }
 
Нужно чтобы плагин отменял выполнение команды другого плагина если игрок является донатером
Java:
    public boolean onCommand(CommandSender sender, Command command, String alias, String[] args) {
        if (alias.equalsIgnoreCase("banip")) {
            PermissionUser user = PermissionsEx.getUser(args[0]);
            PermissionGroup[] userGroups = user.getGroups();
            for (PermissionGroup group : userGroups) {
                String plgroup = group.getName();
                if (!(plgroup.equalsIgnoreCase("User"))) {
                    //отменяем команду /banip
                    sender.sendMessage("Нельзя");
                    return true;
                }
            }
        }
   }
Тебе нужно отменять эвент и использовать не onCommand, а CommandPreprocessEvent.
https://bukkit.org/threads/commandpreprocessevent-not-executing.144394/
 
Вообще не реагирует на команду
JavaScript:
    @EventHandler
    public void onCmd(PlayerCommandPreprocessEvent event){
        Player player = event.getPlayer();
            if(event.getMessage().equalsIgnoreCase("/banip")){
                String[] args = event.getMessage().split(" ");
                PermissionUser user = PermissionsEx.getUser(args[0]);
                PermissionGroup[] userGroups = user.getGroups();
                for (PermissionGroup group : userGroups) {
                    String plgroup = group.getName();
                    if (!(plgroup.equalsIgnoreCase("User")) {
                        event.setCancelled(true);
                        player.sendMessage("§6Нельзя банить донатеров!");
                    }
                }
            }
        }
 
Вообще не реагирует на команду
JavaScript:
    @EventHandler
    public void onCmd(PlayerCommandPreprocessEvent event){
        Player player = event.getPlayer();
            if(event.getMessage().equalsIgnoreCase("/banip")){
                String[] args = event.getMessage().split(" ");
                PermissionUser user = PermissionsEx.getUser(args[0]);
                PermissionGroup[] userGroups = user.getGroups();
                for (PermissionGroup group : userGroups) {
                    String plgroup = group.getName();
                    if (!(plgroup.equalsIgnoreCase("User")) {
                        event.setCancelled(true);
                        player.sendMessage("§6Нельзя банить донатеров!");
                    }
                }
            }
        }
Не правильно. Смотри выше как я написал. Аргумент который 0 будет твоя команда, а аргумент 1 это игрок
 
Не правильно. Смотри выше как я написал. Аргумент который 0 будет твоя команда, а аргумент 1 это игрок
По-моему тут что-то не так
Java:
    @EventHandler
    public void onCmd(PlayerCommandPreprocessEvent event){
        Player player = event.getPlayer();
        player.sendMessage("Этот текст не пишет");
        String[] args = event.getMessage().split(" ");
            if(args[0].equalsIgnoreCase("/banip") || args[0].equalsIgnoreCase("/ebanip")){
                PermissionUser user = PermissionsEx.getUser(args[1]);
                PermissionGroup[] userGroups = user.getGroups();
                for (PermissionGroup group : userGroups) {
                    String plgroup = group.getName();
                    if (!(plgroup.equalsIgnoreCase("User") || plgroup.equalsIgnoreCase("madmin"))) {
                        event.setCancelled(true);
                        player.sendMessage(prefix + "§6Нельзя банить донатеров!");
                    }
                }
            }
        }
 
Забыл getServer().getPluginManager().registerEvents(this, this);
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх