From 02584503837709e6e0d904ea4662c3d4e97fa07c Mon Sep 17 00:00:00 2001 From: Mqzn Date: Thu, 20 Mar 2025 15:05:58 +0200 Subject: [PATCH 1/4] Added skin descriptor fetching by UUID --- .../api/skin/SkinDescriptorFactory.java | 2 + .../pyr/znpcsplus/commands/SkinCommand.java | 4 +- .../conversion/znpcs/ZNpcImporter.java | 4 +- .../znpcsplus/skin/BaseSkinDescriptor.java | 4 +- .../skin/SkinDescriptorFactoryImpl.java | 11 ++++- ...iptor.java => NameFetchingDescriptor.java} | 4 +- .../descriptor/UUIDFetchingDescriptor.java | 41 +++++++++++++++++++ 7 files changed, 60 insertions(+), 10 deletions(-) rename plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/{FetchingDescriptor.java => NameFetchingDescriptor.java} (87%) create mode 100644 plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/UUIDFetchingDescriptor.java diff --git a/api/src/main/java/lol/pyr/znpcsplus/api/skin/SkinDescriptorFactory.java b/api/src/main/java/lol/pyr/znpcsplus/api/skin/SkinDescriptorFactory.java index c5573e7..46d979a 100644 --- a/api/src/main/java/lol/pyr/znpcsplus/api/skin/SkinDescriptorFactory.java +++ b/api/src/main/java/lol/pyr/znpcsplus/api/skin/SkinDescriptorFactory.java @@ -1,6 +1,7 @@ package lol.pyr.znpcsplus.api.skin; import java.net.URL; +import java.util.UUID; /** * Factory for creating skin descriptors. @@ -8,6 +9,7 @@ import java.net.URL; public interface SkinDescriptorFactory { SkinDescriptor createMirrorDescriptor(); SkinDescriptor createRefreshingDescriptor(String playerName); + SkinDescriptor createRefreshingDescriptor(UUID playerUUID); SkinDescriptor createStaticDescriptor(String playerName); SkinDescriptor createStaticDescriptor(String texture, String signature); SkinDescriptor createUrlDescriptor(String url, String variant); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/commands/SkinCommand.java b/plugin/src/main/java/lol/pyr/znpcsplus/commands/SkinCommand.java index 485b866..48fa332 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/commands/SkinCommand.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/commands/SkinCommand.java @@ -11,7 +11,7 @@ import lol.pyr.znpcsplus.npc.NpcImpl; import lol.pyr.znpcsplus.npc.NpcRegistryImpl; import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; -import lol.pyr.znpcsplus.skin.descriptor.FetchingDescriptor; +import lol.pyr.znpcsplus.skin.descriptor.NameFetchingDescriptor; import lol.pyr.znpcsplus.skin.descriptor.MirrorDescriptor; import lol.pyr.znpcsplus.skin.descriptor.PrefetchedDescriptor; import net.kyori.adventure.text.Component; @@ -67,7 +67,7 @@ public class SkinCommand implements CommandHandler { } else if (type.equalsIgnoreCase("dynamic")) { context.ensureArgsNotEmpty(); String name = context.dumpAllArgs(); - npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new FetchingDescriptor(skinCache, name)); + npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new NameFetchingDescriptor(skinCache, name)); npc.respawn(); context.halt(Component.text("The NPC's skin will now be resolved per-player from \"" + name + "\"")); } else if (type.equalsIgnoreCase("url")) { diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java index 604347f..024c66c 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java @@ -25,7 +25,7 @@ import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; import lol.pyr.znpcsplus.skin.SkinImpl; import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; -import lol.pyr.znpcsplus.skin.descriptor.FetchingDescriptor; +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.util.BungeeConnector; @@ -175,7 +175,7 @@ public class ZNpcImporter implements DataImporter { } if (model.getSkinName() != null) { - npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new FetchingDescriptor(skinCache, model.getSkinName())); + npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new NameFetchingDescriptor(skinCache, model.getSkinName())); } else if (model.getSkin() != null && model.getSignature() != null) { npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new PrefetchedDescriptor(new SkinImpl(model.getSkin(), model.getSignature()))); 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 65e6e7d..6d55f62 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java @@ -3,7 +3,7 @@ package lol.pyr.znpcsplus.skin; import com.github.retrooper.packetevents.protocol.player.TextureProperty; import lol.pyr.znpcsplus.api.skin.SkinDescriptor; import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; -import lol.pyr.znpcsplus.skin.descriptor.FetchingDescriptor; +import lol.pyr.znpcsplus.skin.descriptor.NameFetchingDescriptor; import lol.pyr.znpcsplus.skin.descriptor.MirrorDescriptor; import lol.pyr.znpcsplus.skin.descriptor.PrefetchedDescriptor; import org.bukkit.entity.Player; @@ -22,7 +22,7 @@ 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 FetchingDescriptor(skinCache, String.join(";", Arrays.copyOfRange(arr, 1, arr.length))); + else if (arr[0].equalsIgnoreCase("fetching")) return new NameFetchingDescriptor(skinCache, 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/SkinDescriptorFactoryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/skin/SkinDescriptorFactoryImpl.java index b4557e6..10a8cea 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/skin/SkinDescriptorFactoryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/SkinDescriptorFactoryImpl.java @@ -3,12 +3,14 @@ package lol.pyr.znpcsplus.skin; import lol.pyr.znpcsplus.api.skin.SkinDescriptor; import lol.pyr.znpcsplus.api.skin.SkinDescriptorFactory; import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; -import lol.pyr.znpcsplus.skin.descriptor.FetchingDescriptor; +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 java.net.MalformedURLException; import java.net.URL; +import java.util.UUID; public class SkinDescriptorFactoryImpl implements SkinDescriptorFactory { private final MojangSkinCache skinCache; @@ -26,7 +28,12 @@ public class SkinDescriptorFactoryImpl implements SkinDescriptorFactory { @Override public SkinDescriptor createRefreshingDescriptor(String playerName) { - return new FetchingDescriptor(skinCache, playerName); + return new NameFetchingDescriptor(skinCache, playerName); + } + + @Override + public SkinDescriptor createRefreshingDescriptor(UUID playerUUID) { + return new UUIDFetchingDescriptor(skinCache, playerUUID); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/FetchingDescriptor.java b/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/NameFetchingDescriptor.java similarity index 87% rename from plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/FetchingDescriptor.java rename to plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/NameFetchingDescriptor.java index d99ad2c..00d4521 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/FetchingDescriptor.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/NameFetchingDescriptor.java @@ -9,11 +9,11 @@ import org.bukkit.entity.Player; import java.util.concurrent.CompletableFuture; -public class FetchingDescriptor implements BaseSkinDescriptor, SkinDescriptor { +public class NameFetchingDescriptor implements BaseSkinDescriptor, SkinDescriptor { private final MojangSkinCache skinCache; private final String name; - public FetchingDescriptor(MojangSkinCache skinCache, String name) { + public NameFetchingDescriptor(MojangSkinCache skinCache, String name) { this.skinCache = skinCache; this.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 new file mode 100644 index 0000000..4406bbd --- /dev/null +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/descriptor/UUIDFetchingDescriptor.java @@ -0,0 +1,41 @@ +package lol.pyr.znpcsplus.skin.descriptor; + +import lol.pyr.znpcsplus.api.skin.SkinDescriptor; +import lol.pyr.znpcsplus.skin.BaseSkinDescriptor; +import lol.pyr.znpcsplus.skin.SkinImpl; +import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; +import org.bukkit.entity.Player; + +import java.util.UUID; +import java.util.concurrent.CompletableFuture; + +public class UUIDFetchingDescriptor implements BaseSkinDescriptor, SkinDescriptor { + + private final MojangSkinCache skinCache; + private final UUID uuid; + + public UUIDFetchingDescriptor(MojangSkinCache skinCache, UUID uuid) { + this.skinCache = skinCache; + this.uuid = uuid; + } + + @Override + public CompletableFuture fetch(Player player) { + return skinCache.fetchByUUID(uuid.toString()); + } + + @Override + public SkinImpl fetchInstant(Player player) { + return fetch(player).join(); + } + + @Override + public boolean supportsInstant(Player player) { + return false; + } + + @Override + public String serialize() { + return "fetching;" + uuid.toString(); + } +} From 33e79e8543a9d1f6eac5acdfe33c6a4f59b2efda Mon Sep 17 00:00:00 2001 From: Mqzn Date: Sat, 22 Mar 2025 16:03:11 +0200 Subject: [PATCH 2/4] 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(); } + } From d9ed69eecd409d09375d3e57ebe8cd5fe3d87d70 Mon Sep 17 00:00:00 2001 From: Mqzn Date: Sat, 22 Mar 2025 19:44:32 +0200 Subject: [PATCH 3/4] Made it compatible with old npc files --- .../pyr/znpcsplus/skin/BaseSkinDescriptor.java | 9 +++++---- .../skin/descriptor/NameFetchingDescriptor.java | 2 +- .../skin/descriptor/UUIDFetchingDescriptor.java | 2 +- .../java/lol/pyr/znpcsplus/util/UUIDUtil.java | 16 ++++++++++++++++ 4 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 plugin/src/main/java/lol/pyr/znpcsplus/util/UUIDUtil.java 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 59f6a36..66dd9a4 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java @@ -7,6 +7,7 @@ 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 lol.pyr.znpcsplus.util.UUIDUtil; import org.bukkit.entity.Player; import java.util.ArrayList; @@ -24,10 +25,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-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("fetching")) { + String value = String.join(";", Arrays.copyOfRange(arr, 1, arr.length)); + return UUIDUtil.isUUID(value) ? new UUIDFetchingDescriptor(skinCache, UUID.fromString(value)) : new NameFetchingDescriptor(skinCache, value); + } 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 48ac7e6..00d4521 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;" + name; + return "fetching;" + 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 685c786..d4db046 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,7 +36,7 @@ public class UUIDFetchingDescriptor implements BaseSkinDescriptor, SkinDescripto @Override public String serialize() { - return "fetching-uuid;" + uuid.toString(); + return "fetching;" + uuid.toString(); } } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/util/UUIDUtil.java b/plugin/src/main/java/lol/pyr/znpcsplus/util/UUIDUtil.java new file mode 100644 index 0000000..c85b73e --- /dev/null +++ b/plugin/src/main/java/lol/pyr/znpcsplus/util/UUIDUtil.java @@ -0,0 +1,16 @@ +package lol.pyr.znpcsplus.util; + + +import java.util.regex.Pattern; + +public final class UUIDUtil { + + + public final static Pattern UUID_REGEX = + Pattern.compile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"); + + public static boolean isUUID(String uuid) { + return UUID_REGEX.matcher(uuid).matches(); + } + +} From 04b57fc8ea31e8bb232fad6fc27a3e915766a305 Mon Sep 17 00:00:00 2001 From: Mqzn Date: Thu, 27 Mar 2025 20:31:33 +0200 Subject: [PATCH 4/4] Removed unnecessary code --- .../pyr/znpcsplus/skin/BaseSkinDescriptor.java | 9 ++++++--- .../skin/descriptor/UUIDFetchingDescriptor.java | 2 +- .../java/lol/pyr/znpcsplus/util/UUIDUtil.java | 16 ---------------- 3 files changed, 7 insertions(+), 20 deletions(-) delete mode 100644 plugin/src/main/java/lol/pyr/znpcsplus/util/UUIDUtil.java 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 66dd9a4..1fe1623 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/skin/BaseSkinDescriptor.java @@ -7,7 +7,6 @@ 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 lol.pyr.znpcsplus.util.UUIDUtil; import org.bukkit.entity.Player; import java.util.ArrayList; @@ -25,9 +24,13 @@ 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")) { + else if (arr[0].equalsIgnoreCase("fetching-uuid")) { String value = String.join(";", Arrays.copyOfRange(arr, 1, arr.length)); - return UUIDUtil.isUUID(value) ? new UUIDFetchingDescriptor(skinCache, UUID.fromString(value)) : new NameFetchingDescriptor(skinCache, value); + return new UUIDFetchingDescriptor(skinCache, UUID.fromString(value)); + } + else if(arr[0].equalsIgnoreCase("fetching")) { + String value = String.join(";", Arrays.copyOfRange(arr, 1, arr.length)); + return new NameFetchingDescriptor(skinCache, value); } else if (arr[0].equalsIgnoreCase("prefetched")) { List properties = new ArrayList<>(); 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 d4db046..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,7 +36,7 @@ public class UUIDFetchingDescriptor implements BaseSkinDescriptor, SkinDescripto @Override public String serialize() { - return "fetching;" + uuid.toString(); + return "fetching-uuid;" + uuid.toString(); } } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/util/UUIDUtil.java b/plugin/src/main/java/lol/pyr/znpcsplus/util/UUIDUtil.java deleted file mode 100644 index c85b73e..0000000 --- a/plugin/src/main/java/lol/pyr/znpcsplus/util/UUIDUtil.java +++ /dev/null @@ -1,16 +0,0 @@ -package lol.pyr.znpcsplus.util; - - -import java.util.regex.Pattern; - -public final class UUIDUtil { - - - public final static Pattern UUID_REGEX = - Pattern.compile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"); - - public static boolean isUUID(String uuid) { - return UUID_REGEX.matcher(uuid).matches(); - } - -}