- Баллы
- 76
- Имя в Minecraft
- _MediaNik_
Я создал класс CommandWorker который выполняет роль Executor`а, но я не могу его зарегистрировать, полчаса пытался его вразумить - ничего.Помогите.
Вот сам Executor:
Вот часть кода, где я его назначаю 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;
}
}
Код:
public void onEnable(){
.....
CommandWorker cw = new CommandWorker("first",true);
cw.cmds.add(new join());
cw.cmds.add(new setlobby());
getCommand("boss").setExecutor(cw);
.....
}