if (Config.ALLOW_GMSHOP)
spawn("[gm_shop]");
if (Config.ALLOW_AUCTIONER)
spawn("[auctioner]");
if (Config.ALLOW_GLOBAL_SERVICES)
spawn("[global_services]");
if (Config.ALLOW_PVP_EVENT_MANAGER)
spawn("[pvp_event_manager]");
if (Config.ALLOW_TREASURE_BOX)
spawn("[treasure_box]");
if (Config.SERVICES_ALLOW_LOTTERY)
spawn("[lotto_manager]");
if (!Config.ALLOW_CLASS_MASTERS_LIST.isEmpty())
spawn("class_master");
}
public void spawn(String group) {
List<Spawner> spawnerList = getSpawners(group);
if (spawnerList == null) {
return;
}
int npcSpawnCount = 0;
for (Spawner spawner : spawnerList) {
npcSpawnCount += spawner.init();
if (npcSpawnCount % 1000 == 0 && npcSpawnCount != 0)
_log.info("SpawnManager: spawned " + npcSpawnCount + " npc for group: " + group);
}
_log.info("SpawnManager: spawned " + npcSpawnCount + " npc; spawns: " + spawnerList.size() + "; group: " + group);
}
public void despawn(String group) {
List<Spawner> spawnerList = _spawns.get(group);
if (spawnerList == null)
return;
for (Spawner spawner : spawnerList)
spawner.deleteAll();
}
public List<Spawner> getSpawners(String group) {
List<Spawner> list = _spawns.get(group);
return list == null ? Collections.<Spawner>emptyList() : list;
}
public void reloadAll() {
RaidBossSpawnManager.getInstance().cleanUp();
for (List<Spawner> spawnerList : _spawns.values())
for (Spawner spawner : spawnerList)
spawner.deleteAll();
RaidBossSpawnManager.getInstance().reloadBosses();
spawnAll();
//FIXME [VISTALL] придумать другой способ
if (SevenSigns.getInstance().getCurrentPeriod() == SevenSigns.PERIOD_SEAL_VALIDATION)
SevenSigns.getInstance().getCabalHighestScore();