From 31e64a15fef869d7acb3789e6c21a1f9b68fef90 Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Sat, 5 Aug 2023 20:53:10 +0200 Subject: [PATCH] properly import skins that weren't set with a player name --- .../pyr/znpcsplus/conversion/znpcs/ZNpcImporter.java | 5 +++++ .../znpcsplus/conversion/znpcs/model/ZNpcsModel.java | 11 +++++++++++ 2 files changed, 16 insertions(+) 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 0acc01e..e733538 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 @@ -27,8 +27,10 @@ import lol.pyr.znpcsplus.npc.NpcImpl; import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; +import lol.pyr.znpcsplus.skin.Skin; import lol.pyr.znpcsplus.skin.cache.MojangSkinCache; import lol.pyr.znpcsplus.skin.descriptor.FetchingDescriptor; +import lol.pyr.znpcsplus.skin.descriptor.PrefetchedDescriptor; import lol.pyr.znpcsplus.util.BungeeConnector; import lol.pyr.znpcsplus.util.ItemSerializationUtil; import lol.pyr.znpcsplus.util.NpcLocation; @@ -123,6 +125,9 @@ public class ZNpcImporter implements DataImporter { if (model.getSkinName() != null) { npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new FetchingDescriptor(skinCache, model.getSkinName())); } + else if (model.getSkin() != null && model.getSignature() != null) { + npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new PrefetchedDescriptor(new Skin(model.getSkin(), model.getSignature()))); + } NpcEntryImpl entry = new NpcEntryImpl(String.valueOf(model.getId()), npc); entry.enableEverything(); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/model/ZNpcsModel.java b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/model/ZNpcsModel.java index 8ab73a3..4502b23 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/model/ZNpcsModel.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/znpcs/model/ZNpcsModel.java @@ -10,6 +10,9 @@ public class ZNpcsModel { private UUID uuid; private double hologramHeight; private String skinName; + private String skin; + private String signature; + private String glowName; private ZNpcsLocation location; private String npcType; @@ -57,4 +60,12 @@ public class ZNpcsModel { public Map getCustomizationMap() { return customizationMap; } + + public String getSkin() { + return skin; + } + + public String getSignature() { + return signature; + } } \ No newline at end of file