Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

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

Discussion in 'Разработка плагинов для новичков' started by fswr33, Nov 29, 2015.

Thread Status:
Not open for further replies.
  1. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Trophy Points:
    21
    Нужно чтобы плагин отменял выполнение команды другого плагина если игрок является донатером
    Code:
        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;
                    }
                }
            }
       }
     
  2. Хостинг MineCraft
    <
  3. Starr

    Starr Активный участник Пользователь

    Trophy Points:
    98
    Имя в Minecraft:
    _Starr_
    Тебе нужно отменять эвент и использовать не onCommand, а CommandPreprocessEvent.
    https://bukkit.org/threads/commandpreprocessevent-not-executing.144394/
     
  4. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Trophy Points:
    21
  5. Starr

    Starr Активный участник Пользователь

    Trophy Points:
    98
    Имя в Minecraft:
    _Starr_
    Гугли. Гугл - наше всё.
     
  6. LomNar

    LomNar Активный участник Пользователь

    Trophy Points:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    Примерно:
    String cmd = event.getMessage().split(" ")[0];
     
  7. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Trophy Points:
    21
    Вообще не реагирует на команду
    Code:
        @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Нельзя банить донатеров!");
                        }
                    }
                }
            }
     
  8. LomNar

    LomNar Активный участник Пользователь

    Trophy Points:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    Не правильно. Смотри выше как я написал. Аргумент который 0 будет твоя команда, а аргумент 1 это игрок
     
  9. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Trophy Points:
    21
    По-моему тут что-то не так
    Code:
        @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Нельзя банить донатеров!");
                        }
                    }
                }
            }
     
  10. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Слушатель то зарегистрирован?
     
  11. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Trophy Points:
    21
    Забыл getServer().getPluginManager().registerEvents(this, this);
     
Thread Status:
Not open for further replies.

Share This Page