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 3993fecec5b4c2bbd77e175a168afcad571ce4d1..a028f2fe541491729856051780b33dba07832fb6 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java @@ -19,7 +19,7 @@ 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 @@ -557,4 +557,20 @@ 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. + *

+ * 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 }