mirror of
https://github.com/proxiodev/RedisBungee.git
synced 2025-04-20 01:27:07 +00:00
Add in some more API documentation along with a slight optimization for a common use case
This commit is contained in:
parent
ace0979201
commit
235b42021b
@ -6,11 +6,14 @@
|
|||||||
*/
|
*/
|
||||||
package com.imaginarycode.minecraft.redisbungee;
|
package com.imaginarycode.minecraft.redisbungee;
|
||||||
|
|
||||||
|
import com.google.common.base.Function;
|
||||||
|
import com.google.common.collect.Collections2;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import net.md_5.bungee.api.config.ServerInfo;
|
import net.md_5.bungee.api.config.ServerInfo;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@ -70,6 +73,25 @@ public class RedisBungeeAPI {
|
|||||||
return plugin.getPlayers();
|
return plugin.getPlayers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a combined list of players on this network, as a collection of usernames.
|
||||||
|
* <p>
|
||||||
|
* <strong>Note that this function returns an immutable {@link java.util.Collection}, and usernames
|
||||||
|
* are lazily calculated (but cached, see the contract of {@link #getNameFromUuid(java.util.UUID)}).</strong>
|
||||||
|
*
|
||||||
|
* @return a Set with all players found
|
||||||
|
* @since 0.3
|
||||||
|
* @see #getNameFromUuid(java.util.UUID)
|
||||||
|
*/
|
||||||
|
public final Collection<String> getHumanPlayersOnline() {
|
||||||
|
return Collections2.transform(getPlayersOnline(), new Function<UUID, String>() {
|
||||||
|
@Override
|
||||||
|
public String apply(UUID uuid) {
|
||||||
|
return getNameFromUuid(uuid);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a full list of players on all servers.
|
* Get a full list of players on all servers.
|
||||||
*
|
*
|
||||||
@ -158,10 +180,10 @@ public class RedisBungeeAPI {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register (a) PubSub channel(s), so that you may capture {@link com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent} for it.
|
* Register (a) PubSub channel(s), so that you may handle {@link com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent} for it.
|
||||||
*
|
*
|
||||||
* @param channels the channels to register
|
* @param channels the channels to register
|
||||||
* @since 0.2.6
|
* @since 0.3
|
||||||
*/
|
*/
|
||||||
public final void registerPubSubChannels(String... channels) {
|
public final void registerPubSubChannels(String... channels) {
|
||||||
RedisBungee.getPubSubListener().addChannel(channels);
|
RedisBungee.getPubSubListener().addChannel(channels);
|
||||||
@ -171,14 +193,18 @@ public class RedisBungeeAPI {
|
|||||||
* Unregister (a) PubSub channel(s).
|
* Unregister (a) PubSub channel(s).
|
||||||
*
|
*
|
||||||
* @param channels the channels to unregister
|
* @param channels the channels to unregister
|
||||||
* @since 0.2.6
|
* @since 0.3
|
||||||
*/
|
*/
|
||||||
public final void unregisterPubSubChannels(String... channels) {
|
public final void unregisterPubSubChannels(String... channels) {
|
||||||
RedisBungee.getPubSubListener().removeChannel(channels);
|
RedisBungee.getPubSubListener().removeChannel(channels);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch a name from the specified UUID.
|
* Fetch a name from the specified UUID. UUIDs are cached locally and in Redis. This function falls back to Mojang
|
||||||
|
* as a last resort, so calls <strong>may</strong> be blocking.
|
||||||
|
* <p>
|
||||||
|
* For the common use case of translating a list of UUIDs into names, use {@link #getHumanPlayersOnline()}
|
||||||
|
* as the efficiency of that function is slightly greater as the names are calculated lazily.
|
||||||
*
|
*
|
||||||
* @param uuid the UUID to fetch the name for
|
* @param uuid the UUID to fetch the name for
|
||||||
* @return the name for the UUID
|
* @return the name for the UUID
|
||||||
@ -189,7 +215,8 @@ public class RedisBungeeAPI {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch a UUID from the specified name.
|
* Fetch a UUID from the specified name. Names are cached locally and in Redis. This function falls back to Mojang
|
||||||
|
* as a last resort, so calls <strong>may</strong> be blocking.
|
||||||
*
|
*
|
||||||
* @param name the UUID to fetch the name for
|
* @param name the UUID to fetch the name for
|
||||||
* @return the UUID for the name
|
* @return the UUID for the name
|
||||||
|
Loading…
Reference in New Issue
Block a user