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

Помогите Не работает Executor

Тема в разделе "Разработка плагинов для новичков", создана пользователем _MediaNik_, 6 июл 2016.

Статус темы:
Закрыта.
  1. Автор темы
    _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Я создал класс CommandWorker который выполняет роль Executor`а, но я не могу его зарегистрировать, полчаса пытался его вразумить - ничего.Помогите.
    Вот сам Executor:
    Код:
    package ru.BossWars.command;
    
    import java.util.ArrayList;
    import java.util.List;
    import org.bukkit.ChatColor;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import ru.tehkode.permissions.bukkit.PermissionsEx;
    
    public class CommandWorker implements CommandExecutor{
        public List<ru.BossWars.command.Command> cmds = new ArrayList<>(); 
        boolean allowForOps;
        String commandName;
       
        public CommandWorker(String name, boolean ops) {
            allowForOps = ops;
            commandName = name;
        }
       
        @Override
        public boolean onCommand(CommandSender sen, org.bukkit.command.Command cmd, String label, String[] args) {
                   
            if(cmd.getName().equals(commandName)){
                if(args.length == 0){
                    for(Command c : cmds){
                        if(sen instanceof Player & PermissionsEx.getUser((Player) sen).has(c.getPermission()))
                            sen.sendMessage(c.getHelp());
                    }
                    return true;
                }else
                {
                    for(int i=0;i<cmds.size();i++){
                        if(String.valueOf(cmds.get(i)) == args[0]){
                            if(sen instanceof Player){
                            if(PermissionsEx.getUser((Player) sen).has(cmds.get(i).getPermission())){
                                cmds.get(i).Execute(sen, cmd, args);
                               
                                return true;
                            }else sen.sendMessage(ChatColor.RED + "У вас нет прав!!!");
                            return true;
                            }else cmds.get(i).ExecuteConsole(sen, cmd, args);
                        }
                    }
                    sen.sendMessage(ChatColor.RED + "Команда введена неверно");
                    return false;
                }
            }
            return false;
        }
    }
    
    
    Вот часть кода, где я его назначаю Executor`ом:
    Код:
    public void onEnable(){
    .....
    CommandWorker cw = new CommandWorker("first",true);
            cw.cmds.add(new join());
            cw.cmds.add(new setlobby());
            getCommand("boss").setExecutor(cw);
    .....
    }
    
     
  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
  4. Автор темы
    _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Попробую[DOUBLEPOST=1467794404,1467793401][/DOUBLEPOST]
    Спасибо, помогло.

    ЗАКРЫТО.
     
Статус темы:
Закрыта.

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