diff --git a/Spigot-Server-Patches/0527-Support-old-UUID-format-for-NBT.patch b/Spigot-Server-Patches/0527-Support-old-UUID-format-for-NBT.patch index 6146aec771..40a62a9605 100644 --- a/Spigot-Server-Patches/0527-Support-old-UUID-format-for-NBT.patch +++ b/Spigot-Server-Patches/0527-Support-old-UUID-format-for-NBT.patch @@ -8,15 +8,28 @@ We have stored UUID in plenty of places that did not get DFU'd So just look for old format and load it if it exists. diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java -index f608b35502890650adfc1df35e0794471f57ecbc..74a8418b72f97a8956857a46fb06251602ad30e3 100644 +index f608b35502890650adfc1df35e0794471f57ecbc..436f40bcd7817bedde4f6570c7c47dba7ff7034f 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java -@@ -142,11 +142,21 @@ public class NBTTagCompound implements NBTBase { +@@ -135,6 +135,12 @@ public class NBTTagCompound implements NBTBase { + + public void setUUID(String prefix, UUID uuid) { a(prefix, uuid); } // Paper - OBFHELPER + public void a(String s, UUID uuid) { ++ // Paper start - support old format ++ if (this.hasKeyOfType(s + "Most", 99) && this.hasKeyOfType(s + "Least", 99)) { ++ this.map.remove(s + "Most"); ++ this.map.remove(s + "Least"); ++ } ++ // Paper end + this.map.put(s, GameProfileSerializer.a(uuid)); + } + +@@ -142,11 +148,21 @@ public class NBTTagCompound implements NBTBase { @Nullable public UUID getUUID(String prefix) { return a(prefix); } // Paper - OBFHELPER @Nullable public UUID a(String s) { + // Paper start - support old format -+ if (hasKey(s + "Least") && hasKey(s + "Most")) { ++ if (!hasKeyOfType(s, 11) && this.hasKeyOfType(s + "Most", 99) && this.hasKeyOfType(s + "Least", 99)) { + return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least")); + } + // Paper end @@ -26,7 +39,7 @@ index f608b35502890650adfc1df35e0794471f57ecbc..74a8418b72f97a8956857a46fb062516 public final boolean hasUUID(String s) { return this.b(s); } // Paper - OBFHELPER public boolean b(String s) { + // Paper start - support old format -+ if (hasKey(s + "Least") && hasKey(s + "Most")) { ++ if (this.hasKeyOfType(s + "Most", 99) && this.hasKeyOfType(s + "Least", 99)) { + return true; + } + // Paper end