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

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

Discussion in 'Разработка плагинов для новичков' started by _MediaNik_, Jul 6, 2016.

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

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

    Trophy Points:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Я создал класс CommandWorker который выполняет роль Executor`а, но я не могу его зарегистрировать, полчаса пытался его вразумить - ничего.Помогите.
    Вот сам Executor:
    Code:
    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`ом:
    Code:
    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 Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
  4. Автор темы
    _MediaNik_

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

    Trophy Points:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
Thread Status:
Not open for further replies.

Share This Page