diff --git a/API/api/src/main/java/tc/oc/api/message/types/UseServerRequest.java b/API/api/src/main/java/tc/oc/api/message/types/UseServerRequest.java index 162ec2c..33c0728 100644 --- a/API/api/src/main/java/tc/oc/api/message/types/UseServerRequest.java +++ b/API/api/src/main/java/tc/oc/api/message/types/UseServerRequest.java @@ -10,4 +10,5 @@ import tc.oc.api.queue.MessageDefaults; @MessageDefaults.ExpirationMillis(10000) public interface UseServerRequest extends Message { @Nonnull String user_id(); + @Nonnull String server_name(); } diff --git a/Commons/bungee/src/main/java/tc/oc/commons/bungee/commands/ServerCommands.java b/Commons/bungee/src/main/java/tc/oc/commons/bungee/commands/ServerCommands.java index 7288cd5..f6f06dc 100644 --- a/Commons/bungee/src/main/java/tc/oc/commons/bungee/commands/ServerCommands.java +++ b/Commons/bungee/src/main/java/tc/oc/commons/bungee/commands/ServerCommands.java @@ -75,17 +75,22 @@ public class ServerCommands implements Commands { @Command( aliases = {"requestserver", "re"}, - desc = "Request a server for yourself" + desc = "Request a server for yourself", + max = 1 ) @CommandPermissions("ocn.requestserver") public void request(final CommandContext args, CommandSender sender) throws CommandException { if(sender instanceof ProxiedPlayer) { final ProxiedPlayer player = (ProxiedPlayer) sender; + final String name = player.hasPermission("ocn.requestserver.custom") && args.argsLength() > 0 ? args.getString(0) : ""; commandExecutor.callback( serverService.requestServer(new UseServerRequest() { @Nonnull @Override public String user_id() { return userStore.getUser(player)._id(); } + @Nonnull @Override public String server_name() { + return name; + } }), (response) -> { if (response.now()) { player.connect(proxy.getServerInfo(response.server_name()));