changed to use static npc registry instead of NpcApiProvider
This commit is contained in:
parent
1008d31df0
commit
747e6b92be
3 changed files with 10 additions and 7 deletions
|
@ -145,7 +145,7 @@ public class ZNpcsPlus extends JavaPlugin {
|
||||||
|
|
||||||
DataImporterRegistry importerRegistry = new DataImporterRegistry(configManager, adventure, bungeeConnector,
|
DataImporterRegistry importerRegistry = new DataImporterRegistry(configManager, adventure, bungeeConnector,
|
||||||
scheduler, packetFactory, textSerializer, typeRegistry, getDataFolder().getParentFile(),
|
scheduler, packetFactory, textSerializer, typeRegistry, getDataFolder().getParentFile(),
|
||||||
propertyRegistry, skinCache);
|
propertyRegistry, skinCache, npcRegistry);
|
||||||
|
|
||||||
log(ChatColor.WHITE + " * Registerring components...");
|
log(ChatColor.WHITE + " * Registerring components...");
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import lol.pyr.znpcsplus.config.ConfigManager;
|
||||||
import lol.pyr.znpcsplus.conversion.citizens.CitizensImporter;
|
import lol.pyr.znpcsplus.conversion.citizens.CitizensImporter;
|
||||||
import lol.pyr.znpcsplus.conversion.znpcs.ZNpcImporter;
|
import lol.pyr.znpcsplus.conversion.znpcs.ZNpcImporter;
|
||||||
import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl;
|
import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl;
|
||||||
|
import lol.pyr.znpcsplus.npc.NpcRegistryImpl;
|
||||||
import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl;
|
import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl;
|
||||||
import lol.pyr.znpcsplus.packets.PacketFactory;
|
import lol.pyr.znpcsplus.packets.PacketFactory;
|
||||||
import lol.pyr.znpcsplus.scheduling.TaskScheduler;
|
import lol.pyr.znpcsplus.scheduling.TaskScheduler;
|
||||||
|
@ -25,14 +26,14 @@ public class DataImporterRegistry {
|
||||||
public DataImporterRegistry(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector,
|
public DataImporterRegistry(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector,
|
||||||
TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer,
|
TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer,
|
||||||
NpcTypeRegistryImpl typeRegistry, File pluginsFolder, EntityPropertyRegistryImpl propertyRegistry,
|
NpcTypeRegistryImpl typeRegistry, File pluginsFolder, EntityPropertyRegistryImpl propertyRegistry,
|
||||||
MojangSkinCache skinCache) {
|
MojangSkinCache skinCache, NpcRegistryImpl npcRegistry) {
|
||||||
|
|
||||||
register("znpcs", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, bungeeConnector, taskScheduler,
|
register("znpcs", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, bungeeConnector, taskScheduler,
|
||||||
packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "ServersNPC/data.json"))));
|
packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "ServersNPC/data.json"))));
|
||||||
register("znpcsplus_legacy", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, bungeeConnector, taskScheduler,
|
register("znpcsplus_legacy", LazyLoader.of(() -> new ZNpcImporter(configManager, adventure, bungeeConnector, taskScheduler,
|
||||||
packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "ZNPCsPlusLegacy/data.json"))));
|
packetFactory, textSerializer, typeRegistry, propertyRegistry, skinCache, new File(pluginsFolder, "ZNPCsPlusLegacy/data.json"))));
|
||||||
register("citizens", LazyLoader.of(() -> new CitizensImporter(configManager, adventure, bungeeConnector, taskScheduler,
|
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<DataImporter> loader) {
|
private void register(String id, LazyLoader<DataImporter> loader) {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package lol.pyr.znpcsplus.conversion.citizens;
|
package lol.pyr.znpcsplus.conversion.citizens;
|
||||||
|
|
||||||
import lol.pyr.znpcsplus.api.NpcApiProvider;
|
|
||||||
import lol.pyr.znpcsplus.config.ConfigManager;
|
import lol.pyr.znpcsplus.config.ConfigManager;
|
||||||
import lol.pyr.znpcsplus.conversion.DataImporter;
|
import lol.pyr.znpcsplus.conversion.DataImporter;
|
||||||
import lol.pyr.znpcsplus.conversion.citizens.model.CitizensTrait;
|
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.entity.EntityPropertyRegistryImpl;
|
||||||
import lol.pyr.znpcsplus.npc.NpcEntryImpl;
|
import lol.pyr.znpcsplus.npc.NpcEntryImpl;
|
||||||
import lol.pyr.znpcsplus.npc.NpcImpl;
|
import lol.pyr.znpcsplus.npc.NpcImpl;
|
||||||
|
import lol.pyr.znpcsplus.npc.NpcRegistryImpl;
|
||||||
import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl;
|
import lol.pyr.znpcsplus.npc.NpcTypeRegistryImpl;
|
||||||
import lol.pyr.znpcsplus.packets.PacketFactory;
|
import lol.pyr.znpcsplus.packets.PacketFactory;
|
||||||
import lol.pyr.znpcsplus.scheduling.TaskScheduler;
|
import lol.pyr.znpcsplus.scheduling.TaskScheduler;
|
||||||
|
@ -39,11 +39,12 @@ public class CitizensImporter implements DataImporter {
|
||||||
private final MojangSkinCache skinCache;
|
private final MojangSkinCache skinCache;
|
||||||
private final File dataFile;
|
private final File dataFile;
|
||||||
private final CitizensTraitsRegistry traitsRegistry;
|
private final CitizensTraitsRegistry traitsRegistry;
|
||||||
|
private final NpcRegistryImpl npcRegistry;
|
||||||
|
|
||||||
public CitizensImporter(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector,
|
public CitizensImporter(ConfigManager configManager, BukkitAudiences adventure, BungeeConnector bungeeConnector,
|
||||||
TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer,
|
TaskScheduler taskScheduler, PacketFactory packetFactory, LegacyComponentSerializer textSerializer,
|
||||||
NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry, MojangSkinCache skinCache,
|
NpcTypeRegistryImpl typeRegistry, EntityPropertyRegistryImpl propertyRegistry, MojangSkinCache skinCache,
|
||||||
File dataFile) {
|
File dataFile, NpcRegistryImpl npcRegistry) {
|
||||||
this.configManager = configManager;
|
this.configManager = configManager;
|
||||||
this.adventure = adventure;
|
this.adventure = adventure;
|
||||||
this.bungeeConnector = bungeeConnector;
|
this.bungeeConnector = bungeeConnector;
|
||||||
|
@ -55,6 +56,7 @@ public class CitizensImporter implements DataImporter {
|
||||||
this.skinCache = skinCache;
|
this.skinCache = skinCache;
|
||||||
this.dataFile = dataFile;
|
this.dataFile = dataFile;
|
||||||
this.traitsRegistry = new CitizensTraitsRegistry(typeRegistry, propertyRegistry, skinCache);
|
this.traitsRegistry = new CitizensTraitsRegistry(typeRegistry, propertyRegistry, skinCache);
|
||||||
|
this.npcRegistry = npcRegistry;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -96,8 +98,8 @@ public class CitizensImporter implements DataImporter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String id = key.toLowerCase();
|
String id = key.toLowerCase();
|
||||||
while (NpcApiProvider.get().getNpcRegistry().getById(id) != null) {
|
while (npcRegistry.getById(id) != null) {
|
||||||
id += "_";
|
id += "_"; // TODO: make a backup of the old npc instead
|
||||||
}
|
}
|
||||||
NpcEntryImpl entry = new NpcEntryImpl(id, npc);
|
NpcEntryImpl entry = new NpcEntryImpl(id, npc);
|
||||||
entry.enableEverything();
|
entry.enableEverything();
|
||||||
|
|
Loading…
Reference in a new issue