PaperMC/patches/api/Add-Offline-PDC-API.patch
2024-10-12 21:38:18 +02:00

40 lines
2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
Date: Sat, 9 Jul 2022 17:17:04 +0200
Subject: [PATCH] Add Offline PDC API
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable;
* player that is stored on the disk and can, thus, be retrieved without the
* player needing to be online.
*/
-public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable {
+public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable, io.papermc.paper.persistence.PersistentDataViewHolder { // Paper - Add Offline PDC API
/**
* Checks if this player is currently online
@@ -0,0 +0,0 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
*/
@Nullable
public Location getLocation();
+ // Paper start - add pdc to offline player
+ /**
+ * Yields a view of the persistent data container for this offline player.
+ * In case this {@link OfflinePlayer} instance was created for an offline player, the returned view will wrap the persistent
+ * data on disk.
+ * <p>
+ * As such, this method as well as queries to the {@link io.papermc.paper.persistence.PersistentDataContainerView}
+ * may produce blocking IO requests to read the requested data from disk.
+ * Caution in its usage is hence advised.
+ *
+ * @return the persistent data container view
+ * @see io.papermc.paper.persistence.PersistentDataViewHolder#getPersistentDataContainer()
+ */
+ @Override
+ io.papermc.paper.persistence.@NotNull PersistentDataContainerView getPersistentDataContainer();
+ // Paper end - add pdc to offline player
}