2021-06-11 14:02:28 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: oxygencraft <21054297+oxygencraft@users.noreply.github.com>
|
|
|
|
Date: Sun, 25 Oct 2020 18:34:50 +1100
|
|
|
|
Subject: [PATCH] Add getOfflinePlayerIfCached(String)
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
2023-09-22 22:13:57 +02:00
|
|
|
index ca77f684288a26ee81e0f8bf5fa649290c48d147..aa16f21e6f47c3730294f1bec2c86ee8e3c028ba 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
2023-09-22 06:40:51 +02:00
|
|
|
@@ -1814,6 +1814,28 @@ public final class CraftServer implements Server {
|
2021-06-11 14:02:28 +02:00
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ // Paper start
|
|
|
|
+ @Override
|
|
|
|
+ @Nullable
|
|
|
|
+ public OfflinePlayer getOfflinePlayerIfCached(String name) {
|
2023-06-13 01:51:45 +02:00
|
|
|
+ Preconditions.checkArgument(name != null, "Name cannot be null");
|
|
|
|
+ Preconditions.checkArgument(!name.isEmpty(), "Name cannot be empty");
|
2021-06-11 14:02:28 +02:00
|
|
|
+
|
|
|
|
+ OfflinePlayer result = getPlayerExact(name);
|
|
|
|
+ if (result == null) {
|
|
|
|
+ GameProfile profile = console.getProfileCache().getProfileIfCached(name);
|
|
|
|
+
|
|
|
|
+ if (profile != null) {
|
|
|
|
+ result = getOfflinePlayer(profile);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ offlinePlayers.remove(result.getUniqueId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+ // Paper end
|
|
|
|
+
|
|
|
|
@Override
|
|
|
|
public OfflinePlayer getOfflinePlayer(UUID id) {
|
2023-06-13 01:51:45 +02:00
|
|
|
Preconditions.checkArgument(id != null, "UUID id cannot be null");
|