mirror of
				https://github.com/proxiodev/RedisBungee.git
				synced 2025-11-04 01:28:02 +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