From 33e79e8543a9d1f6eac5acdfe33c6a4f59b2efda Mon Sep 17 00:00:00 2001 From: Mqzn Date: Sat, 22 Mar 2025 16:03:11 +0200 Subject: [PATCH] Adapted the serialization process to the new fetching descriptors --- .../java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java | 7 ++++++- .../znpcsplus/skin/descriptor/NameFetchingDescriptor.java | 2 +- .../znpcsplus/skin/descriptor/UUIDFetchingDescriptor.java | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java b/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java index 6d55f62..59f6a36 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java @@ -6,11 +6,13 @@ import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; import lol.pyr.znpcsplus.skin.descriptor.NameFetchingDescriptor; import lol.pyr.znpcsplus.skin.descriptor.MirrorDescriptor; import lol.pyr.znpcsplus.skin.descriptor.PrefetchedDescriptor; +import lol.pyr.znpcsplus.skin.descriptor.UUIDFetchingDescriptor; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import java.util.concurrent.CompletableFuture; public interface BaseSkinDescriptor extends SkinDescriptor { @@ -22,7 +24,10 @@ public interface BaseSkinDescriptor extends SkinDescriptor { static BaseSkinDescriptor deserialize(MojangSkinCache skinCache, String str) { String[] arr = str.split(";"); if (arr[0].equalsIgnoreCase("mirror")) return new MirrorDescriptor(skinCache); - else if (arr[0].equalsIgnoreCase("fetching")) return new NameFetchingDescriptor(skinCache, String.join(";", Arrays.copyOfRange(arr, 1, arr.length))); + else if (arr[0].equalsIgnoreCase("fetching-name")) + return new NameFetchingDescriptor(skinCache, String.join(";", Arrays.copyOfRange(arr, 1, arr.length))); + else if(arr[0].equalsIgnoreCase("fetching-uuid")) + return new UUIDFetchingDescriptor(skinCache, UUID.fromString(String.join(";", Arrays.copyOfRange(arr, 1, arr.length)))); else if (arr[0].equalsIgnoreCase("prefetched")) { List properties = new ArrayList<>(); for (int i = 0; i < (arr.length - 1) / 3; i++) { diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/NameFetchingDescriptor.java b/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/NameFetchingDescriptor.java index 00d4521..48ac7e6 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/NameFetchingDescriptor.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/NameFetchingDescriptor.java @@ -39,6 +39,6 @@ public class NameFetchingDescriptor implements BaseSkinDescriptor, SkinDescripto @Override public String serialize() { - return "fetching;" + name; + return "fetching-name;" + name; } } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/UUIDFetchingDescriptor.java b/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/UUIDFetchingDescriptor.java index 4406bbd..685c786 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/UUIDFetchingDescriptor.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/UUIDFetchingDescriptor.java @@ -36,6 +36,7 @@ public class UUIDFetchingDescriptor implements BaseSkinDescriptor, SkinDescripto @Override public String serialize() { - return "fetching;" + uuid.toString(); + return "fetching-uuid;" + uuid.toString(); } + }