adding toggle imports from ZNpcs

This commit is contained in:
D3v1s0m 2023-09-17 21:53:20 +05:30
parent 9d17a5bdd3
commit d48e4bc2b2
No known key found for this signature in database
GPG Key ID: FA1F770C7B1D40C1
2 changed files with 25 additions and 0 deletions

@ -28,13 +28,16 @@ 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.MirrorDescriptor;
import lol.pyr.znpcsplus.skin.descriptor.PrefetchedDescriptor;
import lol.pyr.znpcsplus.util.BungeeConnector;
import lol.pyr.znpcsplus.util.ItemSerializationUtil;
import lol.pyr.znpcsplus.util.LookType;
import lol.pyr.znpcsplus.util.NpcLocation;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import org.bukkit.DyeColor;
import org.bukkit.inventory.ItemStack;
import java.io.BufferedReader;
@ -129,6 +132,23 @@ public class ZNpcImporter implements DataImporter {
npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new PrefetchedDescriptor(new Skin(model.getSkin(), model.getSignature())));
}
Map<String, Object> toggleValues = model.getNpcToggleValues();
if (toggleValues != null) {
if (toggleValues.containsKey("look")) {
npc.setProperty(propertyRegistry.getByName("look", LookType.class), LookType.CLOSEST_PLAYER);
}
if (toggleValues.containsKey("mirror")) {
npc.setProperty(propertyRegistry.getByName("skin", SkinDescriptor.class), new MirrorDescriptor(skinCache));
}
if (toggleValues.containsKey("glow")) {
try {
npc.setProperty(propertyRegistry.getByName("glow", DyeColor.class), DyeColor.valueOf((String) toggleValues.get("glow")));
} catch (IllegalArgumentException e) {
npc.setProperty(propertyRegistry.getByName("glow", DyeColor.class), DyeColor.WHITE);
}
}
}
NpcEntryImpl entry = new NpcEntryImpl(String.valueOf(model.getId()), npc);
entry.enableEverything();
entries.add(entry);

@ -19,6 +19,7 @@ public class ZNpcsModel {
private List<String> hologramLines;
private List<ZNpcsAction> clickActions;
private Map<String, String> npcEquip;
private Map<String, Object> npcToggleValues;
private Map<String, String[]> customizationMap;
public int getId() {
@ -57,6 +58,10 @@ public class ZNpcsModel {
return npcEquip;
}
public Map<String, Object> getNpcToggleValues() {
return npcToggleValues;
}
public Map<String, String[]> getCustomizationMap() {
return customizationMap;
}