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(); } + }