Add server requesting with custom names
This commit is contained in:
parent
7ed61a0984
commit
e39fc6e9df
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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()));
|
||||
|
|
Loading…
Reference in New Issue