From 0a60278fc03c71ed1b58f74eeecc27c5bc92a595 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Sun, 17 Sep 2023 11:47:16 -0400 Subject: Fix missing head textures (most of them) --- .../xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/main/java/me') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java index d420d54f..6884c7c1 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java @@ -61,11 +61,12 @@ public class ItemStackBuilder { String nbttag = obj.get("nbttag").getAsString(); // add skull texture - Matcher skullMatcher = Pattern.compile("SkullOwner:\\{Id:\"(.{36})\",Properties:\\{textures:\\[0:\\{Value:\"(.+)\"}]}}").matcher(nbttag); - if (skullMatcher.find()) { + Matcher skullUuid = Pattern.compile("(?:(?<=SkullOwner:\\{)Id:\"(.{36})\")").matcher(nbttag); + Matcher skullTexture = Pattern.compile("(?:(?<=Properties:\\{textures:\\[0:\\{Value:)\"(.+?)\")").matcher(nbttag); + if (skullUuid.find() && skullTexture.find()) { NbtCompound skullOwner = new NbtCompound(); tag.put("SkullOwner", skullOwner); - UUID uuid = UUID.fromString(skullMatcher.group(1)); + UUID uuid = UUID.fromString(skullUuid.group(1)); skullOwner.put("Id", NbtHelper.fromUuid(uuid)); skullOwner.put("Name", NbtString.of(internalName)); @@ -75,7 +76,7 @@ public class ItemStackBuilder { properties.put("textures", textures); NbtCompound texture = new NbtCompound(); textures.add(texture); - texture.put("Value", NbtString.of(skullMatcher.group(2))); + texture.put("Value", NbtString.of(skullTexture.group(1))); } // add leather armor dye color Matcher colorMatcher = Pattern.compile("color:(\\d+)").matcher(nbttag); -- cgit