perf(bukkit): 优化代码
This commit is contained in:
@@ -140,24 +140,18 @@ public abstract class ParentCommand extends ChildCommand {
|
|||||||
if (!childCommand.getName().equalsIgnoreCase(args[0])) {
|
if (!childCommand.getName().equalsIgnoreCase(args[0])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (childCommand instanceof ParentCommand || childCommand.hasPermission(sender)) {
|
if (!childCommand.hasPermission(sender)) {
|
||||||
return childCommand.onCommand(sender, command, label, Arrays.copyOfRange(args, 1, args.length));
|
|
||||||
}
|
|
||||||
CoreMessage.COMMAND_NOT_HAS_PERMISSION.show(sender);
|
CoreMessage.COMMAND_NOT_HAS_PERMISSION.show(sender);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
return childCommand.onCommand(sender, command, label, Arrays.copyOfRange(args, 1, args.length));
|
||||||
|
}
|
||||||
CoreMessage.COMMAND_NOT_FOUND.show(sender);
|
CoreMessage.COMMAND_NOT_FOUND.show(sender);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
|
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
|
||||||
if (args.length == 0) {
|
|
||||||
return childCommands.stream()
|
|
||||||
.filter(o -> o.hasPermission(sender))
|
|
||||||
.map(ChildCommand::getName)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
for (ChildCommand child : childCommands) {
|
for (ChildCommand child : childCommands) {
|
||||||
if (args[0].equalsIgnoreCase(child.getName())) {
|
if (args[0].equalsIgnoreCase(child.getName())) {
|
||||||
return child.onTabComplete(sender, command, alias, Arrays.copyOfRange(args, 1, args.length));
|
return child.onTabComplete(sender, command, alias, Arrays.copyOfRange(args, 1, args.length));
|
||||||
|
Reference in New Issue
Block a user