mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-11 10:12:06 -07:00
Improve old UUID support, clean up old legacy keys.
If we set a UUID to new format, need to make sure old format doesn't exist anymore. Additionally, ensure if new format exists, we prefer it over old.
This commit is contained in:
@@ -11,12 +11,25 @@ diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/j
|
|||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/net/minecraft/server/NBTTagCompound.java
|
--- a/src/main/java/net/minecraft/server/NBTTagCompound.java
|
||||||
+++ b/src/main/java/net/minecraft/server/NBTTagCompound.java
|
+++ b/src/main/java/net/minecraft/server/NBTTagCompound.java
|
||||||
|
@@ -0,0 +0,0 @@ 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));
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +0,0 @@ public class NBTTagCompound implements NBTBase {
|
@@ -0,0 +0,0 @@ public class NBTTagCompound implements NBTBase {
|
||||||
@Nullable public UUID getUUID(String prefix) { return a(prefix); } // Paper - OBFHELPER
|
@Nullable public UUID getUUID(String prefix) { return a(prefix); } // Paper - OBFHELPER
|
||||||
@Nullable
|
@Nullable
|
||||||
public UUID a(String s) {
|
public UUID a(String s) {
|
||||||
+ // Paper start - support old format
|
+ // 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"));
|
+ return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least"));
|
||||||
+ }
|
+ }
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
@@ -26,7 +39,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||||||
public final boolean hasUUID(String s) { return this.b(s); } // Paper - OBFHELPER
|
public final boolean hasUUID(String s) { return this.b(s); } // Paper - OBFHELPER
|
||||||
public boolean b(String s) {
|
public boolean b(String s) {
|
||||||
+ // Paper start - support old format
|
+ // 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;
|
+ return true;
|
||||||
+ }
|
+ }
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
|
Reference in New Issue
Block a user