-
Notifications
You must be signed in to change notification settings - Fork 4
CommandWatcher
AlphaHelix edited this page Aug 25, 2017
·
2 revisions
For the CommandWatcher to work, you will need to pass the given arguments.
You can then add in some expected Arguments and listen for those.
Here is a little example from my TabTags plugin.
CommandWatcher setOwnC = new CommandWatcher(args); // /tag set <name>
CommandWatcher setOtherC = new CommandWatcher(args); // /tag set <name> <player>
CommandWatcher resetC = new CommandWatcher(args); // /tag reset
CommandWatcher resetOtherC = new CommandWatcher(args); // /tag reset <player>
StringArgument set = new StringArgument();
StringArgument name = new StringArgument();
StringArgument reset = new StringArgument();
PlayerArgument player = new PlayerArgument();
setOwnC.addArguments(set, name);
setOtherC.addArguments(set, name, player);
resetC.addArguments(reset);
resetOtherC.addArguments(reset, player);
if (setOwnC.isSame()) {
if (p.hasPermission("tabtags.set.own") || p.hasPermission("tabtags.admin")) {
nameCache.put(p.getUniqueId(), p.getPlayerListName());
p.setPlayerListName(name.fromArgument().replace("&", "§"));
}
return true;
} else if (setOtherC.isSame()) {
if (p.hasPermission("tabtags.set.others") || p.hasPermission("tabtags.admin")) {
nameCache.put(p.getUniqueId(), player.fromArgument().getPlayerListName());
player.fromArgument().setPlayerListName(name.fromArgument().replace("&", "§"));
}
return true;
} else if (resetC.isSame()) {
if (p.hasPermission("tabtags.reset.own") || p.hasPermission("tabtags.admin")) {
p.setPlayerListName(nameCache.get(p.getUniqueId()));
nameCache.remove(p.getUniqueId());
}
return true;
} else if (resetOtherC.isSame()) {
if (p.hasPermission("tabtags.reset.others") || p.hasPermission("tabtags.admin")) {
player.fromArgument().setPlayerListName(nameCache.get(player.fromArgument().getUniqueId()));
nameCache.remove(player.fromArgument().getUniqueId());
}
return true;
}Made by AlphaHelix