50 lines
1.6 KiB
Java
50 lines
1.6 KiB
Java
package com.imaginarycode.minecraft.redisbungee;
|
|
|
|
import com.imaginarycode.minecraft.redisbungee.api.RedisBungeePlugin;
|
|
import net.md_5.bungee.api.config.ServerInfo;
|
|
import net.md_5.bungee.api.plugin.Plugin;
|
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* This platform class exposes some internal RedisBungee functions. You obtain an instance of this object by invoking {@link RedisBungeeAPI#getRedisBungeeApi()}
|
|
* or somehow you got the Plugin instance by you can call the api using {@link RedisBungeePlugin#getAbstractRedisBungeeApi()}.
|
|
*
|
|
* @author tuxed
|
|
* @since 0.2.3 | updated 0.8.0
|
|
*/
|
|
public class RedisBungeeAPI extends AbstractRedisBungeeAPI {
|
|
|
|
private static RedisBungeeAPI redisBungeeApi;
|
|
|
|
public RedisBungeeAPI(RedisBungeePlugin<?> plugin) {
|
|
super(plugin);
|
|
if (redisBungeeApi == null) {
|
|
redisBungeeApi = this;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get the server where the specified player is playing. This function also deals with the case of local players
|
|
* as well, and will return local information on them.
|
|
*
|
|
* @param player a player uuid
|
|
* @return {@link ServerInfo} Can be null if proxy can't find it.
|
|
* @see #getServerNameFor(UUID)
|
|
*/
|
|
public final ServerInfo getServerFor(@NonNull UUID player) {
|
|
return ((Plugin) this.plugin).getProxy().getServerInfo(this.getServerNameFor(player));
|
|
}
|
|
|
|
/**
|
|
* Api instance
|
|
*
|
|
* @return the API instance.
|
|
* @since 0.6.5
|
|
*/
|
|
public static RedisBungeeAPI getRedisBungeeApi() {
|
|
return redisBungeeApi;
|
|
}
|
|
}
|