mirror of
https://github.com/LuckPerms/LuckPerms.git
synced 2024-11-28 05:35:26 +01:00
Make the recent command changes backwards compatible
This commit is contained in:
parent
f1d670dc46
commit
73f10cad66
@ -133,8 +133,11 @@ public class CommandManager {
|
||||
return CommandResult.INVALID_ARGS;
|
||||
}
|
||||
|
||||
List<String> arguments = new ArrayList<>(args);
|
||||
handleRewrites(arguments);
|
||||
|
||||
try {
|
||||
return main.execute(plugin, sender, new ArrayList<>(args.subList(1, args.size())), label);
|
||||
return main.execute(plugin, sender, arguments.subList(1, arguments.size()), label);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return CommandResult.FAILURE;
|
||||
@ -184,4 +187,93 @@ public class CommandManager {
|
||||
.filter(c -> c.isAuthorized(sender))
|
||||
.forEach(c -> Util.sendPluginMessage(sender, "&3> &a" + String.format(c.getUsage(), label)));
|
||||
}
|
||||
|
||||
private static void handleRewrites(List<String> args) {
|
||||
if (args.size() >= 3) {
|
||||
if (!args.get(0).equalsIgnoreCase("user") && !args.get(0).equalsIgnoreCase("group")) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
String s = args.get(2).toLowerCase();
|
||||
switch (s) {
|
||||
// Provide aliases
|
||||
case "p":
|
||||
case "perm":
|
||||
case "perms":
|
||||
args.remove(2);
|
||||
args.add(2, "permission");
|
||||
break;
|
||||
case "m":
|
||||
args.remove(2);
|
||||
args.add(2, "meta");
|
||||
break;
|
||||
case "i":
|
||||
case "inherit":
|
||||
case "inheritances":
|
||||
case "group":
|
||||
case "rank":
|
||||
args.remove(2);
|
||||
args.add(2, "parent");
|
||||
break;
|
||||
|
||||
// Provide backwards compatibility
|
||||
case "listnodes":
|
||||
args.remove(2);
|
||||
args.add(2, "permission");
|
||||
args.add(3, "info");
|
||||
break;
|
||||
case "set":
|
||||
case "unset":
|
||||
case "settemp":
|
||||
case "unsettemp":
|
||||
args.add(2, "permission");
|
||||
break;
|
||||
case "listgroups":
|
||||
args.remove(2);
|
||||
args.add(2, "parent");
|
||||
args.add(3, "info");
|
||||
break;
|
||||
case "addgroup":
|
||||
case "setinherit":
|
||||
args.remove(2);
|
||||
args.add(2, "parent");
|
||||
args.add(3, "add");
|
||||
break;
|
||||
case "removegroup":
|
||||
case "unsetinherit":
|
||||
args.remove(2);
|
||||
args.add(2, "parent");
|
||||
args.add(3, "remove");
|
||||
break;
|
||||
case "addtempgroup":
|
||||
case "settempinherit":
|
||||
args.remove(2);
|
||||
args.add(2, "parent");
|
||||
args.add(3, "addtemp");
|
||||
break;
|
||||
case "removetempgroup":
|
||||
case "unsettempinherit":
|
||||
args.remove(2);
|
||||
args.add(2, "parent");
|
||||
args.add(3, "removetemp");
|
||||
break;
|
||||
case "chatmeta":
|
||||
args.remove(2);
|
||||
args.add(2, "meta");
|
||||
args.add(3, "info");
|
||||
break;
|
||||
case "addprefix":
|
||||
case "addsuffix":
|
||||
case "removeprefix":
|
||||
case "removesuffix":
|
||||
case "addtempprefix":
|
||||
case "addtempsuffix":
|
||||
case "removetempprefix":
|
||||
case "removetempsuffix":
|
||||
args.add(2, "meta");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ public abstract class SubCommand<T> {
|
||||
}
|
||||
}
|
||||
|
||||
Util.sendPluginMessage(sender, "&3> &a" + getName() + usage);
|
||||
Util.sendPluginMessage(sender, "&3> &a" + getName().toLowerCase() + usage);
|
||||
}
|
||||
|
||||
public void sendDetailedUsage(Sender sender) {
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
package me.lucko.luckperms.common.commands.generic;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import me.lucko.luckperms.common.LuckPermsPlugin;
|
||||
import me.lucko.luckperms.common.commands.*;
|
||||
import me.lucko.luckperms.common.constants.Message;
|
||||
@ -38,7 +39,12 @@ public class SecondaryMainCommand<T extends PermissionHolder> extends SubCommand
|
||||
private final List<SecondarySubCommand> secondaryCommands;
|
||||
|
||||
public SecondaryMainCommand(String name, String description, boolean user, List<SecondarySubCommand> secondaryCommands) {
|
||||
super(name, description, null, Predicate.alwaysFalse(), null);
|
||||
super(name, description, null, Predicate.alwaysFalse(),
|
||||
!name.equals("Meta") ? ImmutableList.copyOf(secondaryCommands.stream()
|
||||
.map(s -> Arg.create(s.getName(), false, s.getDescription()))
|
||||
.collect(Collectors.toList())
|
||||
) : null
|
||||
);
|
||||
this.secondaryCommands = secondaryCommands;
|
||||
this.user = user;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user