uQueue

Welcome

Welcome to the uQueue plugin wiki. Use the navigation bar on the left to switch between pages. Most questions will be answered in the FAQ. Can't find your question there? Ask it in the support discord for the fastest response!

FAQ

Which permission plugins are supported?

Currently, LuckPerms, UltraPermissions and BungeePerms are supported. If you're using a different permissions plugin and would like to see it added to uQueue, make a ticket in the support discord.

How do I only allow access to certain servers?

Change "ServerListMode" in config.yml to whitelist, and add the servers you want to allow without extra permissions. To allow players to visit servers that aren't whitelisted, give them the uqueue.server.<server> permission.

Where can I find official translations?

All official translations can be found here. Currently official translations exist for Dutch and English.

Can't find your question?

Can't find your question on here? Ask it in the support discord, we're here to help!

Placeholders

In order to use placeholders, you must install uQueue on your Spigot subservers. The Spigot version of the plugin doesn't have any configuration and requires PlaceholderAPI.

Placeholder Value Example
%uqueue_is_queued% true if the player is queued for a server, false if they aren't. true
%uqueue_queue_position% The queue position the player is in. Returns 0 if the player isn't queued. 3
%uqueue_queue_length% The total length of the queue the player is in. Returns 0 if the player isn't queued. 10
%uqueue_queued_for% The server the player is queued for. Returns an empty string if the player isn't queued. skyblock
%uqueue_queued_for_display_name% The display name of the server the player is queued for. Returns an empty string if the player isn't queued. Skyblock

To customize the values shown when the player isn't queued, I recommend using the plugin Conditional Text Placeholders.

Permissions

uqueue.server.* Allows the player to queue for any server.
uqueue.server.<server> Allows the player to queue for a blacklisted or non-whitelisted server. (Depends on server list mode in config)
uqueue.admin Gives the player access to subcommands for the /uqeueue command.
uqueue.bypass.* Allows the player to directly travel to any server when they try to queue for it. This effectively turns /queue into /server, for that player.
uqueue.bypass.<server> Allows the player to directly travel to the specified server when they try to queue for it. This effectively turns /queue into /server, for that server only.
uqueue.priority.*.<priority, higher is more important> Sets the queue priority level for the player, for all servers. If the per-server priority is higher, that value will be used instead.
uqueue.priority.<server>.<priority, higher is more important> Sets the queue priority level for the player, for the specified server. If the global priority is higher, that value will be used instead.

 

Developer API

Developer API

Importing via dependency managers

Before you can actually start integrating uQueue into you code, you first have to import it into your project.

Importing via Maven

To import the uQueue API via Maven, you should add the repository and dependency to your pom.xml file like below.

Replace {VERSION} with the version of uQueue you want to use.

<repositories>
	<repository>
		<id>noahvdaa</id>
		<url>https://repo.noah.pm/repository/maven-releases/</url>
	</repository>
</repositories>
<dependencies>
	<dependency>
		<groupId>me.noahvdaa.uqueue</groupId>
		<artifactId>uqueue-api</artifactId>
		<version>{VERSION}</version>
		<type>jar</type>
		<scope>provided</scope>
	</dependency>
	<dependency>
		<groupId>me.noahvdaa.uqueue</groupId>
		<artifactId>uqueue-api</artifactId>
		<version>{VERSION}</version>
		<type>javadoc</type>
		<scope>provided</scope>
	</dependency>
</dependencies>

Importing via Gradle

To import the uQueue API via Gradle, add the repository and dependency to your Gradle.build file like in this example below.

Replace {VERSION} with the version of uQueue you want to use.

repositories {
    maven {
        url = 'https://repo.noah.pm/repository/maven-releases/'
    }
}

dependencies {
    compileOnly 'me.noahvdaa.uqueue.uqueue-api:{VERSION}'
}

Importing without a dependency manager

If you're not using a dependency manager, you can grab the latest version from Github Releases. After downloading the API, you can add it to your build path.

Next steps

Now that you've added the plugin API to your dependency manager, you can go to the next step: Adding as a plugin dependency.

Developer API

Adding as a plugin dependency

Now that you've added uQueue to your dependency manager, you should tell BungeeCord to load your plugin AFTER uQueue is loaded, by adding uQueue as a (soft)depend. If your plugin absolutely needs uQueue, you should use a depend. If it supports an optional integration, you shoudl use a softdepend.

Depending on which type of depend you're going to be looking, take a look at these example bungee.yml files.

Softdepend example

name: ExamplePlugin
version: 1.0.0
author: author
main: your.main.path.here
softdepends: [uQueue] # The plugin CAN integrate with uQueue, but doesn't NEED it.

Depend example

name: ExamplePlugin
version: 1.0.0
author: author
main: your.main.path.here
depends: [uQueue] # The plugin MUST integrate with uQueue.

Next steps

Now that you've added the plugin as a BungeeCord dependency, you can start interacting with it via code.

Developer API

Getting the plugin object.

Now that you've added uQueue as a dependency in both your dependency manager and bungee.yml, it's finally time to start using it in code! Adding the following to your onEnable, to get a uQueue object you can interact with.

if(getProxy().getPluginManager().getPlugin("uQueue") != null){
	UQueuePlugin uQueue = (UQueuePlugin) getProxy().getPluginManager().getPlugin("uQueue");
}

What's next?

Now that you can interact with the uQueue API, it's time to make something amazing! If you're looking for some examples, check out the Example Integration Plugin or the Javadoc.