mirror of
https://github.com/LuckPerms/LuckPerms.git
synced 2024-10-31 07:51:05 +01:00
Add some missing tab completions, remove /lp log export command
This commit is contained in:
parent
5c5d1e8d0a
commit
b4a2da0ea8
@ -197,9 +197,12 @@ public class CommandManager {
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public List<String> onTabComplete(Sender sender, List<String> args) {
|
public List<String> onTabComplete(Sender sender, List<String> args) {
|
||||||
List<String> arguments = new ArrayList<>(args);
|
List<String> arguments = new ArrayList<>(args);
|
||||||
|
|
||||||
|
// we rewrite tab completions too!
|
||||||
handleRewrites(arguments);
|
handleRewrites(arguments);
|
||||||
|
|
||||||
final List<Command> mains = mainCommands.stream()
|
final List<Command> mains = mainCommands.stream()
|
||||||
|
.filter(Command::shouldDisplay)
|
||||||
.filter(m -> m.isAuthorized(sender))
|
.filter(m -> m.isAuthorized(sender))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
@ -239,12 +242,9 @@ public class CommandManager {
|
|||||||
private void sendCommandUsage(Sender sender, String label) {
|
private void sendCommandUsage(Sender sender, String label) {
|
||||||
Util.sendPluginMessage(sender, "&2Running &bLuckPerms v" + plugin.getVersion() + "&2.");
|
Util.sendPluginMessage(sender, "&2Running &bLuckPerms v" + plugin.getVersion() + "&2.");
|
||||||
mainCommands.stream()
|
mainCommands.stream()
|
||||||
|
.filter(Command::shouldDisplay)
|
||||||
.filter(c -> c.isAuthorized(sender))
|
.filter(c -> c.isAuthorized(sender))
|
||||||
.forEach(c -> {
|
.forEach(c -> {
|
||||||
if (!c.shouldDisplay()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
String permission = (String) c.getPermission().map(p -> ((Permission) p).getExample()).orElse("None");
|
String permission = (String) c.getPermission().map(p -> ((Permission) p).getExample()).orElse("None");
|
||||||
FancyMessage msg = new FancyMessage("> ").color(c('3')).then().text(String.format(c.getUsage(), label)).color(c('a'))
|
FancyMessage msg = new FancyMessage("> ").color(c('3')).then().text(String.format(c.getUsage(), label)).color(c('a'))
|
||||||
|
@ -159,7 +159,7 @@ public abstract class SubCommand<T> extends Command<T, Void> {
|
|||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<String> getTabComplete(List<String> options, List<String> args) {
|
public static List<String> getTabComplete(List<String> options, List<String> args) {
|
||||||
if (args.size() <= 1) {
|
if (args.size() <= 1) {
|
||||||
if (args.isEmpty() || args.get(0).equalsIgnoreCase("")) {
|
if (args.isEmpty() || args.get(0).equalsIgnoreCase("")) {
|
||||||
return options;
|
return options;
|
||||||
|
@ -46,6 +46,8 @@ import me.lucko.luckperms.common.utils.Predicates;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static me.lucko.luckperms.common.commands.abstraction.SubCommand.getTrackTabComplete;
|
||||||
|
|
||||||
public class ParentClearTrack extends SharedSubCommand {
|
public class ParentClearTrack extends SharedSubCommand {
|
||||||
public ParentClearTrack() {
|
public ParentClearTrack() {
|
||||||
super("cleartrack", "Clears all parents on a given track", Permission.USER_PARENT_CLEAR_TRACK, Permission.GROUP_PARENT_CLEAR_TRACK, Predicates.is(0),
|
super("cleartrack", "Clears all parents on a given track", Permission.USER_PARENT_CLEAR_TRACK, Permission.GROUP_PARENT_CLEAR_TRACK, Predicates.is(0),
|
||||||
@ -108,4 +110,9 @@ public class ParentClearTrack extends SharedSubCommand {
|
|||||||
save(holder, sender, plugin);
|
save(holder, sender, plugin);
|
||||||
return CommandResult.SUCCESS;
|
return CommandResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> onTabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
|
return getTrackTabComplete(args, plugin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,7 @@ import me.lucko.luckperms.common.utils.Predicates;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static me.lucko.luckperms.common.commands.abstraction.SubCommand.getGroupTabComplete;
|
||||||
import static me.lucko.luckperms.common.commands.abstraction.SubCommand.getTrackTabComplete;
|
import static me.lucko.luckperms.common.commands.abstraction.SubCommand.getTrackTabComplete;
|
||||||
|
|
||||||
public class ParentSetTrack extends SharedSubCommand {
|
public class ParentSetTrack extends SharedSubCommand {
|
||||||
@ -129,6 +130,11 @@ public class ParentSetTrack extends SharedSubCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> onTabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
public List<String> onTabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
return getTrackTabComplete(args, plugin);
|
if (args.size() == 0 || args.size() == 1) {
|
||||||
|
return getTrackTabComplete(args, plugin);
|
||||||
|
}
|
||||||
|
|
||||||
|
args.remove(0);
|
||||||
|
return getGroupTabComplete(args, plugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,8 @@ import me.lucko.luckperms.common.utils.Predicates;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static me.lucko.luckperms.common.commands.abstraction.SubCommand.getPermissionTabComplete;
|
||||||
|
|
||||||
public class PermissionUnset extends SharedSubCommand {
|
public class PermissionUnset extends SharedSubCommand {
|
||||||
public PermissionUnset() {
|
public PermissionUnset() {
|
||||||
super("unset", "Unsets a permission for the object", Permission.USER_PERM_UNSET, Permission.GROUP_PERM_UNSET,
|
super("unset", "Unsets a permission for the object", Permission.USER_PERM_UNSET, Permission.GROUP_PERM_UNSET,
|
||||||
@ -84,4 +86,9 @@ public class PermissionUnset extends SharedSubCommand {
|
|||||||
return CommandResult.STATE_ERROR;
|
return CommandResult.STATE_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> onTabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
|
return getPermissionTabComplete(args, plugin.getPermissionVault());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,8 @@ import me.lucko.luckperms.common.utils.Predicates;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static me.lucko.luckperms.common.commands.abstraction.SubCommand.getPermissionTabComplete;
|
||||||
|
|
||||||
public class PermissionUnsetTemp extends SharedSubCommand {
|
public class PermissionUnsetTemp extends SharedSubCommand {
|
||||||
public PermissionUnsetTemp() {
|
public PermissionUnsetTemp() {
|
||||||
super("unsettemp", "Unsets a temporary permission for the object", Permission.USER_PERM_UNSETTEMP,
|
super("unsettemp", "Unsets a temporary permission for the object", Permission.USER_PERM_UNSETTEMP,
|
||||||
@ -77,4 +79,9 @@ public class PermissionUnsetTemp extends SharedSubCommand {
|
|||||||
return CommandResult.STATE_ERROR;
|
return CommandResult.STATE_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> onTabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
|
return getPermissionTabComplete(args, plugin.getPermissionVault());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@ import me.lucko.luckperms.api.event.cause.DeletionCause;
|
|||||||
import me.lucko.luckperms.common.commands.Arg;
|
import me.lucko.luckperms.common.commands.Arg;
|
||||||
import me.lucko.luckperms.common.commands.CommandResult;
|
import me.lucko.luckperms.common.commands.CommandResult;
|
||||||
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
||||||
|
import me.lucko.luckperms.common.commands.abstraction.SubCommand;
|
||||||
import me.lucko.luckperms.common.commands.sender.Sender;
|
import me.lucko.luckperms.common.commands.sender.Sender;
|
||||||
import me.lucko.luckperms.common.config.ConfigKeys;
|
import me.lucko.luckperms.common.config.ConfigKeys;
|
||||||
import me.lucko.luckperms.common.constants.Message;
|
import me.lucko.luckperms.common.constants.Message;
|
||||||
@ -90,17 +91,6 @@ public class DeleteGroup extends SingleCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
final List<String> groups = new ArrayList<>(plugin.getGroupManager().getAll().keySet());
|
return SubCommand.getGroupTabComplete(args, plugin);
|
||||||
|
|
||||||
if (args.size() <= 1) {
|
|
||||||
if (args.isEmpty() || args.get(0).equalsIgnoreCase("")) {
|
|
||||||
return groups;
|
|
||||||
}
|
|
||||||
|
|
||||||
return groups.stream().filter(s -> s.toLowerCase().startsWith(args.get(0).toLowerCase()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ import com.google.common.collect.ImmutableList;
|
|||||||
|
|
||||||
import me.lucko.luckperms.common.commands.abstraction.Command;
|
import me.lucko.luckperms.common.commands.abstraction.Command;
|
||||||
import me.lucko.luckperms.common.commands.abstraction.MainCommand;
|
import me.lucko.luckperms.common.commands.abstraction.MainCommand;
|
||||||
import me.lucko.luckperms.common.commands.impl.log.subcommands.LogExport;
|
|
||||||
import me.lucko.luckperms.common.commands.impl.log.subcommands.LogGroupHistory;
|
import me.lucko.luckperms.common.commands.impl.log.subcommands.LogGroupHistory;
|
||||||
import me.lucko.luckperms.common.commands.impl.log.subcommands.LogNotify;
|
import me.lucko.luckperms.common.commands.impl.log.subcommands.LogNotify;
|
||||||
import me.lucko.luckperms.common.commands.impl.log.subcommands.LogRecent;
|
import me.lucko.luckperms.common.commands.impl.log.subcommands.LogRecent;
|
||||||
@ -52,7 +51,6 @@ public class LogMainCommand extends MainCommand<Log> {
|
|||||||
.add(new LogRecent())
|
.add(new LogRecent())
|
||||||
.add(new LogSearch())
|
.add(new LogSearch())
|
||||||
.add(new LogNotify())
|
.add(new LogNotify())
|
||||||
.add(new LogExport())
|
|
||||||
.add(new LogUserHistory())
|
.add(new LogUserHistory())
|
||||||
.add(new LogGroupHistory())
|
.add(new LogGroupHistory())
|
||||||
.add(new LogTrackHistory())
|
.add(new LogTrackHistory())
|
||||||
|
@ -1,135 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of LuckPerms, licensed under the MIT License.
|
|
||||||
*
|
|
||||||
* Copyright (c) lucko (Luck) <luck@lucko.me>
|
|
||||||
* Copyright (c) contributors
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
|
||||||
* in the Software without restriction, including without limitation the rights
|
|
||||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
* copies of the Software, and to permit persons to whom the Software is
|
|
||||||
* furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in all
|
|
||||||
* copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
* SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package me.lucko.luckperms.common.commands.impl.log.subcommands;
|
|
||||||
|
|
||||||
import me.lucko.luckperms.api.LogEntry;
|
|
||||||
import me.lucko.luckperms.common.commands.Arg;
|
|
||||||
import me.lucko.luckperms.common.commands.CommandException;
|
|
||||||
import me.lucko.luckperms.common.commands.CommandResult;
|
|
||||||
import me.lucko.luckperms.common.commands.abstraction.SubCommand;
|
|
||||||
import me.lucko.luckperms.common.commands.sender.Sender;
|
|
||||||
import me.lucko.luckperms.common.constants.Message;
|
|
||||||
import me.lucko.luckperms.common.constants.Permission;
|
|
||||||
import me.lucko.luckperms.common.data.Log;
|
|
||||||
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
|
|
||||||
import me.lucko.luckperms.common.utils.Predicates;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.charset.Charset;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class LogExport extends SubCommand<Log> {
|
|
||||||
public LogExport() {
|
|
||||||
super("export", "Export the log to a file", Permission.LOG_EXPORT, Predicates.not(1),
|
|
||||||
Arg.list(Arg.create("file", true, "the name of the file"))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Log log, List<String> args, String label) throws CommandException {
|
|
||||||
File f = new File(plugin.getDataDirectory(), args.get(0));
|
|
||||||
if (f.exists()) {
|
|
||||||
Message.LOG_EXPORT_ALREADY_EXISTS.send(sender, f.getAbsolutePath());
|
|
||||||
return CommandResult.INVALID_ARGS;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (log.getContent().isEmpty()) {
|
|
||||||
Message.LOG_EXPORT_EMPTY.send(sender);
|
|
||||||
return CommandResult.STATE_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
f.createNewFile();
|
|
||||||
} catch (IOException e) {
|
|
||||||
Message.LOG_EXPORT_FAILURE.send(sender);
|
|
||||||
e.printStackTrace();
|
|
||||||
return CommandResult.FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Files.isWritable(f.toPath())) {
|
|
||||||
Message.LOG_EXPORT_NOT_WRITABLE.send(sender, f.getAbsolutePath());
|
|
||||||
return CommandResult.FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
List<String> data = new ArrayList<>();
|
|
||||||
|
|
||||||
StringBuilder b = new StringBuilder();
|
|
||||||
for (LogEntry e : log.getContent()) {
|
|
||||||
b.setLength(0);
|
|
||||||
b.append("/luckperms ");
|
|
||||||
|
|
||||||
if (e.getType() == 'U') {
|
|
||||||
b.append("user ").append(e.getActed().toString()).append(" ").append(e.getAction());
|
|
||||||
}
|
|
||||||
|
|
||||||
group:
|
|
||||||
if (e.getType() == 'G') {
|
|
||||||
if (e.getAction().equalsIgnoreCase("create")) {
|
|
||||||
b.append("creategroup ").append(e.getActedName());
|
|
||||||
break group;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e.getAction().equalsIgnoreCase("delete")) {
|
|
||||||
b.append("deletegroup ").append(e.getActedName());
|
|
||||||
break group;
|
|
||||||
}
|
|
||||||
|
|
||||||
b.append("group ").append(e.getActedName()).append(" ").append(e.getAction());
|
|
||||||
}
|
|
||||||
|
|
||||||
track:
|
|
||||||
if (e.getType() == 'T') {
|
|
||||||
if (e.getAction().equalsIgnoreCase("create")) {
|
|
||||||
b.append("createtrack ").append(e.getActedName());
|
|
||||||
break track;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e.getAction().equalsIgnoreCase("delete")) {
|
|
||||||
b.append("deletetrack ").append(e.getActedName());
|
|
||||||
break track;
|
|
||||||
}
|
|
||||||
|
|
||||||
b.append("track ").append(e.getActedName()).append(" ").append(e.getAction());
|
|
||||||
}
|
|
||||||
|
|
||||||
data.add(b.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
|
||||||
Files.write(f.toPath(), data, Charset.defaultCharset());
|
|
||||||
Message.LOG_EXPORT_SUCCESS.send(sender, f.getAbsolutePath());
|
|
||||||
return CommandResult.SUCCESS;
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
Message.LOG_EXPORT_FAILURE.send(sender);
|
|
||||||
return CommandResult.FAILURE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -98,4 +98,9 @@ public class LogGroupHistory extends SubCommand<Log> {
|
|||||||
|
|
||||||
return CommandResult.SUCCESS;
|
return CommandResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
|
return getGroupTabComplete(args, plugin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -98,4 +98,9 @@ public class LogTrackHistory extends SubCommand<Log> {
|
|||||||
|
|
||||||
return CommandResult.SUCCESS;
|
return CommandResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
|
return getTrackTabComplete(args, plugin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,7 @@ import me.lucko.luckperms.common.commands.Arg;
|
|||||||
import me.lucko.luckperms.common.commands.CommandException;
|
import me.lucko.luckperms.common.commands.CommandException;
|
||||||
import me.lucko.luckperms.common.commands.CommandResult;
|
import me.lucko.luckperms.common.commands.CommandResult;
|
||||||
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
||||||
|
import me.lucko.luckperms.common.commands.abstraction.SubCommand;
|
||||||
import me.lucko.luckperms.common.commands.sender.Sender;
|
import me.lucko.luckperms.common.commands.sender.Sender;
|
||||||
import me.lucko.luckperms.common.commands.utils.Util;
|
import me.lucko.luckperms.common.commands.utils.Util;
|
||||||
import me.lucko.luckperms.common.constants.Message;
|
import me.lucko.luckperms.common.constants.Message;
|
||||||
@ -40,6 +41,7 @@ import me.lucko.luckperms.common.utils.Predicates;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class CheckCommand extends SingleCommand {
|
public class CheckCommand extends SingleCommand {
|
||||||
public CheckCommand() {
|
public CheckCommand() {
|
||||||
@ -74,4 +76,18 @@ public class CheckCommand extends SingleCommand {
|
|||||||
Message.CHECK_RESULT.send(sender, user.getFriendlyName(), permission, Util.formatTristate(tristate));
|
Message.CHECK_RESULT.send(sender, user.getFriendlyName(), permission, Util.formatTristate(tristate));
|
||||||
return CommandResult.SUCCESS;
|
return CommandResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
|
if (args.isEmpty()) {
|
||||||
|
return plugin.getPlayerList();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.size() == 1) {
|
||||||
|
return plugin.getPlayerList().stream().filter(s -> s.toLowerCase().startsWith(args.get(0).toLowerCase())).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
args.remove(0);
|
||||||
|
return SubCommand.getPermissionTabComplete(args, plugin.getPermissionVault());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,7 @@ import me.lucko.luckperms.common.commands.Arg;
|
|||||||
import me.lucko.luckperms.common.commands.CommandException;
|
import me.lucko.luckperms.common.commands.CommandException;
|
||||||
import me.lucko.luckperms.common.commands.CommandResult;
|
import me.lucko.luckperms.common.commands.CommandResult;
|
||||||
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
||||||
|
import me.lucko.luckperms.common.commands.abstraction.SubCommand;
|
||||||
import me.lucko.luckperms.common.commands.sender.Sender;
|
import me.lucko.luckperms.common.commands.sender.Sender;
|
||||||
import me.lucko.luckperms.common.commands.utils.ArgumentUtils;
|
import me.lucko.luckperms.common.commands.utils.ArgumentUtils;
|
||||||
import me.lucko.luckperms.common.commands.utils.Util;
|
import me.lucko.luckperms.common.commands.utils.Util;
|
||||||
@ -112,6 +113,11 @@ public class SearchCommand extends SingleCommand {
|
|||||||
return CommandResult.SUCCESS;
|
return CommandResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
|
return SubCommand.getPermissionTabComplete(args, plugin.getPermissionVault());
|
||||||
|
}
|
||||||
|
|
||||||
private static Map.Entry<FancyMessage, String> searchUserResultToMessage(List<HeldPermission<UUID>> results, Function<UUID, String> uuidLookup, String label, int pageNumber) {
|
private static Map.Entry<FancyMessage, String> searchUserResultToMessage(List<HeldPermission<UUID>> results, Function<UUID, String> uuidLookup, String label, int pageNumber) {
|
||||||
if (results.isEmpty()) {
|
if (results.isEmpty()) {
|
||||||
return Maps.immutableEntry(new FancyMessage("None").color(ChatColor.getByChar('3')), null);
|
return Maps.immutableEntry(new FancyMessage("None").color(ChatColor.getByChar('3')), null);
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
|
|
||||||
package me.lucko.luckperms.common.commands.impl.misc;
|
package me.lucko.luckperms.common.commands.impl.misc;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
|
|
||||||
import me.lucko.luckperms.common.commands.Arg;
|
import me.lucko.luckperms.common.commands.Arg;
|
||||||
import me.lucko.luckperms.common.commands.CommandResult;
|
import me.lucko.luckperms.common.commands.CommandResult;
|
||||||
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
||||||
@ -39,8 +41,10 @@ import io.github.mkremins.fanciful.ChatColor;
|
|||||||
import io.github.mkremins.fanciful.FancyMessage;
|
import io.github.mkremins.fanciful.FancyMessage;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public class VerboseCommand extends SingleCommand {
|
public class VerboseCommand extends SingleCommand {
|
||||||
public VerboseCommand() {
|
public VerboseCommand() {
|
||||||
@ -123,4 +127,17 @@ public class VerboseCommand extends SingleCommand {
|
|||||||
sendUsage(sender, label);
|
sendUsage(sender, label);
|
||||||
return CommandResult.INVALID_ARGS;
|
return CommandResult.INVALID_ARGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
|
if (args.isEmpty()) {
|
||||||
|
return ImmutableList.of("on", "record", "off", "paste");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.size() == 1) {
|
||||||
|
return Stream.of("on", "record", "off", "paste").filter(s -> s.toLowerCase().startsWith(args.get(0).toLowerCase())).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@ import me.lucko.luckperms.api.event.cause.DeletionCause;
|
|||||||
import me.lucko.luckperms.common.commands.Arg;
|
import me.lucko.luckperms.common.commands.Arg;
|
||||||
import me.lucko.luckperms.common.commands.CommandResult;
|
import me.lucko.luckperms.common.commands.CommandResult;
|
||||||
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
import me.lucko.luckperms.common.commands.abstraction.SingleCommand;
|
||||||
|
import me.lucko.luckperms.common.commands.abstraction.SubCommand;
|
||||||
import me.lucko.luckperms.common.commands.sender.Sender;
|
import me.lucko.luckperms.common.commands.sender.Sender;
|
||||||
import me.lucko.luckperms.common.constants.Message;
|
import me.lucko.luckperms.common.constants.Message;
|
||||||
import me.lucko.luckperms.common.constants.Permission;
|
import me.lucko.luckperms.common.constants.Permission;
|
||||||
@ -38,9 +39,7 @@ import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
|
|||||||
import me.lucko.luckperms.common.utils.Predicates;
|
import me.lucko.luckperms.common.utils.Predicates;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
public class DeleteTrack extends SingleCommand {
|
public class DeleteTrack extends SingleCommand {
|
||||||
public DeleteTrack() {
|
public DeleteTrack() {
|
||||||
@ -83,18 +82,6 @@ public class DeleteTrack extends SingleCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
public List<String> tabComplete(LuckPermsPlugin plugin, Sender sender, List<String> args) {
|
||||||
final List<String> tracks = new ArrayList<>(plugin.getTrackManager().getAll().keySet());
|
return SubCommand.getTrackTabComplete(args, plugin);
|
||||||
|
|
||||||
if (args.size() <= 1) {
|
|
||||||
if (args.isEmpty() || args.get(0).equalsIgnoreCase("")) {
|
|
||||||
return tracks;
|
|
||||||
}
|
|
||||||
|
|
||||||
return tracks.stream()
|
|
||||||
.filter(s -> s.toLowerCase().startsWith(args.get(0).toLowerCase()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -150,7 +150,6 @@ public enum Permission {
|
|||||||
LOG_TRACK_HISTORY(list("trackhistory"), Type.LOG),
|
LOG_TRACK_HISTORY(list("trackhistory"), Type.LOG),
|
||||||
LOG_SEARCH(list("search"), Type.LOG),
|
LOG_SEARCH(list("search"), Type.LOG),
|
||||||
LOG_NOTIFY(list("notify"), Type.LOG),
|
LOG_NOTIFY(list("notify"), Type.LOG),
|
||||||
LOG_EXPORT(list("export"), Type.LOG),
|
|
||||||
|
|
||||||
SPONGE_PERMISSION_INFO(list("permission.info"), Type.SPONGE),
|
SPONGE_PERMISSION_INFO(list("permission.info"), Type.SPONGE),
|
||||||
SPONGE_PERMISSION_SET(list("permission.set"), Type.SPONGE),
|
SPONGE_PERMISSION_SET(list("permission.set"), Type.SPONGE),
|
||||||
|
Loading…
Reference in New Issue
Block a user