Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

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

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);
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх