From 747e6b92beb43cd5bbc4a840c464da0d25c2fa81 Mon Sep 17 00:00:00 2001 From: D3v1s0m Date: Tue, 12 Sep 2023 21:49:53 +0530 Subject: [PATCH] changed to use static npc registry instead of NpcApiProvider --- plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java | 2 +- .../pyr/znpcsplus/conversion/DataImporterRegistry.java | 5 +++-- .../conversion/citizens/CitizensImporter.java | 10 ++++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java index 04458b4..1e23b92 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java @@ -145,7 +145,7 @@ public class ZNpcsPlus extends JavaPlugin { DataImporterRegistry importerRegistry = new DataImporterRegistry(configManager, adventure, bungeeConnector, scheduler, packetFactory, textSerializer, typeRegistry, getDataFolder().getParentFile(), - propertyRegistry, skinCache); + propertyRegistry, skinCache, npcRegistry); log(ChatColor.WHITE + " * Registerring components..."); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/DataImporterRegistry.java b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/DataImporterRegistry.java index 55d1012..a162529 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/DataImporterRegistry.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/DataImporterRegistry.java @@ -4,6 +4,7 @@ import lol.pyr.znpcsplus.config.ConfigManager; import lol.pyr.znpcsplus.conversion.citizens.CitizensImporter; import lol.pyr.znpcsplus.conversion.znpcs.ZNpcImporter; import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; +import lol.pyr.znpcsplus.npc.NpcRegistryImpl; import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; @@ -25,14 +26,14 @@ public class DataImporterRegistry { public DataImporterRegistry(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector, TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer, NpcTypeRegistryImpl typeRegistry, File pluginsFolder, EntityPropertyRegistryImpl propertyRegistry, - MojangSkinCache skinCache) { + MojangSkinCache skinCache, NpcRegistryImpl npcRegistry) { register("znpcs", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, bungeeConnector, taskScheduler, packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "ServersNPC/data.json")))); register("znpcsplus_legacy", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, bungeeConnector, taskScheduler, packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "ZNPCsPlusLegacy/data.json")))); register("citizens", LazyLoader.of(() -> new CitizensImporter(configManager, adventure, bungeeConnector, taskScheduler, - packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "Citizens/saves.yml")))); + packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "Citizens/saves.yml"), npcRegistry))); } private void register(String id, LazyLoader loader) { diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/citizens/CitizensImporter.java b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/citizens/CitizensImporter.java index 86e3895..003ad69 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/conversion/citizens/CitizensImporter.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/conversion/citizens/CitizensImporter.java @@ -1,6 +1,5 @@ package lol.pyr.znpcsplus.conversion.citizens; -import lol.pyr.znpcsplus.api.NpcApiProvider; import lol.pyr.znpcsplus.config.ConfigManager; import lol.pyr.znpcsplus.conversion.DataImporter; import lol.pyr.znpcsplus.conversion.citizens.model.CitizensTrait; @@ -8,6 +7,7 @@ import lol.pyr.znpcsplus.conversion.citizens.model.CitizensTraitsRegistry; import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.npc.NpcEntryImpl; import lol.pyr.znpcsplus.npc.NpcImpl; +import lol.pyr.znpcsplus.npc.NpcRegistryImpl; import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl; import lol.pyr.znpcsplus.packets.PacketFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; @@ -39,11 +39,12 @@ public class CitizensImporter implements DataImporter { private final MojangSkinCache skinCache; private final File dataFile; private final CitizensTraitsRegistry traitsRegistry; + private final NpcRegistryImpl npcRegistry; public CitizensImporter(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector, TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer, NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry, MojangSkinCache skinCache, - File dataFile) { + File dataFile, NpcRegistryImpl npcRegistry) { this.configManager = configManager; this.adventure = adventure; this.bungeeConnector = bungeeConnector; @@ -55,6 +56,7 @@ public class CitizensImporter implements DataImporter { this.skinCache = skinCache; this.dataFile = dataFile; this.traitsRegistry = new CitizensTraitsRegistry(typeRegistry, propertyRegistry, skinCache); + this.npcRegistry = npcRegistry; } @Override @@ -96,8 +98,8 @@ public class CitizensImporter implements DataImporter { } } String id = key.toLowerCase(); - while (NpcApiProvider.get().getNpcRegistry().getById(id) != null) { - id += "_"; + while (npcRegistry.getById(id) != null) { + id += "_"; // TODO: make a backup of the old npc instead } NpcEntryImpl entry = new NpcEntryImpl(id, npc); entry.enableEverything();