From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: oxygencraft <21054297+oxygencraft@users.noreply.github.com> Date: Sun, 25 Oct 2020 18:35:58 +1100 Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java index 78fee7b1ca0e56fcc81357419c087d85f7689266..8c99c26559a8aa7c79115c3cb68ae2d5e714c4b7 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1072,6 +1072,27 @@ public final class Bukkit { return server.getOfflinePlayer(name); } + // Paper start + /** + * Gets the player by the given name, regardless if they are offline or + * online. + *
+ * This will not make a web request to get the UUID for the given name, + * thus this method will not block. However this method will return + * {@code null} if the player is not cached. + *
+ * + * @param name the name of the player to retrieve + * @return an offline player if cached, {@code null} otherwise + * @see #getOfflinePlayer(String) + * @see #getOfflinePlayer(java.util.UUID) + */ + @Nullable + public static OfflinePlayer getOfflinePlayerIfCached(@NotNull String name) { + return server.getOfflinePlayerIfCached(name); + } + // Paper end + /** * Gets the player by the given UUID, regardless if they are offline or * online. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java index 93673a3cb2b4c4da70d74a26202c1d6c0a5fa8a0..8d65a4773a51a9d9d5bfba9d4f6a8d5cf221e7fd 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -907,6 +907,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public OfflinePlayer getOfflinePlayer(@NotNull String name); + // Paper start + /** + * Gets the player by the given name, regardless if they are offline or + * online. + *+ * This will not make a web request to get the UUID for the given name, + * thus this method will not block. However this method will return + * {@code null} if the player is not cached. + *
+ * + * @param name the name of the player to retrieve + * @return an offline player if cached, {@code null} otherwise + * @see #getOfflinePlayer(String) + * @see #getOfflinePlayer(java.util.UUID) + */ + @Nullable + public OfflinePlayer getOfflinePlayerIfCached(@NotNull String name); + // Paper end + /** * Gets the player by the given UUID, regardless if they are offline or * online.