From af3d742b1337a77e9b3d33a774585be371be84ba Mon Sep 17 00:00:00 2001 From: themode Date: Sat, 31 Oct 2020 13:30:11 +0100 Subject: [PATCH] Comments for UuidProvider and PlayerProvider --- .../minestom/server/network/ConnectionState.java | 4 +--- .../minestom/server/network/PlayerProvider.java | 5 +++++ .../minestom/server/network/UuidProvider.java | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minestom/server/network/ConnectionState.java b/src/main/java/net/minestom/server/network/ConnectionState.java index d19a31778..a729c464e 100644 --- a/src/main/java/net/minestom/server/network/ConnectionState.java +++ b/src/main/java/net/minestom/server/network/ConnectionState.java @@ -1,9 +1,7 @@ package net.minestom.server.network; -import net.minestom.server.entity.Player; - /** - * Represents the current connection state of a {@link Player}. + * Represents the current connection state of a {@link net.minestom.server.network.player.PlayerConnection}. */ public enum ConnectionState { UNKNOWN, STATUS, LOGIN, PLAY diff --git a/src/main/java/net/minestom/server/network/PlayerProvider.java b/src/main/java/net/minestom/server/network/PlayerProvider.java index 47558d2e8..78d1cf5b3 100644 --- a/src/main/java/net/minestom/server/network/PlayerProvider.java +++ b/src/main/java/net/minestom/server/network/PlayerProvider.java @@ -6,6 +6,11 @@ import org.jetbrains.annotations.NotNull; import java.util.UUID; +/** + * Used when you want to provide your own player object instead of using the default one. + *

+ * Sets with {@link ConnectionManager#setPlayerProvider(PlayerProvider)}. + */ @FunctionalInterface public interface PlayerProvider { diff --git a/src/main/java/net/minestom/server/network/UuidProvider.java b/src/main/java/net/minestom/server/network/UuidProvider.java index 5dbd05249..8f2da5f57 100644 --- a/src/main/java/net/minestom/server/network/UuidProvider.java +++ b/src/main/java/net/minestom/server/network/UuidProvider.java @@ -4,7 +4,23 @@ import net.minestom.server.network.player.PlayerConnection; import java.util.UUID; +/** + * Used when you want to provide your own {@link UUID} object for players instead of using the default one. + *

+ * Sets with {@link ConnectionManager#setUuidProvider(UuidProvider)}. + */ @FunctionalInterface public interface UuidProvider { + + /** + * Called when a new {@link UUID} is requested. + *

+ * The {@link UUID} does not need to be persistent between restart, but being sure that all players have a different + * one is good practice. Otherwise, undefined behavior can happen. + * + * @param playerConnection the connection who requires a new unique id + * @param username the username given by the connection + * @return the new {@link UUID} for the player + */ UUID provide(PlayerConnection playerConnection, String username); }