mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 12:27:59 +01:00
da9d110d5b
This patch does not appear to be doing anything useful, and may hide errors. Currently, the save logic does not run through this path either so it did not do anything. Additionally, properly implement support for handling RegionFileSizeException in Moonrise.
46 lines
2.3 KiB
Diff
46 lines
2.3 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:28:42 +0200
|
|
Subject: [PATCH] Add Offline PDC API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
index 4f4e3ee18d586f61706504218cddc06a38ca5580..94ca0407303c4493ab4928b12ec6ecc75aaca549 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
@@ -325,6 +325,34 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
|
}
|
|
// Paper end
|
|
|
|
+ // Paper start - Add Offline PDC API
|
|
+ private static final org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry();
|
|
+ private io.papermc.paper.persistence.@org.checkerframework.checker.nullness.qual.MonotonicNonNull PersistentDataContainerView persistentDataContainerView;
|
|
+
|
|
+ @Override
|
|
+ public io.papermc.paper.persistence.PersistentDataContainerView getPersistentDataContainer() {
|
|
+ if (this.persistentDataContainerView == null) {
|
|
+ this.persistentDataContainerView = new io.papermc.paper.persistence.PaperPersistentDataContainerView(DATA_TYPE_REGISTRY) {
|
|
+
|
|
+ private CompoundTag getPersistentTag() {
|
|
+ return net.minecraft.Optionull.map(CraftOfflinePlayer.this.getData(), data -> data.getCompound("BukkitValues"));
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public CompoundTag toTagCompound() {
|
|
+ return java.util.Objects.requireNonNullElseGet(this.getPersistentTag(), CompoundTag::new);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public net.minecraft.nbt.Tag getTag(String key) {
|
|
+ return net.minecraft.Optionull.map(this.getPersistentTag(), tag -> tag.get(key));
|
|
+ }
|
|
+ };
|
|
+ }
|
|
+ return this.persistentDataContainerView;
|
|
+ }
|
|
+ // Paper end - Add Offline PDC API
|
|
+
|
|
@Override
|
|
public Location getLastDeathLocation() {
|
|
if (this.getData().contains("LastDeathLocation", 10)) {
|