Fix kyori, add permissionlist command, fix luckperms getting wrong context

This commit is contained in:
ajgeiss0702
2021-08-02 22:33:47 -07:00
parent 9d1161247b
commit a01bd759d2
20 changed files with 137 additions and 17 deletions
@@ -31,6 +31,11 @@ public class BaseCommand implements IBaseCommand {
return null;
}
@Override
public boolean showInTabComplete() {
return true;
}
@Override
public Messages getMessages() {
return null;
@@ -27,6 +27,11 @@ public class ISP extends SubCommand {
return ImmutableList.of();
}
@Override
public boolean showInTabComplete() {
return false;
}
@Override
public String getPermission() {
return null;
@@ -27,6 +27,7 @@ public class ManageCommand extends BaseCommand {
addSubCommand(new ISP(main));
addSubCommand(new QueueList(main));
addSubCommand(new Send(main));
addSubCommand(new PermissionList(main));
}
@@ -87,6 +88,7 @@ public class ManageCommand extends BaseCommand {
}
List<String> commands = new ArrayList<>();
for(ISubCommand subCommand : subCommands) {
if(!subCommand.showInTabComplete()) continue;
commands.add(subCommand.getName());
commands.addAll(subCommand.getAliases());
}
@@ -0,0 +1,64 @@
package us.ajg0702.queue.commands.commands.manage;
import com.google.common.collect.ImmutableList;
import net.kyori.adventure.text.Component;
import us.ajg0702.queue.api.commands.ICommandSender;
import us.ajg0702.queue.commands.SubCommand;
import us.ajg0702.queue.common.QueueMain;
import us.ajg0702.utils.common.Messages;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class PermissionList extends SubCommand {
final QueueMain main;
public PermissionList(QueueMain main) {
this.main = main;
}
@Override
public String getName() {
return "permissionlist";
}
@Override
public ImmutableList<String> getAliases() {
return ImmutableList.of();
}
@Override
public boolean showInTabComplete() {
return false;
}
@Override
public String getPermission() {
return null;
}
@Override
public Messages getMessages() {
return main.getMessages();
}
@Override
public void execute(ICommandSender sender, String[] args) {
if(!checkPermission(sender)) return;
List<String> permissions = main.getLogicGetter().getPermissions(main.getPlatformMethods().senderToPlayer(sender));
if(permissions == null) {
sender.sendMessage(Component.text("no permission handler"));
return;
}
permissions.forEach(s -> {
if(!s.toLowerCase(Locale.ROOT).contains("ajqueue")) return;
sender.sendMessage(Component.text(s));
});
}
@Override
public List<String> autoComplete(ICommandSender sender, String[] args) {
return new ArrayList<>();
}
}
@@ -32,6 +32,11 @@ public class Tasks extends SubCommand {
return "ajqueue.manage.tasks";
}
@Override
public boolean showInTabComplete() {
return false;
}
@Override
public Messages getMessages() {
return main.getMessages();