adding toggle imports from ZNpcs
This commit is contained in:
parent
9d17a5bdd3
commit
d48e4bc2b2
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.Skin;
|
||||||
import lol.pyr.znpcsplus.skin.cache.MojangSkinCache;
|
import lol.pyr.znpcsplus.skin.cache.MojangSkinCache;
|
||||||
import lol.pyr.znpcsplus.skin.descriptor.FetchingDescriptor;
|
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.skin.descriptor.PrefetchedDescriptor;
|
||||||
import lol.pyr.znpcsplus.util.BungeeConnector;
|
import lol.pyr.znpcsplus.util.BungeeConnector;
|
||||||
import lol.pyr.znpcsplus.util.ItemSerializationUtil;
|
import lol.pyr.znpcsplus.util.ItemSerializationUtil;
|
||||||
|
import lol.pyr.znpcsplus.util.LookType;
|
||||||
import lol.pyr.znpcsplus.util.NpcLocation;
|
import lol.pyr.znpcsplus.util.NpcLocation;
|
||||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||||
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
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())));
|
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);
|
NpcEntryImpl entry = new NpcEntryImpl(String.valueOf(model.getId()), npc);
|
||||||
entry.enableEverything();
|
entry.enableEverything();
|
||||||
entries.add(entry);
|
entries.add(entry);
|
||||||
|
|
|
@ -19,6 +19,7 @@ public class ZNpcsModel {
|
||||||
private List<String> hologramLines;
|
private List<String> hologramLines;
|
||||||
private List<ZNpcsAction> clickActions;
|
private List<ZNpcsAction> clickActions;
|
||||||
private Map<String, String> npcEquip;
|
private Map<String, String> npcEquip;
|
||||||
|
private Map<String, Object> npcToggleValues;
|
||||||
private Map<String, String[]> customizationMap;
|
private Map<String, String[]> customizationMap;
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
|
@ -57,6 +58,10 @@ public class ZNpcsModel {
|
||||||
return npcEquip;
|
return npcEquip;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<String, Object> getNpcToggleValues() {
|
||||||
|
return npcToggleValues;
|
||||||
|
}
|
||||||
|
|
||||||
public Map<String, String[]> getCustomizationMap() {
|
public Map<String, String[]> getCustomizationMap() {
|
||||||
return customizationMap;
|
return customizationMap;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue