From 635e3fa1fa800fd54533aadd15552ee403abf57d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 22 Mar 2018 01:39:28 -0400 Subject: [PATCH] getPlayerUniqueId API Gets the unique ID of the player currently known as the specified player name In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer --- paper-api/src/main/java/org/bukkit/Bukkit.java | 14 ++++++++++++++ paper-api/src/main/java/org/bukkit/Server.java | 12 ++++++++++++ 2 files changed, 26 insertions(+) diff --git a/paper-api/src/main/java/org/bukkit/Bukkit.java b/paper-api/src/main/java/org/bukkit/Bukkit.java index c50b69ace8..4cdbcb96b3 100644 --- a/paper-api/src/main/java/org/bukkit/Bukkit.java +++ b/paper-api/src/main/java/org/bukkit/Bukkit.java @@ -753,6 +753,20 @@ public final class Bukkit { return server.getPlayer(id); } + // Paper start + /** + * Gets the unique ID of the player currently known as the specified player name + * In Offline Mode, will return an Offline UUID + * + * @param playerName the player name to look up the unique ID for + * @return A UUID, or null if that player name is not registered with Minecraft and the server is in online mode + */ + @Nullable + public static UUID getPlayerUniqueId(@NotNull String playerName) { + return server.getPlayerUniqueId(playerName); + } + // Paper end + /** * Gets the plugin manager for interfacing with plugins. * diff --git a/paper-api/src/main/java/org/bukkit/Server.java b/paper-api/src/main/java/org/bukkit/Server.java index 4c10cc9524..957bc4c3e4 100644 --- a/paper-api/src/main/java/org/bukkit/Server.java +++ b/paper-api/src/main/java/org/bukkit/Server.java @@ -633,6 +633,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable public Player getPlayer(@NotNull UUID id); + // Paper start + /** + * Gets the unique ID of the player currently known as the specified player name + * In Offline Mode, will return an Offline UUID + * + * @param playerName the player name to look up the unique ID for + * @return A UUID, or null if that player name is not registered with Minecraft and the server is in online mode + */ + @Nullable + public UUID getPlayerUniqueId(@NotNull String playerName); + // Paper end + /** * Gets the plugin manager for interfacing with plugins. *