diff --git a/.gitignore b/.gitignore
index 621983d27ab0868829218e127a11353010e52705..ae64598b02d78b1bb07770a087872364762fe1b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
 /.project
 /.classpath
-/.settings/
 /.idea/
 /target/
 logs/
-test-output/
\ No newline at end of file
+test-output/
+src/main/java/com/l2jserver/datapack/quests/Q00708_PathToBecomingALordGludio/
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/AILoader.java b/src/main/java/com/l2jserver/datapack/ai/AILoader.java
new file mode 100644
index 0000000000000000000000000000000000000000..9e54d7b608451300863e91fc1d8901e2b40a07fb
--- /dev/null
+++ b/src/main/java/com/l2jserver/datapack/ai/AILoader.java
@@ -0,0 +1,413 @@
+/*
+ * Copyright © 2004-2020 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J DataPack is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.datapack.ai;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.l2jserver.datapack.ai.fantasy_isle.HandysBlockCheckerEvent;
+import com.l2jserver.datapack.ai.fantasy_isle.MC_Show;
+import com.l2jserver.datapack.ai.group_template.AltarsOfSacrifice;
+import com.l2jserver.datapack.ai.group_template.BeastFarm;
+import com.l2jserver.datapack.ai.group_template.DenOfEvil;
+import com.l2jserver.datapack.ai.group_template.DragonValley;
+import com.l2jserver.datapack.ai.group_template.FairyTrees;
+import com.l2jserver.datapack.ai.group_template.FeedableBeasts;
+import com.l2jserver.datapack.ai.group_template.FleeMonsters;
+import com.l2jserver.datapack.ai.group_template.FrozenLabyrinth;
+import com.l2jserver.datapack.ai.group_template.GiantsCave;
+import com.l2jserver.datapack.ai.group_template.HotSprings;
+import com.l2jserver.datapack.ai.group_template.IsleOfPrayer;
+import com.l2jserver.datapack.ai.group_template.LairOfAntharas;
+import com.l2jserver.datapack.ai.group_template.MinionSpawnManager;
+import com.l2jserver.datapack.ai.group_template.MonasteryOfSilence;
+import com.l2jserver.datapack.ai.group_template.NonLethalableNpcs;
+import com.l2jserver.datapack.ai.group_template.NonTalkingNpcs;
+import com.l2jserver.datapack.ai.group_template.PavelArchaic;
+import com.l2jserver.datapack.ai.group_template.PlainsOfDion;
+import com.l2jserver.datapack.ai.group_template.PlainsOfLizardman;
+import com.l2jserver.datapack.ai.group_template.PolymorphingAngel;
+import com.l2jserver.datapack.ai.group_template.PolymorphingOnAttack;
+import com.l2jserver.datapack.ai.group_template.PrimevalIsle;
+import com.l2jserver.datapack.ai.group_template.PrisonGuards;
+import com.l2jserver.datapack.ai.group_template.RaidBossCancel;
+import com.l2jserver.datapack.ai.group_template.RandomSpawn;
+import com.l2jserver.datapack.ai.group_template.RangeGuard;
+import com.l2jserver.datapack.ai.group_template.Remnants;
+import com.l2jserver.datapack.ai.group_template.Sandstorms;
+import com.l2jserver.datapack.ai.group_template.SeeThroughSilentMove;
+import com.l2jserver.datapack.ai.group_template.SelMahumDrill;
+import com.l2jserver.datapack.ai.group_template.SelMahumSquad;
+import com.l2jserver.datapack.ai.group_template.SilentValley;
+import com.l2jserver.datapack.ai.group_template.StakatoNest;
+import com.l2jserver.datapack.ai.group_template.SummonPc;
+import com.l2jserver.datapack.ai.group_template.TreasureChest;
+import com.l2jserver.datapack.ai.group_template.TurekOrcs;
+import com.l2jserver.datapack.ai.group_template.VarkaKetra;
+import com.l2jserver.datapack.ai.group_template.WarriorFishingBlock;
+import com.l2jserver.datapack.ai.individual.Anais;
+import com.l2jserver.datapack.ai.individual.Ballista;
+import com.l2jserver.datapack.ai.individual.Beleth;
+import com.l2jserver.datapack.ai.individual.BlackdaggerWing;
+import com.l2jserver.datapack.ai.individual.BleedingFly;
+import com.l2jserver.datapack.ai.individual.BloodyBerserker;
+import com.l2jserver.datapack.ai.individual.BloodyKarik;
+import com.l2jserver.datapack.ai.individual.BloodyKarinness;
+import com.l2jserver.datapack.ai.individual.Core;
+import com.l2jserver.datapack.ai.individual.CrimsonHatuOtis;
+import com.l2jserver.datapack.ai.individual.DarkWaterDragon;
+import com.l2jserver.datapack.ai.individual.DivineBeast;
+import com.l2jserver.datapack.ai.individual.DrChaos;
+import com.l2jserver.datapack.ai.individual.DrakosWarrior;
+import com.l2jserver.datapack.ai.individual.DustRider;
+import com.l2jserver.datapack.ai.individual.EmeraldHorn;
+import com.l2jserver.datapack.ai.individual.Epidos;
+import com.l2jserver.datapack.ai.individual.EvasGiftBox;
+import com.l2jserver.datapack.ai.individual.FrightenedRagnaOrc;
+import com.l2jserver.datapack.ai.individual.Gordon;
+import com.l2jserver.datapack.ai.individual.GraveRobbers;
+import com.l2jserver.datapack.ai.individual.Knoriks;
+import com.l2jserver.datapack.ai.individual.MuscleBomber;
+import com.l2jserver.datapack.ai.individual.NecromancerOfTheValley;
+import com.l2jserver.datapack.ai.individual.Orfen;
+import com.l2jserver.datapack.ai.individual.QueenAnt;
+import com.l2jserver.datapack.ai.individual.QueenShyeed;
+import com.l2jserver.datapack.ai.individual.RagnaOrcCommander;
+import com.l2jserver.datapack.ai.individual.RagnaOrcHero;
+import com.l2jserver.datapack.ai.individual.RagnaOrcSeer;
+import com.l2jserver.datapack.ai.individual.ShadowSummoner;
+import com.l2jserver.datapack.ai.individual.SinEater;
+import com.l2jserver.datapack.ai.individual.SinWardens;
+import com.l2jserver.datapack.ai.individual.Valakas;
+import com.l2jserver.datapack.ai.individual.Antharas.Antharas;
+import com.l2jserver.datapack.ai.individual.Baium.Baium;
+import com.l2jserver.datapack.ai.individual.Sailren.Sailren;
+import com.l2jserver.datapack.ai.individual.Venom.Venom;
+import com.l2jserver.datapack.ai.npc.Abercrombie.Abercrombie;
+import com.l2jserver.datapack.ai.npc.Alarm.Alarm;
+import com.l2jserver.datapack.ai.npc.Alexandria.Alexandria;
+import com.l2jserver.datapack.ai.npc.ArenaManager.ArenaManager;
+import com.l2jserver.datapack.ai.npc.Asamah.Asamah;
+import com.l2jserver.datapack.ai.npc.AvantGarde.AvantGarde;
+import com.l2jserver.datapack.ai.npc.BlackJudge.BlackJudge;
+import com.l2jserver.datapack.ai.npc.BlackMarketeerOfMammon.BlackMarketeerOfMammon;
+import com.l2jserver.datapack.ai.npc.CastleAmbassador.CastleAmbassador;
+import com.l2jserver.datapack.ai.npc.CastleBlacksmith.CastleBlacksmith;
+import com.l2jserver.datapack.ai.npc.CastleChamberlain.CastleChamberlain;
+import com.l2jserver.datapack.ai.npc.CastleCourtMagician.CastleCourtMagician;
+import com.l2jserver.datapack.ai.npc.CastleMercenaryManager.CastleMercenaryManager;
+import com.l2jserver.datapack.ai.npc.CastleSiegeManager.CastleSiegeManager;
+import com.l2jserver.datapack.ai.npc.CastleTeleporter.CastleTeleporter;
+import com.l2jserver.datapack.ai.npc.CastleWarehouse.CastleWarehouse;
+import com.l2jserver.datapack.ai.npc.ClanTrader.ClanTrader;
+import com.l2jserver.datapack.ai.npc.ClassMaster.ClassMaster;
+import com.l2jserver.datapack.ai.npc.Dorian.Dorian;
+import com.l2jserver.datapack.ai.npc.DragonVortex.DragonVortex;
+import com.l2jserver.datapack.ai.npc.EchoCrystals.EchoCrystals;
+import com.l2jserver.datapack.ai.npc.FameManager.FameManager;
+import com.l2jserver.datapack.ai.npc.Fisherman.Fisherman;
+import com.l2jserver.datapack.ai.npc.ForgeOfTheGods.ForgeOfTheGods;
+import com.l2jserver.datapack.ai.npc.ForgeOfTheGods.Rooney;
+import com.l2jserver.datapack.ai.npc.ForgeOfTheGods.TarBeetle;
+import com.l2jserver.datapack.ai.npc.FortressArcherCaptain.FortressArcherCaptain;
+import com.l2jserver.datapack.ai.npc.FortressSiegeManager.FortressSiegeManager;
+import com.l2jserver.datapack.ai.npc.FreyasSteward.FreyasSteward;
+import com.l2jserver.datapack.ai.npc.Jinia.Jinia;
+import com.l2jserver.datapack.ai.npc.Katenar.Katenar;
+import com.l2jserver.datapack.ai.npc.KetraOrcSupport.KetraOrcSupport;
+import com.l2jserver.datapack.ai.npc.Kier.Kier;
+import com.l2jserver.datapack.ai.npc.ManorManager.ManorManager;
+import com.l2jserver.datapack.ai.npc.MercenaryCaptain.MercenaryCaptain;
+import com.l2jserver.datapack.ai.npc.Minigame.Minigame;
+import com.l2jserver.datapack.ai.npc.MonumentOfHeroes.MonumentOfHeroes;
+import com.l2jserver.datapack.ai.npc.NevitsHerald.NevitsHerald;
+import com.l2jserver.datapack.ai.npc.NpcBuffers.NpcBuffers;
+import com.l2jserver.datapack.ai.npc.NpcBuffers.impl.CabaleBuffer;
+import com.l2jserver.datapack.ai.npc.PriestOfBlessing.PriestOfBlessing;
+import com.l2jserver.datapack.ai.npc.Rafforty.Rafforty;
+import com.l2jserver.datapack.ai.npc.Rignos.Rignos;
+import com.l2jserver.datapack.ai.npc.Selina.Selina;
+import com.l2jserver.datapack.ai.npc.Sirra.Sirra;
+import com.l2jserver.datapack.ai.npc.SubclassCertification.SubclassCertification;
+import com.l2jserver.datapack.ai.npc.Summons.MerchantGolem.GolemTrader;
+import com.l2jserver.datapack.ai.npc.Summons.Pets.BabyPets;
+import com.l2jserver.datapack.ai.npc.Summons.Pets.ImprovedBabyPets;
+import com.l2jserver.datapack.ai.npc.Summons.Servitors.Servitors;
+import com.l2jserver.datapack.ai.npc.SupportUnitCaptain.SupportUnitCaptain;
+import com.l2jserver.datapack.ai.npc.SymbolMaker.SymbolMaker;
+import com.l2jserver.datapack.ai.npc.Teleports.Asher.Asher;
+import com.l2jserver.datapack.ai.npc.Teleports.CrumaTower.CrumaTower;
+import com.l2jserver.datapack.ai.npc.Teleports.DelusionTeleport.DelusionTeleport;
+import com.l2jserver.datapack.ai.npc.Teleports.ElrokiTeleporters.ElrokiTeleporters;
+import com.l2jserver.datapack.ai.npc.Teleports.GatekeeperSpirit.GatekeeperSpirit;
+import com.l2jserver.datapack.ai.npc.Teleports.GhostChamberlainOfElmoreden.GhostChamberlainOfElmoreden;
+import com.l2jserver.datapack.ai.npc.Teleports.GrandBossTeleporters.GrandBossTeleporters;
+import com.l2jserver.datapack.ai.npc.Teleports.HuntingGroundsTeleport.HuntingGroundsTeleport;
+import com.l2jserver.datapack.ai.npc.Teleports.Klemis.Klemis;
+import com.l2jserver.datapack.ai.npc.Teleports.MithrilMinesTeleporter.MithrilMinesTeleporter;
+import com.l2jserver.datapack.ai.npc.Teleports.NewbieGuide.NewbieGuide;
+import com.l2jserver.datapack.ai.npc.Teleports.NoblesseTeleport.NoblesseTeleport;
+import com.l2jserver.datapack.ai.npc.Teleports.OracleTeleport.OracleTeleport;
+import com.l2jserver.datapack.ai.npc.Teleports.PaganTeleporters.PaganTeleporters;
+import com.l2jserver.datapack.ai.npc.Teleports.SeparatedSoul.SeparatedSoul;
+import com.l2jserver.datapack.ai.npc.Teleports.StakatoNestTeleporter.StakatoNestTeleporter;
+import com.l2jserver.datapack.ai.npc.Teleports.SteelCitadelTeleport.SteelCitadelTeleport;
+import com.l2jserver.datapack.ai.npc.Teleports.StrongholdsTeleports.StrongholdsTeleports;
+import com.l2jserver.datapack.ai.npc.Teleports.Survivor.Survivor;
+import com.l2jserver.datapack.ai.npc.Teleports.TeleportToFantasy.TeleportToFantasy;
+import com.l2jserver.datapack.ai.npc.Teleports.TeleportToRaceTrack.TeleportToRaceTrack;
+import com.l2jserver.datapack.ai.npc.Teleports.TeleportToUndergroundColiseum.TeleportToUndergroundColiseum;
+import com.l2jserver.datapack.ai.npc.Teleports.TeleportWithCharm.TeleportWithCharm;
+import com.l2jserver.datapack.ai.npc.Teleports.ToIVortex.ToIVortex;
+import com.l2jserver.datapack.ai.npc.TerritoryManagers.TerritoryManagers;
+import com.l2jserver.datapack.ai.npc.TownPets.TownPets;
+import com.l2jserver.datapack.ai.npc.Trainers.HealerTrainer.HealerTrainer;
+import com.l2jserver.datapack.ai.npc.Tunatun.Tunatun;
+import com.l2jserver.datapack.ai.npc.VarkaSilenosSupport.VarkaSilenosSupport;
+import com.l2jserver.datapack.ai.npc.VillageMasters.FirstClassTransferTalk.FirstClassTransferTalk;
+import com.l2jserver.datapack.ai.npc.WeaverOlf.WeaverOlf;
+import com.l2jserver.datapack.ai.npc.WyvernManager.WyvernManager;
+import com.l2jserver.datapack.village_master.Alliance.Alliance;
+import com.l2jserver.datapack.village_master.Clan.Clan;
+import com.l2jserver.datapack.village_master.DarkElfChange1.DarkElfChange1;
+import com.l2jserver.datapack.village_master.DarkElfChange2.DarkElfChange2;
+import com.l2jserver.datapack.village_master.DwarfBlacksmithChange1.DwarfBlacksmithChange1;
+import com.l2jserver.datapack.village_master.DwarfBlacksmithChange2.DwarfBlacksmithChange2;
+import com.l2jserver.datapack.village_master.DwarfWarehouseChange1.DwarfWarehouseChange1;
+import com.l2jserver.datapack.village_master.DwarfWarehouseChange2.DwarfWarehouseChange2;
+import com.l2jserver.datapack.village_master.ElfHumanClericChange2.ElfHumanClericChange2;
+import com.l2jserver.datapack.village_master.ElfHumanFighterChange1.ElfHumanFighterChange1;
+import com.l2jserver.datapack.village_master.ElfHumanFighterChange2.ElfHumanFighterChange2;
+import com.l2jserver.datapack.village_master.ElfHumanWizardChange1.ElfHumanWizardChange1;
+import com.l2jserver.datapack.village_master.ElfHumanWizardChange2.ElfHumanWizardChange2;
+import com.l2jserver.datapack.village_master.KamaelChange1.KamaelChange1;
+import com.l2jserver.datapack.village_master.KamaelChange2.KamaelChange2;
+import com.l2jserver.datapack.village_master.OrcChange1.OrcChange1;
+import com.l2jserver.datapack.village_master.OrcChange2.OrcChange2;
+
+/**
+ * AI loader.
+ * @author Zoey76
+ * @version 2.6.2.0
+ */
+public class AILoader {
+	
+	private static final Logger LOG = LoggerFactory.getLogger(AILoader.class);
+	
+	private static final Class<?>[] SCRIPTS = {
+		// NPC
+		Abercrombie.class,
+		Alarm.class,
+		Alexandria.class,
+		ArenaManager.class,
+		Asamah.class,
+		AvantGarde.class,
+		BlackJudge.class,
+		BlackMarketeerOfMammon.class,
+		CastleAmbassador.class,
+		CastleBlacksmith.class,
+		CastleCourtMagician.class,
+		CastleChamberlain.class,
+		CastleMercenaryManager.class,
+		CastleSiegeManager.class,
+		CastleTeleporter.class,
+		CastleWarehouse.class,
+		ClanTrader.class,
+		ClassMaster.class,
+		Dorian.class,
+		DragonVortex.class,
+		EchoCrystals.class,
+		FameManager.class,
+		Fisherman.class,
+		ForgeOfTheGods.class,
+		Rooney.class,
+		TarBeetle.class,
+		FortressArcherCaptain.class,
+		FortressSiegeManager.class,
+		FreyasSteward.class,
+		Jinia.class,
+		Katenar.class,
+		KetraOrcSupport.class,
+		Kier.class,
+		ManorManager.class,
+		MercenaryCaptain.class,
+		Minigame.class,
+		MonumentOfHeroes.class,
+		NevitsHerald.class,
+		NpcBuffers.class,
+		CabaleBuffer.class,
+		PriestOfBlessing.class,
+		Rignos.class,
+		Rafforty.class,
+		Selina.class,
+		Sirra.class,
+		SubclassCertification.class,
+		GolemTrader.class,
+		BabyPets.class,
+		ImprovedBabyPets.class,
+		Servitors.class,
+		SupportUnitCaptain.class,
+		SymbolMaker.class,
+		Asher.class,
+		CrumaTower.class,
+		DelusionTeleport.class,
+		ElrokiTeleporters.class,
+		GatekeeperSpirit.class,
+		GhostChamberlainOfElmoreden.class,
+		GrandBossTeleporters.class,
+		HuntingGroundsTeleport.class,
+		Klemis.class,
+		MithrilMinesTeleporter.class,
+		NewbieGuide.class,
+		NoblesseTeleport.class,
+		OracleTeleport.class,
+		PaganTeleporters.class,
+		SeparatedSoul.class,
+		StakatoNestTeleporter.class,
+		SteelCitadelTeleport.class,
+		StrongholdsTeleports.class,
+		Survivor.class,
+		TeleportToFantasy.class,
+		TeleportToRaceTrack.class,
+		TeleportToUndergroundColiseum.class,
+		TeleportWithCharm.class,
+		ToIVortex.class,
+		TerritoryManagers.class,
+		TownPets.class,
+		HealerTrainer.class,
+		Tunatun.class,
+		VarkaSilenosSupport.class,
+		FirstClassTransferTalk.class,
+		WeaverOlf.class,
+		WyvernManager.class,
+		// Fantasy Isle
+		MC_Show.class,
+		HandysBlockCheckerEvent.class,
+		// Group Template
+		AltarsOfSacrifice.class,
+		BeastFarm.class,
+		DenOfEvil.class,
+		DragonValley.class,
+		FairyTrees.class,
+		FeedableBeasts.class,
+		FleeMonsters.class,
+		FrozenLabyrinth.class,
+		GiantsCave.class,
+		HotSprings.class,
+		IsleOfPrayer.class,
+		LairOfAntharas.class,
+		MinionSpawnManager.class,
+		MonasteryOfSilence.class,
+		NonLethalableNpcs.class,
+		NonTalkingNpcs.class,
+		PavelArchaic.class,
+		PlainsOfDion.class,
+		PlainsOfLizardman.class,
+		PolymorphingAngel.class,
+		PolymorphingOnAttack.class,
+		PrimevalIsle.class,
+		PrisonGuards.class,
+		RaidBossCancel.class,
+		RandomSpawn.class,
+		RangeGuard.class,
+		Remnants.class,
+		Sandstorms.class,
+		SeeThroughSilentMove.class,
+		SelMahumDrill.class,
+		SelMahumSquad.class,
+		SilentValley.class,
+		StakatoNest.class,
+		SummonPc.class,
+		TreasureChest.class,
+		TurekOrcs.class,
+		VarkaKetra.class,
+		WarriorFishingBlock.class,
+		// Individual
+		Antharas.class,
+		Baium.class,
+		Sailren.class,
+		Venom.class,
+		Anais.class,
+		Ballista.class,
+		Beleth.class,
+		BlackdaggerWing.class,
+		BleedingFly.class,
+		BloodyBerserker.class,
+		BloodyKarik.class,
+		BloodyKarinness.class,
+		CrimsonHatuOtis.class,
+		Core.class,
+		DarkWaterDragon.class,
+		DivineBeast.class,
+		DrakosWarrior.class,
+		DrChaos.class,
+		DustRider.class,
+		EmeraldHorn.class,
+		Epidos.class,
+		EvasGiftBox.class,
+		FrightenedRagnaOrc.class,
+		Gordon.class,
+		GraveRobbers.class,
+		Knoriks.class,
+		MuscleBomber.class,
+		Orfen.class,
+		QueenAnt.class,
+		QueenShyeed.class,
+		RagnaOrcCommander.class,
+		RagnaOrcHero.class,
+		RagnaOrcSeer.class,
+		NecromancerOfTheValley.class,
+		ShadowSummoner.class,
+		SinEater.class,
+		SinWardens.class,
+		Valakas.class,
+		// Village Master
+		Clan.class,
+		Alliance.class,
+		DarkElfChange1.class,
+		DarkElfChange2.class,
+		DwarfBlacksmithChange1.class,
+		DwarfBlacksmithChange2.class,
+		DwarfWarehouseChange1.class,
+		DwarfWarehouseChange2.class,
+		ElfHumanClericChange2.class,
+		ElfHumanFighterChange1.class,
+		ElfHumanFighterChange2.class,
+		ElfHumanWizardChange1.class,
+		ElfHumanWizardChange2.class,
+		KamaelChange1.class,
+		KamaelChange2.class,
+		OrcChange1.class,
+		OrcChange2.class
+	};
+	
+	public static void main(String[] args) {
+		int n = 0;
+		for (var ai : SCRIPTS) {
+			try {
+				ai.getDeclaredConstructor().newInstance();
+				n++;
+			} catch (Exception ex) {
+				LOG.error("Error loading AI {}!", ai.getSimpleName(), ex);
+			}
+		}
+		LOG.info("Loaded {} AI scripts.", n);
+		
+	}
+}
diff --git a/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java b/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java
index f36542d6d162ba78c9d93667e01ddfc022940316..719984ed49b53bda24a2a22f17cc98bc2e1882a8 100644
--- a/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java
+++ b/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java
@@ -49,8 +49,14 @@ public class HandysBlockCheckerEvent extends Quest {
 	
 	public HandysBlockCheckerEvent() {
 		super(-1, HandysBlockCheckerEvent.class.getSimpleName(), "Handy's Block Checker Event");
+		if (!general().enableBlockCheckerEvent()) {
+			LOG.info("Handy's Block Checker event is disabled.");
+			return;
+		}
+		
 		addFirstTalkId(A_MANAGER_1, A_MANAGER_2, A_MANAGER_3, A_MANAGER_4);
 		HandysBlockCheckerManager.getInstance().startUpParticipantsQueue();
+		LOG.info("Loaded Handy's Block Checker event.");
 	}
 	
 	@Override
@@ -93,13 +99,4 @@ public class HandysBlockCheckerEvent extends Quest {
 	private boolean eventIsFull(int arena) {
 		return HandysBlockCheckerManager.getInstance().getHolder(arena).getAllPlayers().size() == 12;
 	}
-	
-	public static void main(String[] args) {
-		if (general().enableBlockCheckerEvent()) {
-			new HandysBlockCheckerEvent();
-			LOG.info("Handy's Block Checker event is enabled.");
-		} else {
-			LOG.info("Handy's Block Checker event is disabled.");
-		}
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java b/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java
index 167c1d1ef3fb02b5e4d5da07571871971e313a2f..9be4520ba23e909d6e16a4fc77d58ab500a8baae 100644
--- a/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java
+++ b/src/main/java/com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java
@@ -99,23 +99,14 @@ public class MC_Show extends AbstractNpcAI {
 			_time = time;
 		}
 		
-		/**
-		 * @return the _npcStringId
-		 */
 		public NpcStringId getNpcStringId() {
 			return _npcStringId;
 		}
 		
-		/**
-		 * @return the _nextEvent
-		 */
 		public String getNextEvent() {
 			return _nextEvent;
 		}
 		
-		/**
-		 * @return the _time
-		 */
 		public int getTime() {
 			return _time;
 		}
@@ -132,23 +123,14 @@ public class MC_Show extends AbstractNpcAI {
 			_time = time;
 		}
 		
-		/**
-		 * @return the _charPos
-		 */
 		public Location getCharPos() {
 			return _charPos;
 		}
 		
-		/**
-		 * @return the _nextEvent
-		 */
 		public String getNextEvent() {
 			return _nextEvent;
 		}
 		
-		/**
-		 * @return the _time
-		 */
 		public int getTime() {
 			return _time;
 		}
@@ -157,7 +139,7 @@ public class MC_Show extends AbstractNpcAI {
 	private static final Map<String, ShoutInfo> TALKS = new HashMap<>();
 	private static final Map<String, WalkInfo> WALKS = new HashMap<>();
 	
-	private MC_Show() {
+	public MC_Show() {
 		super(MC_Show.class.getSimpleName(), "ai/fantasy_isle");
 		addSpawnId(32433, 32431, 32432, 32442, 32443, 32444, 32445, 32446, 32424, 32425, 32426, 32427, 32428);
 		load();
@@ -450,8 +432,4 @@ public class MC_Show extends AbstractNpcAI {
 		}
 		return null;
 	}
-	
-	public static void main(String[] args) {
-		new MC_Show();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/AltarsOfSacrifice.java b/src/main/java/com/l2jserver/datapack/ai/group_template/AltarsOfSacrifice.java
index b37c62109039fb2f3633e3a722d3a885855bca9d..83471219a456d94027468c9a11147abebca3b326 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/AltarsOfSacrifice.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/AltarsOfSacrifice.java
@@ -202,11 +202,7 @@ public final class AltarsOfSacrifice extends AbstractNpcAI {
 	};
 	// @formatter:on
 	
-	public static void main(String[] args) {
-		new AltarsOfSacrifice();
-	}
-	
-	private AltarsOfSacrifice() {
+	public AltarsOfSacrifice() {
 		super("AltarsOfSacrifice", "ai/group_template");
 		
 		for (int i = 0; i < _altars.length; ++i) {
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/BeastFarm.java b/src/main/java/com/l2jserver/datapack/ai/group_template/BeastFarm.java
index 10ec010b5ba279bd3998524dad11cb8d75115c89..36b78e214df43d6321e63d34cf973a9d48680c11 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/BeastFarm.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/BeastFarm.java
@@ -104,7 +104,7 @@ public final class BeastFarm extends AbstractNpcAI {
 	private static final Map<Integer, GrowthCapableMob> GROWTH_CAPABLE_MONSTERS = new HashMap<>();
 	private static List<TamedBeast> TAMED_BEAST_DATA = new ArrayList<>();
 	
-	private BeastFarm() {
+	public BeastFarm() {
 		super(BeastFarm.class.getSimpleName(), "ai/group_template");
 		addSkillSeeId(FEEDABLE_BEASTS);
 		addKillId(FEEDABLE_BEASTS);
@@ -421,8 +421,4 @@ public final class BeastFarm extends AbstractNpcAI {
 			return sh;
 		}
 	}
-	
-	public static void main(String[] args) {
-		new BeastFarm();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/DenOfEvil.java b/src/main/java/com/l2jserver/datapack/ai/group_template/DenOfEvil.java
index 5c22f14bea5eae6961781499c2854ce27751a699..86917e23155ddc26fdde654baecc4c6d8593465a 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/DenOfEvil.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/DenOfEvil.java
@@ -92,7 +92,7 @@ public final class DenOfEvil extends AbstractNpcAI {
 		new Location(62905, -106109, -2384, 51288)
 	};
 	
-	private DenOfEvil() {
+	public DenOfEvil() {
 		super(DenOfEvil.class.getSimpleName(), "ai/group_template");
 		addKillId(EYE_IDS);
 		addSpawnId(EYE_IDS);
@@ -191,8 +191,4 @@ public final class DenOfEvil extends AbstractNpcAI {
 			}
 		}
 	}
-	
-	public static void main(String[] args) {
-		new DenOfEvil();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/DragonValley.java b/src/main/java/com/l2jserver/datapack/ai/group_template/DragonValley.java
index b7e7414209e74920f68cf15a31dbb85e72c56bdf..766ac48f8eecb63d03178dc1616ce0b0c212a184 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/DragonValley.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/DragonValley.java
@@ -116,7 +116,7 @@ public final class DragonValley extends AbstractNpcAI {
 		CLASS_POINTS.put(ClassId.windRider, 0.2);
 	}
 	
-	private DragonValley() {
+	public DragonValley() {
 		super(DragonValley.class.getSimpleName(), "ai/group_template");
 		addAttackId(SUMMON_NPC);
 		addKillId(SPOIL_REACT_MONSTER);
@@ -190,8 +190,4 @@ public final class DragonValley extends AbstractNpcAI {
 			}
 		}
 	}
-	
-	public static void main(String[] args) {
-		new DragonValley();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/FairyTrees.java b/src/main/java/com/l2jserver/datapack/ai/group_template/FairyTrees.java
index 64ad43ede8ef576f67c00fde5ae68e08b4639d1e..c2441250f531c50f78eb1802c6988c95cc4b272e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/FairyTrees.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/FairyTrees.java
@@ -45,7 +45,7 @@ public class FairyTrees extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_DISTANCE = 1500;
 	
-	private FairyTrees() {
+	public FairyTrees() {
 		super(FairyTrees.class.getSimpleName(), "ai/group_template");
 		addKillId(MOBS);
 		addSpawnId(MOBS);
@@ -73,8 +73,4 @@ public class FairyTrees extends AbstractNpcAI {
 		npc.setIsImmobilized(true);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new FairyTrees();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/FeedableBeasts.java b/src/main/java/com/l2jserver/datapack/ai/group_template/FeedableBeasts.java
index 7c8892f7eb3822069c26754bd52bead9e7cc01cc..bf360162ae643b9d04f8e344b0e6c69e626fcaa8 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/FeedableBeasts.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/FeedableBeasts.java
@@ -166,7 +166,7 @@ public final class FeedableBeasts extends AbstractNpcAI {
 		}
 	}
 	
-	private FeedableBeasts() {
+	public FeedableBeasts() {
 		super(FeedableBeasts.class.getSimpleName(), "ai/group_template");
 		addKillId(FEEDABLE_BEASTS);
 		addSkillSeeId(FEEDABLE_BEASTS);
@@ -559,8 +559,4 @@ public final class FeedableBeasts extends AbstractNpcAI {
 		}
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new FeedableBeasts();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/FleeMonsters.java b/src/main/java/com/l2jserver/datapack/ai/group_template/FleeMonsters.java
index cb3b465d43f04acc8743511067da775077402e1d..706d590aae71a12e0e8d549dd9d92cf2e80a7b05 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/FleeMonsters.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/FleeMonsters.java
@@ -51,7 +51,7 @@ public final class FleeMonsters extends AbstractNpcAI {
 	// Misc
 	private static final int FLEE_DISTANCE = 500;
 	
-	private FleeMonsters() {
+	public FleeMonsters() {
 		super(FleeMonsters.class.getSimpleName(), "ai/group_template");
 		addAttackId(MOBS);
 	}
@@ -72,8 +72,4 @@ public final class FleeMonsters extends AbstractNpcAI {
 		npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, destination);
 		return super.onAttack(npc, attacker, damage, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new FleeMonsters();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/FrozenLabyrinth.java b/src/main/java/com/l2jserver/datapack/ai/group_template/FrozenLabyrinth.java
index eb1e115b1ad633280e5a4014b959e3305babad35..3d34d9d7469f447d2700616dc7e0688b8dbebc08 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/FrozenLabyrinth.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/FrozenLabyrinth.java
@@ -34,7 +34,7 @@ public final class FrozenLabyrinth extends AbstractNpcAI {
 	private static final int LOST_BUFFALO = 22093;
 	private static final int FROST_BUFFALO = 22094;
 	
-	private FrozenLabyrinth() {
+	public FrozenLabyrinth() {
 		super(FrozenLabyrinth.class.getSimpleName(), "ai/group_template");
 		addAttackId(PRONGHORN, FROST_BUFFALO);
 	}
@@ -57,8 +57,4 @@ public final class FrozenLabyrinth extends AbstractNpcAI {
 		}
 		return super.onAttack(npc, attacker, damage, isSummon, skill);
 	}
-	
-	public static void main(String[] args) {
-		new FrozenLabyrinth();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/GiantsCave.java b/src/main/java/com/l2jserver/datapack/ai/group_template/GiantsCave.java
index 515ec87ad7686eeafac59aa22f35307dc86133fa..54d924e9e467ce985b2cf4ec9001eeda10bb5534 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/GiantsCave.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/GiantsCave.java
@@ -36,7 +36,7 @@ public final class GiantsCave extends AbstractNpcAI {
 		22669, // Leogul (Scout)
 	};
 	
-	private GiantsCave() {
+	public GiantsCave() {
 		super(GiantsCave.class.getSimpleName(), "ai/group_template");
 		addAttackId(SCOUTS);
 		addAggroRangeEnterId(SCOUTS);
@@ -87,8 +87,4 @@ public final class GiantsCave extends AbstractNpcAI {
 		}
 		return super.onAggroRangeEnter(npc, player, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new GiantsCave();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/HotSprings.java b/src/main/java/com/l2jserver/datapack/ai/group_template/HotSprings.java
index 876e5602ea15f8f38f626e86caa35dd35ef0d146..db61f809482a631a0c6655771cc8c7182201e99d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/HotSprings.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/HotSprings.java
@@ -46,7 +46,7 @@ public final class HotSprings extends AbstractNpcAI {
 	// Misc
 	private static final int DISEASE_CHANCE = 10;
 	
-	private HotSprings() {
+	public HotSprings() {
 		super(HotSprings.class.getSimpleName(), "ai/group_template");
 		addAttackId(BANDERSNATCHLING, FLAVA, ATROXSPAWN, NEPENTHES, ATROX, BANDERSNATCH);
 	}
@@ -89,8 +89,4 @@ public final class HotSprings extends AbstractNpcAI {
 			npc.doCast(skill);
 		}
 	}
-	
-	public static void main(String[] args) {
-		new HotSprings();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/IsleOfPrayer.java b/src/main/java/com/l2jserver/datapack/ai/group_template/IsleOfPrayer.java
index 54258c8f06dcd7030d905d443ba87fe7a0e4c842..3a508d6939791ba2adafab36711ba287228b8aca 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/IsleOfPrayer.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/IsleOfPrayer.java
@@ -56,7 +56,7 @@ public final class IsleOfPrayer extends AbstractNpcAI {
 		MONSTERS.put(22271, new ItemChanceHolder(BLUE_SEED_OF_EVIL_SHARD, 1008)); // Water Dragon Detractor
 	}
 	
-	private IsleOfPrayer() {
+	public IsleOfPrayer() {
 		super(IsleOfPrayer.class.getSimpleName(), "ai/group_template");
 		addKillId(MONSTERS.keySet());
 	}
@@ -69,8 +69,4 @@ public final class IsleOfPrayer extends AbstractNpcAI {
 		}
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new IsleOfPrayer();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/LairOfAntharas.java b/src/main/java/com/l2jserver/datapack/ai/group_template/LairOfAntharas.java
index c5ffd4bd934b146096eec5cb8f1e8c16f632519b..9f6cfa72b553ae60261e317b270dad1afa2a7ce7 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/LairOfAntharas.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/LairOfAntharas.java
@@ -41,7 +41,7 @@ public final class LairOfAntharas extends AbstractNpcAI {
 	// Misc
 	final private static int KNIGHT_CHANCE = 30;
 	
-	private LairOfAntharas() {
+	public LairOfAntharas() {
 		super(LairOfAntharas.class.getSimpleName(), "ai/group_template");
 		addKillId(DRAGON_KNIGHT, DRAGON_KNIGHT2, DRAGON_GUARD, DRAGON_MAGE);
 		addSpawnId(DRAGON_KNIGHT, DRAGON_KNIGHT2, DRAGON_GUARD, DRAGON_MAGE);
@@ -101,8 +101,4 @@ public final class LairOfAntharas extends AbstractNpcAI {
 		}
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new LairOfAntharas();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/MinionSpawnManager.java b/src/main/java/com/l2jserver/datapack/ai/group_template/MinionSpawnManager.java
index 786ac72920ac12a3b81d626d47b6714b424b0810..d72ae441155ab9d0174a3c1c3934f8cbaeca26da 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/MinionSpawnManager.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/MinionSpawnManager.java
@@ -405,7 +405,7 @@ public final class MinionSpawnManager extends AbstractNpcAI {
 		20767, // Timak Orc Troop Leader
 	};
 	
-	private MinionSpawnManager() {
+	public MinionSpawnManager() {
 		super(MinionSpawnManager.class.getSimpleName(), "ai/group_template");
 		
 		addSpawnId(NPC);
@@ -439,8 +439,4 @@ public final class MinionSpawnManager extends AbstractNpcAI {
 		}
 		return super.onAttack(npc, attacker, damage, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new MinionSpawnManager();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/MonasteryOfSilence.java b/src/main/java/com/l2jserver/datapack/ai/group_template/MonasteryOfSilence.java
index e3790b32478ab37412fe9986fba354db35ade32d..2591dfdfae60402178aaceb177344f9bd658cb09 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/MonasteryOfSilence.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/MonasteryOfSilence.java
@@ -68,7 +68,7 @@ public final class MonasteryOfSilence extends AbstractNpcAI {
 		NpcStringId.WE_RAISE_OUR_BLADES_FOR_THE_GLORY_OF_SOLINA
 	};
 	
-	private MonasteryOfSilence() {
+	public MonasteryOfSilence() {
 		super(MonasteryOfSilence.class.getSimpleName(), "ai/group_template");
 		addSkillSeeId(DIVINITY_CLAN);
 		addAttackId(KNIGHT, CAPTAIN, GUIDE, SEEKER, ASCETIC);
@@ -238,8 +238,4 @@ public final class MonasteryOfSilence extends AbstractNpcAI {
 		startQuestTimer("TRAINING", 30000, npc, null, true);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new MonasteryOfSilence();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/NonLethalableNpcs.java b/src/main/java/com/l2jserver/datapack/ai/group_template/NonLethalableNpcs.java
index 4dde377d44b25b81a43f76d642660868d15e21f0..a70e10f14aa8090c036834de4bb4ab7529c37b6c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/NonLethalableNpcs.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/NonLethalableNpcs.java
@@ -43,8 +43,4 @@ public final class NonLethalableNpcs extends AbstractNpcAI {
 		npc.setLethalable(false);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new NonLethalableNpcs();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/NonTalkingNpcs.java b/src/main/java/com/l2jserver/datapack/ai/group_template/NonTalkingNpcs.java
index 90259510768b1ec87ff12ed137307aad9224131d..1a9a7152ac97cb16e43c0a077a68ea21fc72b2a2 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/NonTalkingNpcs.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/NonTalkingNpcs.java
@@ -62,8 +62,4 @@ public final class NonTalkingNpcs extends AbstractNpcAI {
 		npc.setTalking(false);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new NonTalkingNpcs();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/PavelArchaic.java b/src/main/java/com/l2jserver/datapack/ai/group_template/PavelArchaic.java
index 2181632577444a92c9c7accbb722b22af081c8a4..7c3024d48539b06c66648b9be119a34e44599bce 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/PavelArchaic.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/PavelArchaic.java
@@ -33,7 +33,7 @@ public final class PavelArchaic extends AbstractNpcAI {
 	private static final int PINCER_GOLEM3 = 22803; // Cruel Pincer Golem
 	private static final int JACKHAMMER_GOLEM = 22804; // Horrifying Jackhammer Golem
 	
-	private PavelArchaic() {
+	public PavelArchaic() {
 		super(PavelArchaic.class.getSimpleName(), "ai/group_template");
 		addKillId(SAFETY_DEVICE, PINCER_GOLEM, JACKHAMMER_GOLEM);
 	}
@@ -49,8 +49,4 @@ public final class PavelArchaic extends AbstractNpcAI {
 		}
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new PavelArchaic();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/PlainsOfDion.java b/src/main/java/com/l2jserver/datapack/ai/group_template/PlainsOfDion.java
index b1ebb942a1f907e6bb4522551a911b87fceccc1a..c38b9254e4fcb5fc8dd7f0e9683ea351cf297da2 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/PlainsOfDion.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/PlainsOfDion.java
@@ -52,7 +52,7 @@ public final class PlainsOfDion extends AbstractNpcAI {
 		NpcStringId.WHAT_ARE_YOU_LOOKING_AT
 	};
 	
-	private PlainsOfDion() {
+	public PlainsOfDion() {
 		super(PlainsOfDion.class.getSimpleName(), "ai/group_template");
 		addAttackId(DELU_LIZARDMEN);
 	}
@@ -78,8 +78,4 @@ public final class PlainsOfDion extends AbstractNpcAI {
 		}
 		return super.onAttack(npc, player, damage, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new PlainsOfDion();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/PlainsOfLizardman.java b/src/main/java/com/l2jserver/datapack/ai/group_template/PlainsOfLizardman.java
index 014fcc4e66c74a27b7cb8509aa3e64b110797e11..a76e459b3b6c054d12679dd18c8fcff6d68ba93e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/PlainsOfLizardman.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/PlainsOfLizardman.java
@@ -86,7 +86,7 @@ public final class PlainsOfLizardman extends AbstractNpcAI {
 	};
 	// @formatter:on
 	
-	private PlainsOfLizardman() {
+	public PlainsOfLizardman() {
 		super(PlainsOfLizardman.class.getSimpleName(), "ai/group_template");
 		addAttackId(FANTASY_MUSHROOM, RAINBOW_FROG, STICKY_MUSHROOM, ENERGY_PLANT, TANTA_SUMMONER);
 		addKillId(TANTA_LIZARDMEN);
@@ -206,8 +206,4 @@ public final class PlainsOfLizardman extends AbstractNpcAI {
 		npc.doDie(target);
 		super.castSkill(addSpawn(INVISIBLE_NPC, npc, false, 6000), target, skill);
 	}
-	
-	public static void main(String[] args) {
-		new PlainsOfLizardman();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/PolymorphingAngel.java b/src/main/java/com/l2jserver/datapack/ai/group_template/PolymorphingAngel.java
index 88a8ff9fd701bae057f4c47bce1e327351a24a3c..b3166894fd9fb0a5e6da5d66e2efe753af27749d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/PolymorphingAngel.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/PolymorphingAngel.java
@@ -39,7 +39,7 @@ public final class PolymorphingAngel extends AbstractNpcAI {
 		ANGELSPAWNS.put(21070, 21071);
 	}
 	
-	private PolymorphingAngel() {
+	public PolymorphingAngel() {
 		super(PolymorphingAngel.class.getSimpleName(), "ai/group_template");
 		addKillId(ANGELSPAWNS.keySet());
 	}
@@ -50,8 +50,4 @@ public final class PolymorphingAngel extends AbstractNpcAI {
 		newNpc.setRunning();
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new PolymorphingAngel();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/PolymorphingOnAttack.java b/src/main/java/com/l2jserver/datapack/ai/group_template/PolymorphingOnAttack.java
index 790f561f7c27dab49598ea9c2b7ce1aad639b1e3..fbe8d938d23030aad0c2aa0ec056ca63f52b33de 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/PolymorphingOnAttack.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/PolymorphingOnAttack.java
@@ -72,7 +72,7 @@ public final class PolymorphingOnAttack extends AbstractNpcAI {
 		}
 	};
 	
-	private PolymorphingOnAttack() {
+	public PolymorphingOnAttack() {
 		super(PolymorphingOnAttack.class.getSimpleName(), "ai/group_template");
 		addAttackId(MOBSPAWNS.keySet());
 	}
@@ -99,8 +99,4 @@ public final class PolymorphingOnAttack extends AbstractNpcAI {
 		}
 		return super.onAttack(npc, attacker, damage, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new PolymorphingOnAttack();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/PrimevalIsle.java b/src/main/java/com/l2jserver/datapack/ai/group_template/PrimevalIsle.java
index 1c00526f1e438467c76f89a5464f6584156f0eaf..04f1e7a21987e6b1cd599ed4fc1d28ddf603c015 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/PrimevalIsle.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/PrimevalIsle.java
@@ -98,7 +98,7 @@ public final class PrimevalIsle extends AbstractNpcAI {
 	private static final SkillHolder CREW_SKILL = new SkillHolder(6172, 1); // Presentation - Tyranno
 	private static final SkillHolder INVIN_BUFF_ON = new SkillHolder(5225, 1); // Invincible
 	
-	private PrimevalIsle() {
+	public PrimevalIsle() {
 		super(PrimevalIsle.class.getSimpleName(), "ai/group_template");
 		addSpawnId(TREX);
 		addSpawnId(SPRIGNANT);
@@ -405,8 +405,4 @@ public final class PrimevalIsle extends AbstractNpcAI {
 		}
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new PrimevalIsle();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/PrisonGuards.java b/src/main/java/com/l2jserver/datapack/ai/group_template/PrisonGuards.java
index 03df2b8be1b99009a67c1b1b3c63c9e4860943b6..c03403ca5cbbadfed126583f5a54c2fff23652ab 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/PrisonGuards.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/PrisonGuards.java
@@ -43,7 +43,7 @@ public final class PrisonGuards extends AbstractNpcAI {
 	private static final SkillHolder STONE = new SkillHolder(4578); // Petrification
 	private static final SkillHolder SILENCE = new SkillHolder(4098, 9); // Silence
 	
-	private PrisonGuards() {
+	public PrisonGuards() {
 		super(PrisonGuards.class.getSimpleName(), "ai/group_template");
 		addAttackId(GUARD_HEAD, GUARD);
 		addSpawnId(GUARD_HEAD, GUARD);
@@ -126,8 +126,4 @@ public final class PrisonGuards extends AbstractNpcAI {
 		}
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new PrisonGuards();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/RaidBossCancel.java b/src/main/java/com/l2jserver/datapack/ai/group_template/RaidBossCancel.java
index da8b3e5c2502e1205ef21b808bbe3e32a6700d01..052c4d65179d4716944159d19833b1ea06105b36 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/RaidBossCancel.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/RaidBossCancel.java
@@ -124,8 +124,4 @@ public final class RaidBossCancel extends AbstractNpcAI {
 		}
 		return super.onSkillSee(npc, player, skill, targets, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new RaidBossCancel();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/RandomSpawn.java b/src/main/java/com/l2jserver/datapack/ai/group_template/RandomSpawn.java
index 796bb7e41f86d3623a8ef7bcdca5c8aa120fcc76..4f5c441a69c25035057887a89cc1fa1abba83234 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/RandomSpawn.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/RandomSpawn.java
@@ -102,8 +102,4 @@ public final class RandomSpawn extends AbstractNpcAI {
 			_npc.teleToLocation(_loc, false);
 		}
 	}
-	
-	public static void main(String[] args) {
-		new RandomSpawn();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/RangeGuard.java b/src/main/java/com/l2jserver/datapack/ai/group_template/RangeGuard.java
index cec47761080eb5e873d68a8dd6091bd857269843..89701109bf2b9ada78d277898ee0cfd526973cc9 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/RangeGuard.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/RangeGuard.java
@@ -78,7 +78,7 @@ public final class RangeGuard extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_DISTANCE = 150;
 	
-	private RangeGuard() {
+	public RangeGuard() {
 		super(RangeGuard.class.getSimpleName(), "ai/group_template");
 		
 		for (L2NpcTemplate template : NpcData.getInstance().getAllNpcOfClassType("L2Monster")) {
@@ -104,8 +104,4 @@ public final class RangeGuard extends AbstractNpcAI {
 		}
 		return super.onAttack(npc, attacker, damage, isSummon, skill);
 	}
-	
-	public static void main(String[] args) {
-		new RangeGuard();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/Remnants.java b/src/main/java/com/l2jserver/datapack/ai/group_template/Remnants.java
index 2d50ae7f055bf013d6cd570ab452f2b0d2a7e610..d61f7b0658fbbe006e2e425339c3ff5a45597c8f 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/Remnants.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/Remnants.java
@@ -39,7 +39,7 @@ public final class Remnants extends AbstractNpcAI {
 	// TODO: Find retail strings.
 	// private static final String MSG = "The holy water affects Remnants Ghost. You have freed his soul.";
 	// private static final String MSG_DEREK = "The holy water affects Derek. You have freed his soul.";
-	private Remnants() {
+	public Remnants() {
 		super(Remnants.class.getSimpleName(), "ai/group_template");
 		addSpawnId(NPCS);
 		addSkillSeeId(NPCS);
@@ -76,8 +76,4 @@ public final class Remnants extends AbstractNpcAI {
 		}
 		return super.onSkillSee(npc, caster, skill, targets, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new Remnants();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/Sandstorms.java b/src/main/java/com/l2jserver/datapack/ai/group_template/Sandstorms.java
index d8f483f948914af70b9c4516f05b0d0b7902172c..b2eda6fcdc080337c61e1db76b3b831d214a9660 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/Sandstorms.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/Sandstorms.java
@@ -31,11 +31,11 @@ public class Sandstorms extends AbstractNpcAI {
 	// NPCs
 	private static final int SANDSTORM = 32350;
 	// Skills
-	private static final SkillHolder GUST = new SkillHolder(5435); // Gust
+	private static final SkillHolder GUST = new SkillHolder(5435);
 	
 	public Sandstorms() {
 		super(Sandstorms.class.getSimpleName(), "ai/group_template");
-		addAggroRangeEnterId(SANDSTORM); // Sandstorm
+		addAggroRangeEnterId(SANDSTORM);
 	}
 	
 	@Override
@@ -44,8 +44,4 @@ public class Sandstorms extends AbstractNpcAI {
 		npc.doCast(GUST);
 		return super.onAggroRangeEnter(npc, player, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new Sandstorms();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/SeeThroughSilentMove.java b/src/main/java/com/l2jserver/datapack/ai/group_template/SeeThroughSilentMove.java
index 00a16f743e0a91839a738403bef3ff33b2ae2ec1..945d70075919e724c9a994395f2df970f40592c8 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/SeeThroughSilentMove.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/SeeThroughSilentMove.java
@@ -38,7 +38,7 @@ public class SeeThroughSilentMove extends AbstractNpcAI {
 	};
 	//@formatter:on
 	
-	private SeeThroughSilentMove() {
+	public SeeThroughSilentMove() {
 		super(SeeThroughSilentMove.class.getSimpleName(), "ai/group_template");
 		addSpawnId(MONSTERS);
 	}
@@ -50,8 +50,4 @@ public class SeeThroughSilentMove extends AbstractNpcAI {
 		}
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new SeeThroughSilentMove();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/SelMahumDrill.java b/src/main/java/com/l2jserver/datapack/ai/group_template/SelMahumDrill.java
index 19c381c5335f68d40bd774a7488a6d98a3e3bc68..8efd9686732e36c83c1af768aa809dd501a56d1d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/SelMahumDrill.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/SelMahumDrill.java
@@ -112,7 +112,7 @@ public final class SelMahumDrill extends AbstractNpcAI {
 		}
 	}
 	
-	private SelMahumDrill() {
+	public SelMahumDrill() {
 		super(SelMahumDrill.class.getSimpleName(), "ai/group_template");
 		
 		addAttackId(MAHUM_SOLDIERS);
@@ -262,8 +262,4 @@ public final class SelMahumDrill extends AbstractNpcAI {
 			startQuestTimer("do_social_action", action.getRepeatInterval(), npc, null);
 		}
 	}
-	
-	public static void main(String[] args) {
-		new SelMahumDrill();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/SelMahumSquad.java b/src/main/java/com/l2jserver/datapack/ai/group_template/SelMahumSquad.java
index a7c7cbfe94d00d05c4f8eeda2155c4737e28d8de..3a7d01200386765db7095d768ab6bd90c0f08b7e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/SelMahumSquad.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/SelMahumSquad.java
@@ -70,7 +70,7 @@ public final class SelMahumSquad extends AbstractNpcAI {
 	private static final int MAHUM_EFFECT_SLEEP = 2;
 	private static final int MAHUM_EFFECT_NONE = 3;
 	
-	private SelMahumSquad() {
+	public SelMahumSquad() {
 		super(SelMahumSquad.class.getSimpleName(), "ai/group_template");
 		
 		addAttackId(CHEF);
@@ -337,8 +337,4 @@ public final class SelMahumSquad extends AbstractNpcAI {
 		}
 		// TODO: Check about i_quest0
 	}
-	
-	public static void main(String[] args) {
-		new SelMahumSquad();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/SilentValley.java b/src/main/java/com/l2jserver/datapack/ai/group_template/SilentValley.java
index 8e5b8c406f45fc383a5814d0180f38ec5c666b45..d32b1f2fad0c3b9251f215e249115a5da6c8287e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/SilentValley.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/SilentValley.java
@@ -57,7 +57,7 @@ public final class SilentValley extends AbstractNpcAI {
 		20973, // Forgotten Ancient People
 	};
 	
-	private SilentValley() {
+	public SilentValley() {
 		super(SilentValley.class.getSimpleName(), "ai/group_template");
 		addAttackId(MOBS);
 		addAttackId(CHEST, GUARD1, GUARD2);
@@ -172,8 +172,4 @@ public final class SilentValley extends AbstractNpcAI {
 		}
 		return super.onEventReceived(eventName, sender, receiver, reference);
 	}
-	
-	public static void main(String[] args) {
-		new SilentValley();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/StakatoNest.java b/src/main/java/com/l2jserver/datapack/ai/group_template/StakatoNest.java
index 66a0cca800a3194a024090854bef5f305c37e8a3..6d368614dcc9b7a9f57ea71947b7eba3d640a2ca 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/StakatoNest.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/StakatoNest.java
@@ -82,7 +82,7 @@ public final class StakatoNest extends AbstractNpcAI {
 	// Skill
 	private static final SkillHolder EATING_FOLLOWER_HEAL = new SkillHolder(4484);
 	
-	private StakatoNest() {
+	public StakatoNest() {
 		super(StakatoNest.class.getSimpleName(), "ai/group_template");
 		registerMobs(STAKATO_MOBS);
 	}
@@ -209,8 +209,4 @@ public final class StakatoNest extends AbstractNpcAI {
 	private static void giveCocoon(L2PcInstance player, L2Npc npc) {
 		player.addItem("StakatoCocoon", ((getRandom(100) > 80) ? LARGE_COCOON : SMALL_COCOON), 1, npc, true);
 	}
-	
-	public static void main(String[] args) {
-		new StakatoNest();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/SummonPc.java b/src/main/java/com/l2jserver/datapack/ai/group_template/SummonPc.java
index cb69e04369cd7b398da7e98712e1964ba1d321e3..53fa2ca00541b5926aad817f903d16eb57b95c0c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/SummonPc.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/SummonPc.java
@@ -40,7 +40,7 @@ public final class SummonPc extends AbstractNpcAI {
 	private static final int MIN_DISTANCE = 300;
 	private static final int MIN_DISTANCE_MOST_HATED = 100;
 	
-	private SummonPc() {
+	public SummonPc() {
 		super(SummonPc.class.getSimpleName(), "ai/group_template");
 		addAttackId(PORTA, PERUM);
 		addSpellFinishedId(PORTA, PERUM);
@@ -89,8 +89,4 @@ public final class SummonPc extends AbstractNpcAI {
 			npc.getVariables().set("attacked", true);
 		}
 	}
-	
-	public static void main(String[] args) {
-		new SummonPc();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/TreasureChest.java b/src/main/java/com/l2jserver/datapack/ai/group_template/TreasureChest.java
index 223cc130b4750f66202efd7f107e30c6844b3466..021181c639bc62156a92a038cf363685c5554c99 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/TreasureChest.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/TreasureChest.java
@@ -825,7 +825,7 @@ public final class TreasureChest extends AbstractNpcAI {
 			new ItemChanceHolder(21749, 29, 1))); // Great Adventurer's Treasure Sack
 	}
 	
-	private TreasureChest() {
+	public TreasureChest() {
 		super(TreasureChest.class.getSimpleName(), "ai/group_template");
 		
 		addSpawnId(DROPS.keySet());
@@ -893,8 +893,4 @@ public final class TreasureChest extends AbstractNpcAI {
 		}
 		return super.onAttack(npc, attacker, damage, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new TreasureChest();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/TurekOrcs.java b/src/main/java/com/l2jserver/datapack/ai/group_template/TurekOrcs.java
index c3c98b1d50dd106d28902d52ff7693580e3bbfaa..700802403762a4ec11700c3b2951928550252b4a 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/TurekOrcs.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/TurekOrcs.java
@@ -43,7 +43,7 @@ public final class TurekOrcs extends AbstractNpcAI {
 		20500, // Turek Orc Sentinel
 	};
 	
-	private TurekOrcs() {
+	public TurekOrcs() {
 		super(TurekOrcs.class.getSimpleName(), "ai/group_template");
 		addAttackId(MOBS);
 		addEventReceivedId(MOBS);
@@ -108,8 +108,4 @@ public final class TurekOrcs extends AbstractNpcAI {
 			npc.getVariables().remove("state");
 		}
 	}
-	
-	public static void main(String[] args) {
-		new TurekOrcs();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/VarkaKetra.java b/src/main/java/com/l2jserver/datapack/ai/group_template/VarkaKetra.java
index cc4f28c00ee7e268bff4f09fe6eb64aedc593534..0737ab4eefe20b52c86ba4d148b70fa17e8677c0 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/VarkaKetra.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/VarkaKetra.java
@@ -130,7 +130,7 @@ public class VarkaKetra extends AbstractNpcAI {
 		Q00616_MagicalPowerOfFirePart2.class.getSimpleName()
 	};
 	
-	private VarkaKetra() {
+	public VarkaKetra() {
 		super(VarkaKetra.class.getSimpleName(), "ai/group_template");
 		addKillId(KETRA);
 		addKillId(VARKA);
@@ -185,8 +185,4 @@ public class VarkaKetra extends AbstractNpcAI {
 		}
 		return !hasAtLeastOneQuestItem(player, VARKA_MARKS);
 	}
-	
-	public static void main(String[] args) {
-		new VarkaKetra();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/group_template/WarriorFishingBlock.java b/src/main/java/com/l2jserver/datapack/ai/group_template/WarriorFishingBlock.java
index c2417af092c646471922a629cc7ee2c957df43d1..a411d5de75cec1de2f6d1790e65ab75d8cf6f3ce 100644
--- a/src/main/java/com/l2jserver/datapack/ai/group_template/WarriorFishingBlock.java
+++ b/src/main/java/com/l2jserver/datapack/ai/group_template/WarriorFishingBlock.java
@@ -116,8 +116,4 @@ public final class WarriorFishingBlock extends AbstractNpcAI {
 		startQuestTimer("SPAWN", 2000, npc, null);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new WarriorFishingBlock();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Anais.java b/src/main/java/com/l2jserver/datapack/ai/individual/Anais.java
index 3259426a01c7ed35efbcd5d7b24f2c5af017b2e8..522dceb12bab2c420643b03485655dc12edee84d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Anais.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Anais.java
@@ -47,7 +47,7 @@ public final class Anais extends AbstractNpcAI {
 	private L2Npc _current = null;
 	private int _pot = 0;
 	
-	private Anais() {
+	public Anais() {
 		super(Anais.class.getSimpleName(), "ai/individual");
 		addAttackId(ANAIS);
 		addSpawnId(DIVINE_BURNER);
@@ -139,10 +139,6 @@ public final class Anais extends AbstractNpcAI {
 		return super.onAttack(npc, attacker, damage, isSummon);
 	}
 	
-	/*
-	 * (non-Javadoc)
-	 * @see com.l2jserver.gameserver.model.quest.Quest#onSpawn(com.l2jserver.gameserver.model.actor.L2Npc)
-	 */
 	@Override
 	public String onSpawn(L2Npc npc) {
 		_divineBurners.add(npc);
@@ -161,8 +157,4 @@ public final class Anais extends AbstractNpcAI {
 		}
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new Anais();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Antharas/Antharas.java b/src/main/java/com/l2jserver/datapack/ai/individual/Antharas/Antharas.java
index 6f5e0978301be904585b566889d720f94e74eaff..f35af602de834949bf22ba394c90deba4082d99c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Antharas/Antharas.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Antharas/Antharas.java
@@ -124,7 +124,7 @@ public final class Antharas extends AbstractNpcAI {
 	private static int attacker_2_hate = 0;
 	private static int attacker_3_hate = 0;
 	
-	private Antharas() {
+	public Antharas() {
 		super(Antharas.class.getSimpleName(), "ai/individual");
 		addStartNpc(HEART, CUBE);
 		addTalkId(HEART, CUBE);
@@ -788,8 +788,4 @@ public final class Antharas extends AbstractNpcAI {
 			}
 		}
 	}
-	
-	public static void main(String[] args) {
-		new Antharas();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Baium/Baium.java b/src/main/java/com/l2jserver/datapack/ai/individual/Baium/Baium.java
index 0b626f212bf6580b5cfc064c0f1d0079436ce2d9..e590911995b5195b0ea5e1322629cb54a4f47390 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Baium/Baium.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Baium/Baium.java
@@ -97,7 +97,7 @@ public final class Baium extends AbstractNpcAI {
 	private L2GrandBossInstance _baium = null;
 	private static long _lastAttack = 0;
 	
-	private Baium() {
+	public Baium() {
 		super(Baium.class.getSimpleName(), "ai/individual");
 		addFirstTalkId(ANG_VORTEX);
 		addTalkId(ANG_VORTEX, TELE_CUBE, BAIUM_STONE);
@@ -604,8 +604,4 @@ public final class Baium extends AbstractNpcAI {
 		}
 		return null;
 	}
-	
-	public static void main(String[] args) {
-		new Baium();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Ballista.java b/src/main/java/com/l2jserver/datapack/ai/individual/Ballista.java
index 95c2a2e64f2371ee0e0536f7e5e7147a6f0b77be..d1199e09c877711540a367c4cf852a00b0fd801c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Ballista.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Ballista.java
@@ -62,7 +62,7 @@ public final class Ballista extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_CLAN_LV = 5;
 	
-	private Ballista() {
+	public Ballista() {
 		super(Ballista.class.getSimpleName(), "ai/individual");
 		addSkillSeeId(BALLISTA);
 		addSpawnId(BALLISTA);
@@ -88,8 +88,4 @@ public final class Ballista extends AbstractNpcAI {
 		npc.setIsMortal(false);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new Ballista();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Beleth.java b/src/main/java/com/l2jserver/datapack/ai/individual/Beleth.java
index 65fad9f1ff69ebb3b7ae1abb00ce601b245d08af..e0aa47f3dff92c4828f38f4916b29ea27e28b8de 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Beleth.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Beleth.java
@@ -97,7 +97,7 @@ public final class Beleth extends AbstractNpcAI {
 	private long _lastAttack;
 	private final List<L2Npc> _minions = new CopyOnWriteArrayList<>();
 	
-	private Beleth() {
+	public Beleth() {
 		super(Beleth.class.getSimpleName(), "ai/individual");
 		addEnterZoneId(ZONE.getId());
 		registerMobs(REAL_BELETH, FAKE_BELETH);
@@ -719,8 +719,4 @@ public final class Beleth extends AbstractNpcAI {
 		});
 		_allowedObjId = 0;
 	}
-	
-	public static void main(String[] args) {
-		new Beleth();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/BlackdaggerWing.java b/src/main/java/com/l2jserver/datapack/ai/individual/BlackdaggerWing.java
index 81621dbaff8c4cf3b5c70fcfa466f41a9f570000..3c1965e9476a999f3a5cf0d307a7ee74317ca2be 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/BlackdaggerWing.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/BlackdaggerWing.java
@@ -102,8 +102,4 @@ public class BlackdaggerWing extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new BlackdaggerWing();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/BleedingFly.java b/src/main/java/com/l2jserver/datapack/ai/individual/BleedingFly.java
index 33a12cff95e29f6da418694ec8119af007a70d04..d9915d7d860827ee6d3fc185d7956d72858a5695 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/BleedingFly.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/BleedingFly.java
@@ -113,8 +113,4 @@ public class BleedingFly extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new BleedingFly();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/BloodyBerserker.java b/src/main/java/com/l2jserver/datapack/ai/individual/BloodyBerserker.java
index 55697a49a9088a76afcf11a263d10a0177e7df3e..13dd9c8230b69df0cdd374e51cda1aaf86cebb6f 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/BloodyBerserker.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/BloodyBerserker.java
@@ -130,8 +130,4 @@ public class BloodyBerserker extends AbstractNpcAI {
 	public void onMoveFinished(L2Npc npc) {
 		startQuestTimer("CORE_AI", 100, npc, null);
 	}
-	
-	public static void main(String[] args) {
-		new BloodyBerserker();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/BloodyKarik.java b/src/main/java/com/l2jserver/datapack/ai/individual/BloodyKarik.java
index f0ebf777b5520c1677b1a38843125aad1fa1c803..62fb07b4c81e68e6c3ce6fe4f0d536b8416cff9c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/BloodyKarik.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/BloodyKarik.java
@@ -32,20 +32,17 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  * @author Maneco2
  * @version 2.6.2.0
  */
-public class BloodyKarik extends AbstractNpcAI
-{
+public class BloodyKarik extends AbstractNpcAI {
 	// NPCs
 	private static final int BLOODY_KARIK = 22854;
 	
-	private static final int[] BLOODY_FAMILY =
-	{
+	private static final int[] BLOODY_FAMILY = {
 		22854, // Bloody Karik
 		22855, // Bloody Berserker
 		22856, // Bloody Karinness
 	};
 	
-	public BloodyKarik()
-	{
+	public BloodyKarik() {
 		super(BloodyKarik.class.getSimpleName(), "ai/individual");
 		addKillId(BLOODY_KARIK);
 		addAttackId(BLOODY_KARIK);
@@ -54,24 +51,18 @@ public class BloodyKarik extends AbstractNpcAI
 	}
 	
 	@Override
-	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
-	{
-		switch (event)
-		{
-			case "CORE_AI":
-			{
-				if (npc != null)
-				{
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) {
+		switch (event) {
+			case "CORE_AI": {
+				if (npc != null) {
 					((L2Attackable) npc).clearAggroList();
 					npc.disableCoreAI(false);
 					startQuestTimer("RETURN_SPAWN", 300000, npc, null);
 				}
 				break;
 			}
-			case "RETURN_SPAWN":
-			{
-				if (npc != null)
-				{
+			case "RETURN_SPAWN": {
+				if (npc != null) {
 					((L2Attackable) npc).setCanReturnToSpawnPoint(true);
 				}
 				break;
@@ -81,33 +72,21 @@ public class BloodyKarik extends AbstractNpcAI
 	}
 	
 	@Override
-	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
-	{
-		switch (npc.getId())
-		{
-			case BLOODY_KARIK:
-			{
+	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon) {
+		switch (npc.getId()) {
+			case BLOODY_KARIK: {
 				final double DistSpawn = npc.calculateDistance(npc.getSpawn().getLocation(), false, false);
-				if (DistSpawn > 3000)
-				{
+				if (DistSpawn > 3000) {
 					npc.disableCoreAI(true);
 					npc.teleToLocation(npc.getSpawn().getLocation());
-				}
-				else
-				{
-					if ((DistSpawn > 500) && (getRandom(100) < 1) && (npc.isInCombat()) && (!npc.isCastingNow()))
-					{
-						for (int object : BLOODY_FAMILY)
-						{
-							for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(object))
-							{
+				} else {
+					if ((DistSpawn > 500) && (getRandom(100) < 1) && (npc.isInCombat()) && (!npc.isCastingNow())) {
+						for (int object : BLOODY_FAMILY) {
+							for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(object)) {
 								final L2Npc obj = spawn.getLastSpawn();
-								if ((obj != null) && !obj.isDead() && (Math.abs(npc.getZ() - obj.getZ()) < 150))
-								{
-									if (npc.calculateDistance(obj, false, false) > obj.getTemplate().getClanHelpRange())
-									{
-										if ((npc.calculateDistance(obj, false, false) < 3000) && GeoData.getInstance().canSeeTarget(npc, obj))
-										{
+								if ((obj != null) && !obj.isDead() && (Math.abs(npc.getZ() - obj.getZ()) < 150)) {
+									if (npc.calculateDistance(obj, false, false) > obj.getTemplate().getClanHelpRange()) {
+										if ((npc.calculateDistance(obj, false, false) < 3000) && GeoData.getInstance().canSeeTarget(npc, obj)) {
 											npc.disableCoreAI(true);
 											((L2Attackable) npc).setCanReturnToSpawnPoint(false);
 											addMoveToDesire(npc, new Location(obj.getX() + getRandom(-100, 100), obj.getY() + getRandom(-100, 100), obj.getZ() + 20, 0), 0);
@@ -125,14 +104,10 @@ public class BloodyKarik extends AbstractNpcAI
 	}
 	
 	@Override
-	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
-	{
-		switch (npc.getId())
-		{
-			case BLOODY_KARIK:
-			{
-				if (getRandom(100) < 5)
-				{
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) {
+		switch (npc.getId()) {
+			case BLOODY_KARIK: {
+				if (getRandom(100) < 5) {
 					final int newZ = npc.getZ() + 20;
 					addAttackDesire(addSpawn(npc.getId(), npc.getX(), npc.getY(), newZ, npc.getHeading(), false, 0), killer);
 					addAttackDesire(addSpawn(npc.getId(), npc.getX(), npc.getY() - 10, newZ, npc.getHeading(), false, 0), killer);
@@ -147,19 +122,12 @@ public class BloodyKarik extends AbstractNpcAI
 	}
 	
 	@Override
-	protected void onTeleport(L2Npc npc)
-	{
+	protected void onTeleport(L2Npc npc) {
 		startQuestTimer("CORE_AI", 100, npc, null);
 	}
 	
 	@Override
-	public void onMoveFinished(L2Npc npc)
-	{
+	public void onMoveFinished(L2Npc npc) {
 		startQuestTimer("CORE_AI", 100, npc, null);
 	}
-	
-	public static void main(String[] args)
-	{
-		new BloodyKarik();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/BloodyKarinness.java b/src/main/java/com/l2jserver/datapack/ai/individual/BloodyKarinness.java
index d55dbc5f22c9f81b03d6af223d330ab7bcb09ffc..e9b5290938dd9fcc4f504238472749d5784ba4aa 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/BloodyKarinness.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/BloodyKarinness.java
@@ -130,8 +130,4 @@ public class BloodyKarinness extends AbstractNpcAI {
 	public void onMoveFinished(L2Npc npc) {
 		startQuestTimer("CORE_AI", 100, npc, null);
 	}
-	
-	public static void main(String[] args) {
-		new BloodyKarinness();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Core.java b/src/main/java/com/l2jserver/datapack/ai/individual/Core.java
index 490230ac2e6025fcae443c06bd8dbe9810c602c2..0120c5c067f7817eed1f2ad7c22a19e0c4ea1be5 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Core.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Core.java
@@ -57,7 +57,7 @@ public final class Core extends AbstractNpcAI {
 	
 	private final List<L2Attackable> _minions = new CopyOnWriteArrayList<>();
 	
-	private Core() {
+	public Core() {
 		super(Core.class.getSimpleName(), "ai/individual");
 		registerMobs(CORE, DEATH_KNIGHT, DOOM_WRAITH, SUSCEPTOR);
 		
@@ -191,8 +191,4 @@ public final class Core extends AbstractNpcAI {
 		}
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new Core();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/CrimsonHatuOtis.java b/src/main/java/com/l2jserver/datapack/ai/individual/CrimsonHatuOtis.java
index 0e478a7d6fc0dd4275e803c693177eaafe6ef9f3..3dc87cb1c4e1e8a9734858da2d1708e7ef514781 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/CrimsonHatuOtis.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/CrimsonHatuOtis.java
@@ -30,13 +30,13 @@ import com.l2jserver.gameserver.network.clientpackets.Say2;
  * @author Gladicek
  */
 public final class CrimsonHatuOtis extends AbstractNpcAI {
-	// Npc
+	// NPC
 	private static final int CRIMSON_HATU_OTIS = 18558;
 	// Skills
 	private static final SkillHolder BOSS_SPINING_SLASH = new SkillHolder(4737);
 	private static final SkillHolder BOSS_HASTE = new SkillHolder(4175);
 	
-	private CrimsonHatuOtis() {
+	public CrimsonHatuOtis() {
 		super(CrimsonHatuOtis.class.getSimpleName(), "ai/individual");
 		addAttackId(CRIMSON_HATU_OTIS);
 		addKillId(CRIMSON_HATU_OTIS);
@@ -85,8 +85,4 @@ public final class CrimsonHatuOtis extends AbstractNpcAI {
 		cancelQuestTimer("BUFF", npc, null);
 		return super.onKill(npc, player, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new CrimsonHatuOtis();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/DarkWaterDragon.java b/src/main/java/com/l2jserver/datapack/ai/individual/DarkWaterDragon.java
index f9babb3259d8eb99fcb2568cb005af01d3d3e173..792e4e43ab98154bc055567e76a2acda2adccc95 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/DarkWaterDragon.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/DarkWaterDragon.java
@@ -44,7 +44,7 @@ public final class DarkWaterDragon extends AbstractNpcAI {
 	private static Set<Integer> MY_TRACKING_SET = ConcurrentHashMap.newKeySet(); // Used to track instances of npcs
 	private static Map<Integer, L2PcInstance> ID_MAP = new ConcurrentHashMap<>(); // Used to track instances of npcs
 	
-	private DarkWaterDragon() {
+	public DarkWaterDragon() {
 		super(DarkWaterDragon.class.getSimpleName(), "ai/individual");
 		int[] mobs = {
 			DRAGON,
@@ -210,8 +210,4 @@ public final class DarkWaterDragon extends AbstractNpcAI {
 		((L2Attackable) shade).addDamageHate(attacker, 0, 999);
 		shade.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, attacker);
 	}
-	
-	public static void main(String[] args) {
-		new DarkWaterDragon();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/DivineBeast.java b/src/main/java/com/l2jserver/datapack/ai/individual/DivineBeast.java
index 95e84eefb57a25e2f65753e6814ba6d839223c71..8c8c400f50fa85a2f0bc87da554437959da4ff75 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/DivineBeast.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/DivineBeast.java
@@ -32,7 +32,7 @@ public final class DivineBeast extends AbstractNpcAI {
 	private static final int TRANSFORMATION_ID = 258;
 	private static final int CHECK_TIME = 2 * 1000;
 	
-	private DivineBeast() {
+	public DivineBeast() {
 		super(DivineBeast.class.getSimpleName(), "ai");
 		addSummonSpawnId(DIVINE_BEAST);
 	}
@@ -53,8 +53,4 @@ public final class DivineBeast extends AbstractNpcAI {
 		
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new DivineBeast();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/DrChaos.java b/src/main/java/com/l2jserver/datapack/ai/individual/DrChaos.java
index 0b4438e27410bc979442aef3e88f078b8c3ea68b..1a9cd4881f00adea3558965e703bf31634cda7db 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/DrChaos.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/DrChaos.java
@@ -40,7 +40,7 @@ public final class DrChaos extends Quest {
 	private static final Location PLAYER_TELEPORT = new Location(94832, -112624, -3304);
 	private static final Location NPC_LOCATION = new Location(-113091, -243942, -15536);
 	
-	private DrChaos() {
+	public DrChaos() {
 		// TODO extends AbstractNpcAI
 		super(-1, "Doctor Chaos", "ai/individual");
 		addFirstTalkId(DR_CHAOS);
@@ -106,8 +106,4 @@ public final class DrChaos extends Quest {
 		}
 		return "";
 	}
-	
-	public static void main(String[] args) {
-		new DrChaos();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/DrakosWarrior.java b/src/main/java/com/l2jserver/datapack/ai/individual/DrakosWarrior.java
index 239e1cdbfcafbe6d0afe77cdf6c3a9ef1bde5a5d..0fee3924c7e427e5fa0026c36cc83b4a53cea934 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/DrakosWarrior.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/DrakosWarrior.java
@@ -51,8 +51,4 @@ public class DrakosWarrior extends AbstractNpcAI {
 		}
 		return super.onAttack(npc, attacker, damage, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new DrakosWarrior();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/DustRider.java b/src/main/java/com/l2jserver/datapack/ai/individual/DustRider.java
index 5bcc0b681a137d10aa7b4b9d3213be6c1ca25a27..d55d4489f1d56e86721b8e33529f2fcecd1b4823 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/DustRider.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/DustRider.java
@@ -56,8 +56,4 @@ public class DustRider extends AbstractNpcAI {
 		}
 		return super.onAttack(npc, attacker, damage, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new DustRider();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/EmeraldHorn.java b/src/main/java/com/l2jserver/datapack/ai/individual/EmeraldHorn.java
index 9c2d24284cd654dfd1c89756f32d4d8542fbe3e7..00161fb45e7b58244c2842f6fdef4794002c7287 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/EmeraldHorn.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/EmeraldHorn.java
@@ -110,8 +110,4 @@ public class EmeraldHorn extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new EmeraldHorn();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Epidos.java b/src/main/java/com/l2jserver/datapack/ai/individual/Epidos.java
index 6eee8906883dabb2cbf7e37bd2eb0fcd8822d3f2..ebb2925581db8f28920a9be17a1645d0f7dd780b 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Epidos.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Epidos.java
@@ -56,7 +56,7 @@ public final class Epidos extends AbstractNpcAI {
 	
 	private final Map<Integer, Double> _lastHp = new ConcurrentHashMap<>();
 	
-	private Epidos() {
+	public Epidos() {
 		super(Epidos.class.getSimpleName(), "ai/individual");
 		addKillId(EPIDOSES);
 		addSpawnId(EPIDOSES);
@@ -114,8 +114,4 @@ public final class Epidos extends AbstractNpcAI {
 		
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new Epidos();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/EvasGiftBox.java b/src/main/java/com/l2jserver/datapack/ai/individual/EvasGiftBox.java
index 4d296b269f2bc4fa2e94fbc0091db0e14d4c63f4..3f3a7fa9ca39506ea9044eb235a9e65838fec05e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/EvasGiftBox.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/EvasGiftBox.java
@@ -37,7 +37,7 @@ public final class EvasGiftBox extends AbstractNpcAI {
 	private static final ItemHolder CORAL = new ItemHolder(9692, 1); // Red Coral
 	private static final ItemHolder CRYSTAL = new ItemHolder(9693, 1); // Crystal Fragment
 	
-	private EvasGiftBox() {
+	public EvasGiftBox() {
 		super(EvasGiftBox.class.getSimpleName(), "ai/individual");
 		addKillId(BOX);
 		addSpawnId(BOX);
@@ -63,8 +63,4 @@ public final class EvasGiftBox extends AbstractNpcAI {
 		((L2Attackable) npc).setOnKillDelay(0);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new EvasGiftBox();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/FrightenedRagnaOrc.java b/src/main/java/com/l2jserver/datapack/ai/individual/FrightenedRagnaOrc.java
index e8ba3c22f7651430e34befe8416f6be6e7e8e7f7..a5673b070c61019815b2c8faf7b4238f415a5117 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/FrightenedRagnaOrc.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/FrightenedRagnaOrc.java
@@ -44,7 +44,7 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI {
 	// Skill
 	private static final SkillHolder SKILL = new SkillHolder(6234);
 	
-	private FrightenedRagnaOrc() {
+	public FrightenedRagnaOrc() {
 		super(FrightenedRagnaOrc.class.getSimpleName(), "ai/individual");
 		addAttackId(MOB_ID);
 		addKillId(MOB_ID);
@@ -119,8 +119,4 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI {
 		}
 		return null;
 	}
-	
-	public static void main(String[] args) {
-		new FrightenedRagnaOrc();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Gordon.java b/src/main/java/com/l2jserver/datapack/ai/individual/Gordon.java
index 55ede3de281f331dd3f699bb0ef76c7d56c0c630..984ce8b42c2cb0d35a242a8dbc8c7e1a28ce3134 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Gordon.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Gordon.java
@@ -31,7 +31,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 public final class Gordon extends AbstractNpcAI {
 	private static final int GORDON = 29095;
 	
-	private Gordon() {
+	public Gordon() {
 		super(Gordon.class.getSimpleName(), "ai/individual");
 		addSpawnId(GORDON);
 		addSeeCreatureId(GORDON);
@@ -50,8 +50,4 @@ public final class Gordon extends AbstractNpcAI {
 		((L2Attackable) npc).setCanReturnToSpawnPoint(false);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new Gordon();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/GraveRobbers.java b/src/main/java/com/l2jserver/datapack/ai/individual/GraveRobbers.java
index 297df6118a8c379e7673bd220ebe026e35e8b88c..75a956e830a4fd7fb317b2da8e280df8d8cd46a3 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/GraveRobbers.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/GraveRobbers.java
@@ -33,7 +33,7 @@ public final class GraveRobbers extends AbstractNpcAI {
 	private static final int GRAVE_ROBBER_SUMMONER = 22678;
 	private static final int GRAVE_ROBBER_MEGICIAN = 22679;
 	
-	private GraveRobbers() {
+	public GraveRobbers() {
 		super(GraveRobbers.class.getSimpleName(), "ai/individual");
 		addSpawnId(GRAVE_ROBBER_SUMMONER, GRAVE_ROBBER_MEGICIAN);
 	}
@@ -43,8 +43,4 @@ public final class GraveRobbers extends AbstractNpcAI {
 		spawnMinions(npc, "Privates" + getRandom(1, 2));
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new GraveRobbers();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Knoriks.java b/src/main/java/com/l2jserver/datapack/ai/individual/Knoriks.java
index 16cab4f35fe4b37261b338667c42ba863d0f1be5..a7ed206af5e9c89d050d9744b8691edb4a2090ce 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Knoriks.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Knoriks.java
@@ -143,8 +143,4 @@ public class Knoriks extends AbstractNpcAI {
 		startQuestTimer("CORE_AI", 100, npc, null);
 		notifyEvent("CHECK_ROUTE", npc, null);
 	}
-	
-	public static void main(String[] args) {
-		new Knoriks();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/MuscleBomber.java b/src/main/java/com/l2jserver/datapack/ai/individual/MuscleBomber.java
index f324abec0c21108c3969fbe840501ed59ed524b7..e6dc261ff29c951c3b1e85a0cf1e72cf3c7da66a 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/MuscleBomber.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/MuscleBomber.java
@@ -93,8 +93,4 @@ public class MuscleBomber extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new MuscleBomber();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/NecromancerOfTheValley.java b/src/main/java/com/l2jserver/datapack/ai/individual/NecromancerOfTheValley.java
index 2eb4690032964514a89f39d770befa5ea198f541..db1652838ff6a2283d23105404427e56574f3ed0 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/NecromancerOfTheValley.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/NecromancerOfTheValley.java
@@ -69,8 +69,4 @@ public class NecromancerOfTheValley extends AbstractNpcAI {
 		}
 		return super.onSpellFinished(npc, player, skill);
 	}
-	
-	public static void main(String[] args) {
-		new NecromancerOfTheValley();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Orfen.java b/src/main/java/com/l2jserver/datapack/ai/individual/Orfen.java
index 17c2abce21a0f26f14aabdb21dd330b0fad32aa6..c0898fc761580acddf41cd64eebc18d1b13e44fa 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Orfen.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Orfen.java
@@ -80,7 +80,7 @@ public final class Orfen extends AbstractNpcAI {
 	private static final SkillHolder NPC_MORTAL_BLOW = new SkillHolder(4067, 4);
 	private static final SkillHolder ORFEN_HEAL = new SkillHolder(4516);
 	
-	private Orfen() {
+	public Orfen() {
 		super(Orfen.class.getSimpleName(), "ai/individual");
 		int[] mobs = {
 			ORFEN,
@@ -290,8 +290,4 @@ public final class Orfen extends AbstractNpcAI {
 		}
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new Orfen();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/QueenAnt.java b/src/main/java/com/l2jserver/datapack/ai/individual/QueenAnt.java
index a988a221b2ec64087e5ff5bf1d2c104f2ad33b14..5d57d77ad13d0014797b07a5cbb2ad6d66db3e80 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/QueenAnt.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/QueenAnt.java
@@ -82,7 +82,7 @@ public final class QueenAnt extends AbstractNpcAI {
 	private L2MonsterInstance _larva = null;
 	private final List<L2MonsterInstance> _nurses = new CopyOnWriteArrayList<>();
 	
-	private QueenAnt() {
+	public QueenAnt() {
 		super(QueenAnt.class.getSimpleName(), "ai/individual");
 		addSpawnId(MOBS);
 		addKillId(MOBS);
@@ -309,8 +309,4 @@ public final class QueenAnt extends AbstractNpcAI {
 		}
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new QueenAnt();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/QueenShyeed.java b/src/main/java/com/l2jserver/datapack/ai/individual/QueenShyeed.java
index 7460d84213edcdfacc72de090c346dc7131e6511..6a41c76a8542866fa5ce153b8628845a57bcf63e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/QueenShyeed.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/QueenShyeed.java
@@ -45,6 +45,12 @@ public final class QueenShyeed extends AbstractNpcAI {
 	private static final L2EffectZone MOB_BUFF_DISPLAY_ZONE = ZoneManager.getInstance().getZoneById(200104, L2EffectZone.class);
 	private static final L2EffectZone PC_BUFF_ZONE = ZoneManager.getInstance().getZoneById(200105, L2EffectZone.class);
 	
+	public QueenShyeed() {
+		super(QueenShyeed.class.getSimpleName(), "ai/individual");
+		addKillId(SHYEED);
+		spawnShyeed();
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) {
 		switch (event) {
@@ -69,12 +75,6 @@ public final class QueenShyeed extends AbstractNpcAI {
 		return super.onKill(npc, killer, isSummon);
 	}
 	
-	private QueenShyeed() {
-		super(QueenShyeed.class.getSimpleName(), "ai/individual");
-		addKillId(SHYEED);
-		spawnShyeed();
-	}
-	
 	private void spawnShyeed() {
 		final String respawn = loadGlobalQuestVar("Respawn");
 		final long remain = (!respawn.isEmpty()) ? Long.parseLong(respawn) - System.currentTimeMillis() : 0;
@@ -96,8 +96,4 @@ public final class QueenShyeed extends AbstractNpcAI {
 		MOB_BUFF_ZONE.setEnabled(false);
 		MOB_BUFF_DISPLAY_ZONE.setEnabled(false);
 	}
-	
-	public static void main(String[] args) {
-		new QueenShyeed();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcCommander.java b/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcCommander.java
index 1e5a65c641835da884aa2c20aa9c885d9080a103..0da4a317d83558098c08a9bbc470ad6867e29bcb 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcCommander.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcCommander.java
@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 public final class RagnaOrcCommander extends AbstractNpcAI {
 	private static final int RAGNA_ORC_COMMANDER = 22694;
 	
-	private RagnaOrcCommander() {
+	public RagnaOrcCommander() {
 		super(RagnaOrcCommander.class.getSimpleName(), "ai/individual");
 		addSpawnId(RAGNA_ORC_COMMANDER);
 	}
@@ -39,8 +39,4 @@ public final class RagnaOrcCommander extends AbstractNpcAI {
 		spawnMinions(npc, getRandomBoolean() ? "Privates2" : "Privates3");
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new RagnaOrcCommander();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcHero.java b/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcHero.java
index 184f88be6425441e45356ccea61c3aea69eb9fb9..155329abc2d5fea03e55f3e169f4908f66ac31e0 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcHero.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcHero.java
@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 public final class RagnaOrcHero extends AbstractNpcAI {
 	private static final int RAGNA_ORC_HERO = 22693;
 	
-	private RagnaOrcHero() {
+	public RagnaOrcHero() {
 		super(RagnaOrcHero.class.getSimpleName(), "ai/individual");
 		addSpawnId(RAGNA_ORC_HERO);
 	}
@@ -38,8 +38,4 @@ public final class RagnaOrcHero extends AbstractNpcAI {
 		spawnMinions(npc, getRandom(100) < 70 ? "Privates1" : "Privates2");
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new RagnaOrcHero();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcSeer.java b/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcSeer.java
index 910462fdeb186de70e40af492ba4cd2265b69c6b..bd8d44ae7cb9da32a05d51dc891622ff44578950 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcSeer.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/RagnaOrcSeer.java
@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 public final class RagnaOrcSeer extends AbstractNpcAI {
 	private static final int RAGNA_ORC_SEER = 22697;
 	
-	private RagnaOrcSeer() {
+	public RagnaOrcSeer() {
 		super(RagnaOrcSeer.class.getSimpleName(), "ai/individual");
 		addSpawnId(RAGNA_ORC_SEER);
 	}
@@ -38,8 +38,4 @@ public final class RagnaOrcSeer extends AbstractNpcAI {
 		spawnMinions(npc, "Privates" + getRandom(1, 2));
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new RagnaOrcSeer();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Sailren/Sailren.java b/src/main/java/com/l2jserver/datapack/ai/individual/Sailren/Sailren.java
index 23e8524894e9cf7b02681d2bfc3460308772cf2f..088d37876c2a8a0cf072d19fbd05a944ba0ebd9e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Sailren/Sailren.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Sailren/Sailren.java
@@ -62,7 +62,7 @@ public final class Sailren extends AbstractNpcAI {
 		DEAD
 	}
 	
-	private Sailren() {
+	public Sailren() {
 		super(Sailren.class.getSimpleName(), "ai/individual");
 		addStartNpc(STATUE, CUBIC);
 		addTalkId(STATUE, CUBIC);
@@ -263,8 +263,4 @@ public final class Sailren extends AbstractNpcAI {
 		}
 		return super.unload(removeFromList);
 	}
-	
-	public static void main(String[] args) {
-		new Sailren();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/ShadowSummoner.java b/src/main/java/com/l2jserver/datapack/ai/individual/ShadowSummoner.java
index 6d79dc21bc770728393307cd6acb8d32d1484892..acb2243f3a22adfd229b389c15a9ba61c86f8f4d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/ShadowSummoner.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/ShadowSummoner.java
@@ -109,8 +109,4 @@ public class ShadowSummoner extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new ShadowSummoner();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/SinEater.java b/src/main/java/com/l2jserver/datapack/ai/individual/SinEater.java
index 7866d475d9812b54d3797e1fd2889e129beeed1c..bbc60f3a9bdb1a5c54917480c066b9d99272faba 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/SinEater.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/SinEater.java
@@ -35,13 +35,13 @@ import com.l2jserver.gameserver.network.serverpackets.NpcSay;
 
 /**
  * Sin Eater AI.
- * @author St3eT.
+ * @author St3eT
  */
 public final class SinEater extends AbstractNpcAI {
 	// NPCs
 	private static final int SIN_EATER = 12564;
 	
-	private SinEater() {
+	public SinEater() {
 		super(SinEater.class.getSimpleName(), "ai/individual");
 		addSummonSpawnId(SIN_EATER);
 		addSummonTalkId(SIN_EATER);
@@ -131,8 +131,4 @@ public final class SinEater extends AbstractNpcAI {
 	private void broadcastSummonSay(L2Summon summon, NpcStringId npcstringId) {
 		summon.broadcastPacket(new NpcSay(summon.getObjectId(), Say2.NPC_ALL, summon.getId(), npcstringId));
 	}
-	
-	public static void main(String[] args) {
-		new SinEater();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/SinWardens.java b/src/main/java/com/l2jserver/datapack/ai/individual/SinWardens.java
index c77670de81d1e5aac96f9db336bffe69a65c04a4..88d23d73bce31a2bed4310af4d5f6b87f67b2478 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/SinWardens.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/SinWardens.java
@@ -53,7 +53,7 @@ public final class SinWardens extends AbstractNpcAI {
 	
 	private final Map<Integer, Integer> killedMinionsCount = new ConcurrentHashMap<>();
 	
-	private SinWardens() {
+	public SinWardens() {
 		super(SinWardens.class.getSimpleName(), "ai/individual");
 		addKillId(SIN_WARDEN_MINIONS);
 	}
@@ -77,8 +77,4 @@ public final class SinWardens extends AbstractNpcAI {
 		}
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new SinWardens();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Valakas.java b/src/main/java/com/l2jserver/datapack/ai/individual/Valakas.java
index cf6ea62ca3d38d8a2f0f7dd8bdfb0163f9a3388e..41e8177f04d73e4cef77f22ac0d6aa2e47a25755 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Valakas.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Valakas.java
@@ -114,7 +114,7 @@ public final class Valakas extends AbstractNpcAI {
 	private L2Playable _actualVictim; // Actual target of Valakas.
 	private static L2BossZone ZONE;
 	
-	private Valakas() {
+	public Valakas() {
 		super(Valakas.class.getSimpleName(), "ai/individual");
 		registerMobs(VALAKAS);
 		
@@ -468,8 +468,4 @@ public final class Valakas extends AbstractNpcAI {
 		
 		return (result.isEmpty()) ? null : result.get(getRandom(result.size()));
 	}
-	
-	public static void main(String[] args) {
-		new Valakas();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/individual/Venom/Venom.java b/src/main/java/com/l2jserver/datapack/ai/individual/Venom/Venom.java
index d82612554f096887dff9b51695fdaf1e5fab078f..fc5db8fbb5b1e20db0145671e1696b04528a9566 100644
--- a/src/main/java/com/l2jserver/datapack/ai/individual/Venom/Venom.java
+++ b/src/main/java/com/l2jserver/datapack/ai/individual/Venom/Venom.java
@@ -96,7 +96,7 @@ public final class Venom extends AbstractNpcAI {
 	
 	private static List<L2PcInstance> _targets = new ArrayList<>();
 	
-	private Venom() {
+	public Venom() {
 		super(Venom.class.getSimpleName(), "ai/individual");
 		addStartNpc(DUNGEON_KEEPER, TELEPORT_CUBE);
 		addFirstTalkId(DUNGEON_KEEPER, TELEPORT_CUBE);
@@ -346,8 +346,4 @@ public final class Venom extends AbstractNpcAI {
 		THRONE,
 		PRISON
 	}
-	
-	public static void main(String[] args) {
-		new Venom();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Abercrombie/Abercrombie.java b/src/main/java/com/l2jserver/datapack/ai/npc/Abercrombie/Abercrombie.java
index d9d77de1c57cd88ced6a62e1be8032ff986509eb..c7f2d9a65cdb396df0f813eb165c87b74fddb2b6 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Abercrombie/Abercrombie.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Abercrombie/Abercrombie.java
@@ -50,8 +50,4 @@ public final class Abercrombie extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new Abercrombie();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Alarm/Alarm.java b/src/main/java/com/l2jserver/datapack/ai/npc/Alarm/Alarm.java
index 1cc563a3cb429e6df131754f21ac893243eb245c..b8bc2b78b797ff810f29c3a2d89d13636c2245dd 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Alarm/Alarm.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Alarm/Alarm.java
@@ -39,7 +39,7 @@ public final class Alarm extends AbstractNpcAI {
 	private static final int ART_OF_PERSUASION_ID = 184;
 	private static final int NIKOLAS_COOPERATION_ID = 185;
 	
-	private Alarm() {
+	public Alarm() {
 		super(Alarm.class.getSimpleName(), "ai/npc");
 		addStartNpc(ALARM);
 		addTalkId(ALARM);
@@ -281,8 +281,4 @@ public final class Alarm extends AbstractNpcAI {
 			qs.setMemoStateEx(slot, memoStateEx);
 		}
 	}
-	
-	public static void main(String[] args) {
-		new Alarm();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Alexandria/Alexandria.java b/src/main/java/com/l2jserver/datapack/ai/npc/Alexandria/Alexandria.java
index c678bc76770cae4a99169a963f07582923cbf563..8717dce8055470605420d2b04527b4b3a6693ed3 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Alexandria/Alexandria.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Alexandria/Alexandria.java
@@ -69,7 +69,7 @@ public final class Alexandria extends AbstractNpcAI {
 		AGATHIONS.put("littleDevil", Arrays.asList(LITTLE_DEVILS));
 	}
 	
-	private Alexandria() {
+	public Alexandria() {
 		super(Alexandria.class.getSimpleName(), "ai/npc");
 		addStartNpc(ALEXANDRIA);
 		addTalkId(ALEXANDRIA);
@@ -119,8 +119,4 @@ public final class Alexandria extends AbstractNpcAI {
 			return _additionalId;
 		}
 	}
-	
-	public static void main(String[] args) {
-		new Alexandria();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ArenaManager/ArenaManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/ArenaManager/ArenaManager.java
index 8c29c18a5e87c2a596eb769ce1c18c67a0f3aa87..6224b18c41e14f44e675f9100d642d0dabb6ed6c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/ArenaManager/ArenaManager.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/ArenaManager/ArenaManager.java
@@ -52,7 +52,7 @@ public class ArenaManager extends AbstractNpcAI {
 	private static final int HP_COST = 1000;
 	private static final int BUFF_COST = 2000;
 	
-	private ArenaManager() {
+	public ArenaManager() {
 		super(ArenaManager.class.getSimpleName(), "ai/npc");
 		addStartNpc(ARENA_MANAGER);
 		addTalkId(ARENA_MANAGER);
@@ -109,8 +109,4 @@ public class ArenaManager extends AbstractNpcAI {
 		}
 		return null;
 	}
-	
-	public static void main(String[] args) {
-		new ArenaManager();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Asamah/Asamah.java b/src/main/java/com/l2jserver/datapack/ai/npc/Asamah/Asamah.java
index dd50e76c8f8edf2930b2ecdd2f01b52e5e1e4c5b..4ac40dcda902be4de0f3afc232fdf60b795f8dd5 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Asamah/Asamah.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Asamah/Asamah.java
@@ -44,7 +44,6 @@ public final class Asamah extends AbstractNpcAI {
 		if (event.equals("32115-03.htm") || event.equals("32115-04.htm")) {
 			htmltext = event;
 		}
-		
 		return htmltext;
 	}
 	
@@ -53,8 +52,4 @@ public final class Asamah extends AbstractNpcAI {
 		final QuestState st = player.getQuestState(Q00111_ElrokianHuntersProof.class.getSimpleName());
 		return ((st != null) && (st.isCompleted())) ? "32115-01.htm" : "32115-02.htm";
 	}
-	
-	public static void main(String[] args) {
-		new Asamah();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java b/src/main/java/com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java
index 776d044d235e3f38f693d0ecbb042a0a45f10dd3..a1971b4e570b53695b9050a0e12c5cd8e77029f3 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java
@@ -288,8 +288,4 @@ public class AvantGarde extends AbstractNpcAI {
 			player.sendPacket(asl);
 		}
 	}
-	
-	public static void main(String[] args) {
-		new AvantGarde();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/BlackJudge/BlackJudge.java b/src/main/java/com/l2jserver/datapack/ai/npc/BlackJudge/BlackJudge.java
index 4583370f9e5e35cef3eea5d387999bd79fe689ea..1f3a0be1523989ea1cd9cf7d0679a710e6872ef5 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/BlackJudge/BlackJudge.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/BlackJudge/BlackJudge.java
@@ -40,7 +40,7 @@ public class BlackJudge extends AbstractNpcAI {
 	};
 	// @formatter:on
 	
-	private BlackJudge() {
+	public BlackJudge() {
 		super(BlackJudge.class.getSimpleName(), "ai/npc");
 		addStartNpc(BLACK_JUDGE);
 		addTalkId(BLACK_JUDGE);
@@ -76,8 +76,4 @@ public class BlackJudge extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new BlackJudge();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java b/src/main/java/com/l2jserver/datapack/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
index f90dd55a8b3c3d32b29025bf4ae0429b52898e0b..b8d75dedd2a9bc85f25a49019bd752902e85f359 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
@@ -38,7 +38,7 @@ public final class BlackMarketeerOfMammon extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_LEVEL = 60;
 	
-	private BlackMarketeerOfMammon() {
+	public BlackMarketeerOfMammon() {
 		super(BlackMarketeerOfMammon.class.getSimpleName(), "ai/npc");
 		addStartNpc(BLACK_MARKETEER);
 		addTalkId(BLACK_MARKETEER);
@@ -84,8 +84,4 @@ public final class BlackMarketeerOfMammon extends AbstractNpcAI {
 		LocalTime localTime = LocalTime.now();
 		return (localTime.isAfter(LocalTime.parse("20:00:00")) && localTime.isBefore(LocalTime.MAX));
 	}
-	
-	public static void main(String[] args) {
-		new BlackMarketeerOfMammon();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleAmbassador/CastleAmbassador.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleAmbassador/CastleAmbassador.java
index af1d374fd966692c875bce7fd6dcd9f5ade0745b..19f0bfeb7ad07901a5849aa2eae729e192853322 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleAmbassador/CastleAmbassador.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleAmbassador/CastleAmbassador.java
@@ -47,7 +47,7 @@ public final class CastleAmbassador extends AbstractNpcAI {
 	};
 	// @formatter:on
 	
-	private CastleAmbassador() {
+	public CastleAmbassador() {
 		super(CastleAmbassador.class.getSimpleName(), "ai/npc");
 		addStartNpc(CASTLE_AMBASSADOR);
 		addTalkId(CASTLE_AMBASSADOR);
@@ -143,8 +143,4 @@ public final class CastleAmbassador extends AbstractNpcAI {
 		}
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new CastleAmbassador();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleBlacksmith/CastleBlacksmith.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleBlacksmith/CastleBlacksmith.java
index 8521842fb6d377a0f49f6d348eaf2bc08cc3c1a0..f437b7d35af157ab7b3dec6c0d585a0349435ae4 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleBlacksmith/CastleBlacksmith.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleBlacksmith/CastleBlacksmith.java
@@ -42,7 +42,7 @@ public final class CastleBlacksmith extends AbstractNpcAI {
 		35553, // Blacksmith (Schuttgart)
 	};
 	
-	private CastleBlacksmith() {
+	public CastleBlacksmith() {
 		super(CastleBlacksmith.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -62,8 +62,4 @@ public final class CastleBlacksmith extends AbstractNpcAI {
 	public String onFirstTalk(L2Npc npc, L2PcInstance player) {
 		return (hasRights(player, npc)) ? npc.getId() + "-01.html" : "no.html";
 	}
-	
-	public static void main(String[] args) {
-		new CastleBlacksmith();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java
index b1d360ac336e64a9ff5ac4e9f1723581254e80b2..d4ab3400b217df4381e722bad614e0c17095ecd1 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java
@@ -133,7 +133,7 @@ public final class CastleChamberlain extends AbstractNpcAI {
 		new SkillHolder(4360, 1), // Death Whisper Lv.1
 	};
 	
-	private CastleChamberlain() {
+	public CastleChamberlain() {
 		super(CastleChamberlain.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPC);
 		addTalkId(NPC);
@@ -1059,8 +1059,4 @@ public final class CastleChamberlain extends AbstractNpcAI {
 			}
 		}
 	}
-	
-	public static void main(String[] args) {
-		new CastleChamberlain();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleCourtMagician/CastleCourtMagician.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleCourtMagician/CastleCourtMagician.java
index 9f3b74959168250f138fb2e164b08c357c48cff8..5c1bfd13660746d86345d3264e69cbe93a131665 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleCourtMagician/CastleCourtMagician.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleCourtMagician/CastleCourtMagician.java
@@ -111,7 +111,7 @@ public final class CastleCourtMagician extends AbstractNpcAI {
 		10419, // White Talisman - Darkness
 	};
 	
-	private CastleCourtMagician() {
+	public CastleCourtMagician() {
 		super(CastleCourtMagician.class.getSimpleName(), "ai/npc");
 		addStartNpc(COURT_MAGICIAN);
 		addTalkId(COURT_MAGICIAN);
@@ -228,8 +228,4 @@ public final class CastleCourtMagician extends AbstractNpcAI {
 	public String onFirstTalk(L2Npc npc, L2PcInstance player) {
 		return ((player.getClan() != null) && (player.getClanId() == npc.getCastle().getOwnerId())) ? "courtmagician.html" : "courtmagician-01.html";
 	}
-	
-	public static void main(String[] args) {
-		new CastleCourtMagician();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleMercenaryManager/CastleMercenaryManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleMercenaryManager/CastleMercenaryManager.java
index 8ec28e900eaf82791b980a56795fe3eff103c116..b8214d926243302152270ce8cf50fd671a9547a9 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleMercenaryManager/CastleMercenaryManager.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleMercenaryManager/CastleMercenaryManager.java
@@ -48,7 +48,7 @@ public final class CastleMercenaryManager extends AbstractNpcAI {
 		35557, // Kendrew
 	};
 	
-	private CastleMercenaryManager() {
+	public CastleMercenaryManager() {
 		super(CastleMercenaryManager.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -118,8 +118,4 @@ public final class CastleMercenaryManager extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new CastleMercenaryManager();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleSiegeManager/CastleSiegeManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleSiegeManager/CastleSiegeManager.java
index f4ed6f04e4669ab1facd831b5e1faa61220e3073..5c51e1f5b4e0296474c2a6826e072684786465ce 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleSiegeManager/CastleSiegeManager.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleSiegeManager/CastleSiegeManager.java
@@ -42,7 +42,7 @@ public final class CastleSiegeManager extends AbstractNpcAI {
 		35420, // Devastated Castle
 	};
 	
-	private CastleSiegeManager() {
+	public CastleSiegeManager() {
 		super(CastleSiegeManager.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(SIEGE_MANAGER);
 	}
@@ -76,8 +76,4 @@ public final class CastleSiegeManager extends AbstractNpcAI {
 		}
 		return false;
 	}
-	
-	public static void main(String[] args) {
-		new CastleSiegeManager();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleTeleporter/CastleTeleporter.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleTeleporter/CastleTeleporter.java
index 573b82f8665c6a9c14a74f72c044648a87e791c8..c78c2d608cbb9a56f4bdafadbf33ebb6f983bced 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleTeleporter/CastleTeleporter.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleTeleporter/CastleTeleporter.java
@@ -46,7 +46,7 @@ public final class CastleTeleporter extends AbstractNpcAI {
 		35547, // Mass Gatekeeper (Schuttgart)
 	};
 	
-	private CastleTeleporter() {
+	public CastleTeleporter() {
 		super(CastleTeleporter.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -84,8 +84,4 @@ public final class CastleTeleporter extends AbstractNpcAI {
 		final Siege siege = npc.getCastle().getSiege();
 		return (npc.isScriptValue(0)) ? (siege.isInProgress() && (siege.getControlTowerCount() == 0)) ? "teleporter-02.html" : "teleporter-01.html" : "teleporter-03.html";
 	}
-	
-	public static void main(String[] args) {
-		new CastleTeleporter();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/CastleWarehouse/CastleWarehouse.java b/src/main/java/com/l2jserver/datapack/ai/npc/CastleWarehouse/CastleWarehouse.java
index 92712031a0cac57f3b11eaa6568d371ff16e6614..2839cef091857bcd0d5977830d6a7504a1189a9c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/CastleWarehouse/CastleWarehouse.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/CastleWarehouse/CastleWarehouse.java
@@ -43,7 +43,7 @@ public final class CastleWarehouse extends AbstractNpcAI {
 	private static final int BLOOD_OATH = 9910;
 	private static final int BLOOD_ALLIANCE = 9911;
 	
-	private CastleWarehouse() {
+	public CastleWarehouse() {
 		super(CastleWarehouse.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -94,8 +94,4 @@ public final class CastleWarehouse extends AbstractNpcAI {
 	public String onFirstTalk(L2Npc npc, L2PcInstance player) {
 		return "warehouse-01.html";
 	}
-	
-	public static void main(String[] args) {
-		new CastleWarehouse();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java b/src/main/java/com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java
index 92a539633bd7b51f4af9434b44ed1807e811aa19..8ad29ba3be38b07dc31da9d1dfc89f271491bdde 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java
@@ -45,7 +45,7 @@ public final class ClanTrader extends AbstractNpcAI {
 	private static final int KNIGHTS_EPAULETTE = 9912; // Knight's Epaulette
 	private static final int KNIGHTS_EPAULETTE_COUNT = 100; // Knight's Epaulette Count
 	
-	private ClanTrader() {
+	public ClanTrader() {
 		super(ClanTrader.class.getSimpleName(), "ai/npc");
 		addStartNpc(CLAN_TRADER);
 		addTalkId(CLAN_TRADER);
@@ -103,8 +103,4 @@ public final class ClanTrader extends AbstractNpcAI {
 		}
 		return npc.getId() + "-01.html";
 	}
-	
-	public static void main(String[] args) {
-		new ClanTrader();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java b/src/main/java/com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java
index 32976eeafb4979a5b9f203515991d492410e036d..cb02665d905f310e9c122ae4ddc789a1f8987dca 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java
@@ -54,7 +54,7 @@ public final class ClassMaster extends AbstractNpcAI {
 	// Vars
 	private static final int CUSTOM_EVENT_ID = 1001;
 	
-	private ClassMaster() {
+	public ClassMaster() {
 		super(ClassMaster.class.getSimpleName(), "ai/npc");
 		addStartNpc(MR_CAT, MISS_QUEEN);
 		addFirstTalkId(MR_CAT, MISS_QUEEN);
@@ -449,8 +449,4 @@ public final class ClassMaster extends AbstractNpcAI {
 		}
 		return sb.toString();
 	}
-	
-	public static void main(String[] args) {
-		new ClassMaster();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Dorian/Dorian.java b/src/main/java/com/l2jserver/datapack/ai/npc/Dorian/Dorian.java
index bab76395f4fb3e7f4351987947845bf9105584d6..04b2298084313f56ff3ddf9a508e8828937ebc00 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Dorian/Dorian.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Dorian/Dorian.java
@@ -38,7 +38,7 @@ public final class Dorian extends AbstractNpcAI {
 	private static final int SILVER_CROSS = 7153;
 	private static final int BROKEN_SILVER_CROSS = 7154;
 	
-	private Dorian() {
+	public Dorian() {
 		super(Dorian.class.getSimpleName(), "ai/npc");
 		addSeeCreatureId(DORIAN);
 	}
@@ -57,8 +57,4 @@ public final class Dorian extends AbstractNpcAI {
 		}
 		return super.onSeeCreature(npc, creature, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new Dorian();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/DragonVortex/DragonVortex.java b/src/main/java/com/l2jserver/datapack/ai/npc/DragonVortex/DragonVortex.java
index 8917f9d3b8ee4da596ca95c502646e74e3ad9a9e..8a44ac63cd3402e1bda6f7832de16ed894f0f52b 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/DragonVortex/DragonVortex.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/DragonVortex/DragonVortex.java
@@ -49,7 +49,7 @@ public final class DragonVortex extends AbstractNpcAI {
 	private static final Location SPOT_3 = new Location(121637, 113657, -3792);
 	private static final Location SPOT_4 = new Location(109346, 111849, -3040);
 	
-	private DragonVortex() {
+	public DragonVortex() {
 		super(DragonVortex.class.getSimpleName(), "ai/npc");
 		addStartNpc(DRAGON_VORTEX);
 		addFirstTalkId(DRAGON_VORTEX);
@@ -119,8 +119,4 @@ public final class DragonVortex extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new DragonVortex();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/EchoCrystals/EchoCrystals.java b/src/main/java/com/l2jserver/datapack/ai/npc/EchoCrystals/EchoCrystals.java
index 5d7a17b5b27b1b508d368d208aac5051fa9c52fb..d7b6683cacd88bb9ea5542577fc00c23d5f3e5a2 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/EchoCrystals/EchoCrystals.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/EchoCrystals/EchoCrystals.java
@@ -79,7 +79,7 @@ public final class EchoCrystals extends AbstractNpcAI {
 		SCORES.put(4418, new RewardInfo(4416, "17", "02", "03"));
 	}
 	
-	private EchoCrystals() {
+	public EchoCrystals() {
 		super(EchoCrystals.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCs);
 		addTalkId(NPCs);
@@ -102,8 +102,4 @@ public final class EchoCrystals extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new EchoCrystals();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/FameManager/FameManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/FameManager/FameManager.java
index 4908e2ee65fb394b71711277b68340070309a3b0..a22171c0459f2ea0f1d3134d6bb590fb33e9bee0 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/FameManager/FameManager.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/FameManager/FameManager.java
@@ -41,7 +41,7 @@ public final class FameManager extends AbstractNpcAI {
 	private static final int MIN_CLAN_LVL = 5;
 	private static final int CLASS_LVL = 2;
 	
-	private FameManager() {
+	public FameManager() {
 		super(FameManager.class.getSimpleName(), "ai/npc");
 		addStartNpc(FAME_MANAGER);
 		addTalkId(FAME_MANAGER);
@@ -100,8 +100,4 @@ public final class FameManager extends AbstractNpcAI {
 	public String onFirstTalk(L2Npc npc, L2PcInstance player) {
 		return ((player.getFame() > 0) && (player.getLevel() >= MIN_LVL) && (player.getClassId().level() >= CLASS_LVL)) ? npc.getId() + ".html" : npc.getId() + "-01.html";
 	}
-	
-	public static void main(String[] args) {
-		new FameManager();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java b/src/main/java/com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java
index 585f1f1af3ead533ef4b7a9e522237118b08bd5b..426154087dfa332ad3d8131495b054d0638a7d25 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java
@@ -131,8 +131,4 @@ public class Fisherman extends AbstractNpcAI {
 			}
 		}
 	}
-	
-	public static void main(String[] args) {
-		new Fisherman();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/ForgeOfTheGods.java b/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/ForgeOfTheGods.java
index 906bbac5bbd7061bd592489ce1c7ec2f3ba80a14..260cd6346f6ae04eeb1d694aae3ec9774be85e2d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/ForgeOfTheGods.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/ForgeOfTheGods.java
@@ -78,7 +78,7 @@ public final class ForgeOfTheGods extends AbstractNpcAI {
 	
 	// private static int _npcsAlive = 0; TODO: Require zone spawn support
 	
-	private ForgeOfTheGods() {
+	public ForgeOfTheGods() {
 		super(ForgeOfTheGods.class.getSimpleName(), "ai/npc");
 		addKillId(FOG_MOBS);
 		addSpawnId(LAVASAURUSES);
@@ -161,8 +161,4 @@ public final class ForgeOfTheGods extends AbstractNpcAI {
 		}
 		return mob;
 	}
-	
-	public static void main(String[] args) {
-		new ForgeOfTheGods();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/Rooney.java b/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/Rooney.java
index f96774d8c2504f5bf7bec1e88509a6113f30d6e7..8c7e5f5f7385dda9cf97d6b6e10f68418b8f4138 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/Rooney.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/Rooney.java
@@ -44,7 +44,7 @@ public final class Rooney extends AbstractNpcAI {
 		new Location(186418, -112998, -3272)
 	};
 	
-	private Rooney() {
+	public Rooney() {
 		super(Rooney.class.getSimpleName(), "ai/npc");
 		addSeeCreatureId(ROONEY);
 		addSpawn(ROONEY, LOCATIONS[getRandom(LOCATIONS.length)], false, 0);
@@ -100,8 +100,4 @@ public final class Rooney extends AbstractNpcAI {
 		}
 		return super.onSeeCreature(npc, creature, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new Rooney();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/TarBeetle.java b/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/TarBeetle.java
index bd59159978b7687fe8cdd20356b5e0d8e36858b6..0406cf36733a79c4be2941e5c1579693cd696bb3 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/TarBeetle.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/ForgeOfTheGods/TarBeetle.java
@@ -42,7 +42,7 @@ public final class TarBeetle extends AbstractNpcAI {
 	
 	private static final TarBeetleSpawn spawn = new TarBeetleSpawn();
 	
-	private TarBeetle() {
+	public TarBeetle() {
 		super(TarBeetle.class.getSimpleName(), "ai/npc");
 		addAggroRangeEnterId(TAR_BEETLE);
 		addSpellFinishedId(TAR_BEETLE);
@@ -82,8 +82,4 @@ public final class TarBeetle extends AbstractNpcAI {
 		spawn.unload();
 		return super.unload();
 	}
-	
-	public static void main(String[] args) {
-		new TarBeetle();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/FortressArcherCaptain/FortressArcherCaptain.java b/src/main/java/com/l2jserver/datapack/ai/npc/FortressArcherCaptain/FortressArcherCaptain.java
index 00f843662d5ea78f4f0880178892eaab63d25478..1adc88b93ad8d6e4c3a752aed57cc547e591cc12 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/FortressArcherCaptain/FortressArcherCaptain.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/FortressArcherCaptain/FortressArcherCaptain.java
@@ -52,7 +52,7 @@ public final class FortressArcherCaptain extends AbstractNpcAI {
 		36358, // Monastic Fortress
 	};
 	
-	private FortressArcherCaptain() {
+	public FortressArcherCaptain() {
 		super(FortressArcherCaptain.class.getSimpleName(), "ai/npc");
 		addStartNpc(ARCHER_CAPTAIN);
 		addFirstTalkId(ARCHER_CAPTAIN);
@@ -63,8 +63,4 @@ public final class FortressArcherCaptain extends AbstractNpcAI {
 		final int fortOwner = npc.getFort().getOwnerClan() == null ? 0 : npc.getFort().getOwnerClan().getId();
 		return ((player.getClan() != null) && (player.getClanId() == fortOwner)) ? "FortressArcherCaptain.html" : "FortressArcherCaptain-01.html";
 	}
-	
-	public static void main(String[] args) {
-		new FortressArcherCaptain();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java
index 6a599e18e2f3d7a83b951c450c75b56f295614ef..6fc494505773e783e352e831e71f7d4f8c35327d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java
@@ -62,7 +62,7 @@ public final class FortressSiegeManager extends AbstractNpcAI {
 		36356, // Monastic Fortress
 	};
 	
-	private FortressSiegeManager() {
+	public FortressSiegeManager() {
 		super(FortressSiegeManager.class.getSimpleName(), "ai/npc");
 		addStartNpc(MANAGERS);
 		addTalkId(MANAGERS);
@@ -172,8 +172,4 @@ public final class FortressSiegeManager extends AbstractNpcAI {
 		html.replace("%objectId%", npc.getObjectId());
 		return html.getHtml();
 	}
-	
-	public static void main(String[] args) {
-		new FortressSiegeManager();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/FreyasSteward/FreyasSteward.java b/src/main/java/com/l2jserver/datapack/ai/npc/FreyasSteward/FreyasSteward.java
index 8c25bf962890406b220638d547fe41cbbcb2b2d0..7bb8e4308c38dbbfbc41c8fe9b14638015c8d2c9 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/FreyasSteward/FreyasSteward.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/FreyasSteward/FreyasSteward.java
@@ -35,7 +35,7 @@ public final class FreyasSteward extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_LEVEL = 82;
 	
-	private FreyasSteward() {
+	public FreyasSteward() {
 		super(FreyasSteward.class.getSimpleName(), "ai/npc");
 		addStartNpc(FREYAS_STEWARD);
 		addFirstTalkId(FREYAS_STEWARD);
@@ -55,8 +55,4 @@ public final class FreyasSteward extends AbstractNpcAI {
 		}
 		return "32029-1.html";
 	}
-	
-	public static void main(String[] args) {
-		new FreyasSteward();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Jinia/Jinia.java b/src/main/java/com/l2jserver/datapack/ai/npc/Jinia/Jinia.java
index 52d4cfe1e6ba0faf275dbf46723b6b66a6d5052f..b8a77ccf045ee7c1822ef0e1b72955e422b0c261 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Jinia/Jinia.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Jinia/Jinia.java
@@ -37,7 +37,7 @@ public final class Jinia extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_LEVEL = 82;
 	
-	private Jinia() {
+	public Jinia() {
 		super(Jinia.class.getSimpleName(), "ai/npc");
 		addStartNpc(JINIA);
 		addFirstTalkId(JINIA);
@@ -83,8 +83,4 @@ public final class Jinia extends AbstractNpcAI {
 		}
 		return "32781-01.html";
 	}
-	
-	public static void main(String[] args) {
-		new Jinia();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Katenar/Katenar.java b/src/main/java/com/l2jserver/datapack/ai/npc/Katenar/Katenar.java
index 6216dd1a1a2f5ddbba7ba93d46bb6e0203f0deaf..4222d93c9346a898920080877bdd6db515e88be1 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Katenar/Katenar.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Katenar/Katenar.java
@@ -36,7 +36,7 @@ public final class Katenar extends AbstractNpcAI {
 	// Item
 	private static final int SEALED_DOCUMENT = 9803;
 	
-	private Katenar() {
+	public Katenar() {
 		super(Katenar.class.getSimpleName(), "ai/npc");
 		addStartNpc(KATENAR);
 		addTalkId(KATENAR);
@@ -112,8 +112,4 @@ public final class Katenar extends AbstractNpcAI {
 		}
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new Katenar();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/KetraOrcSupport/KetraOrcSupport.java b/src/main/java/com/l2jserver/datapack/ai/npc/KetraOrcSupport/KetraOrcSupport.java
index 5db7a2a84f59ff14e19515e4affe2cc37ab224fd..5965e69a3122959fab5639a5a6587a2a8188ae2f 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/KetraOrcSupport/KetraOrcSupport.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/KetraOrcSupport/KetraOrcSupport.java
@@ -82,7 +82,7 @@ public final class KetraOrcSupport extends AbstractNpcAI {
 		BUFF.put(8, new BuffsData(4357, 6)); // Haste: Requires 6 Buffalo Horns
 	}
 	
-	private KetraOrcSupport() {
+	public KetraOrcSupport() {
 		super(KetraOrcSupport.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(KADUN, WAHKAN, ASEFA, ATAN, JAFF, JUMARA, KURFA);
 		addTalkId(ASEFA, KURFA, JAFF);
@@ -181,8 +181,4 @@ public final class KetraOrcSupport extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String args[]) {
-		new KetraOrcSupport();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Kier/Kier.java b/src/main/java/com/l2jserver/datapack/ai/npc/Kier/Kier.java
index 3a63b415229c844a3cfc51b543ea7b452d6e139d..b5be11567771d8157b7bbf4945e46e0a55aecf3a 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Kier/Kier.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Kier/Kier.java
@@ -34,7 +34,7 @@ public final class Kier extends AbstractNpcAI {
 	// NPC
 	private static final int KIER = 32022;
 	
-	private Kier() {
+	public Kier() {
 		super(Kier.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(KIER);
 	}
@@ -59,8 +59,4 @@ public final class Kier extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new Kier();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java
index 5fc21d9759a68733de565cd691a3364aaa70ef57..792542f53719de8e68a5da55212d95cf739d5acc 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java
@@ -142,8 +142,4 @@ public final class ManorManager extends AbstractNpcAI {
 				_log.warning(getClass().getSimpleName() + ": Player " + player.getName() + " (" + player.getObjectId() + ") send unknown request id " + evt.getRequest() + "!");
 		}
 	}
-	
-	public static void main(String[] args) {
-		new ManorManager();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java b/src/main/java/com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java
index 4a307e59999c599a0285556e4b5a075c090bb7ed..bfa4d212d76709115116fcdbc2424d82576f6a51 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java
@@ -66,7 +66,7 @@ public final class MercenaryCaptain extends AbstractNpcAI {
 	private static final int MIN_LEVEL = 40;
 	private static final int CLASS_LEVEL = 2;
 	
-	private MercenaryCaptain() {
+	public MercenaryCaptain() {
 		super(MercenaryCaptain.class.getSimpleName(), "ai/npc");
 		for (int id : NPCS.keySet()) {
 			addStartNpc(id);
@@ -184,8 +184,4 @@ public final class MercenaryCaptain extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new MercenaryCaptain();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Minigame/Minigame.java b/src/main/java/com/l2jserver/datapack/ai/npc/Minigame/Minigame.java
index e21b52121a5e3e77ce06e318d1f772eabd912ff2..0256ff4d21aa486c8222cd307ef5ed2d8b08aa01 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Minigame/Minigame.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Minigame/Minigame.java
@@ -59,7 +59,7 @@ public final class Minigame extends AbstractNpcAI {
 	
 	private final List<MinigameRoom> _rooms = new ArrayList<>(2);
 	
-	private Minigame() {
+	public Minigame() {
 		super(Minigame.class.getSimpleName(), "ai/npc");
 		addStartNpc(SUMIEL);
 		addFirstTalkId(SUMIEL);
@@ -469,8 +469,4 @@ public final class Minigame extends AbstractNpcAI {
 			setCurrentPot(0);
 		}
 	}
-	
-	public static void main(String[] args) {
-		new Minigame();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/MonumentOfHeroes/MonumentOfHeroes.java b/src/main/java/com/l2jserver/datapack/ai/npc/MonumentOfHeroes/MonumentOfHeroes.java
index 188f397d132d91772e26565e1f4ba0af1d70b4d1..a1c4122c1223e38d4924f1786c37c9de747b0327 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/MonumentOfHeroes/MonumentOfHeroes.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/MonumentOfHeroes/MonumentOfHeroes.java
@@ -55,7 +55,7 @@ public final class MonumentOfHeroes extends AbstractNpcAI {
 		9390, // Infinity Shooter
 	};
 	
-	private MonumentOfHeroes() {
+	public MonumentOfHeroes() {
 		super(MonumentOfHeroes.class.getSimpleName(), "ai/npc");
 		addStartNpc(MONUMENTS);
 		addTalkId(MONUMENTS);
@@ -92,8 +92,4 @@ public final class MonumentOfHeroes extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new MonumentOfHeroes();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/NevitsHerald/NevitsHerald.java b/src/main/java/com/l2jserver/datapack/ai/npc/NevitsHerald/NevitsHerald.java
index 75cc0a57157aaa4ba277fdeee5a5bcac0dd6abbf..52bb28868bbb82d862b2063903ebc96ff84538dc 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/NevitsHerald/NevitsHerald.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/NevitsHerald/NevitsHerald.java
@@ -64,7 +64,7 @@ public final class NevitsHerald extends AbstractNpcAI {
 	// Skill
 	private static final SkillHolder FALL_OF_THE_DRAGON = new SkillHolder(23312);
 	
-	private NevitsHerald() {
+	public NevitsHerald() {
 		super(NevitsHerald.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(NEVITS_HERALD);
 		addStartNpc(NEVITS_HERALD);
@@ -143,8 +143,4 @@ public final class NevitsHerald extends AbstractNpcAI {
 		}
 		SPAWNS.clear();
 	}
-	
-	public static void main(String[] args) {
-		new NevitsHerald();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/NpcBuffers/NpcBuffers.java b/src/main/java/com/l2jserver/datapack/ai/npc/NpcBuffers/NpcBuffers.java
index 477c1fddd69b37d0fe460d4880cd7ae4a73938bc..7ef4e2b1f1f9cb906e468b698e9986e11d69a1ba 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/NpcBuffers/NpcBuffers.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/NpcBuffers/NpcBuffers.java
@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 public final class NpcBuffers extends AbstractNpcAI {
 	private final NpcBuffersData _npcBuffers = new NpcBuffersData();
 	
-	private NpcBuffers() {
+	public NpcBuffers() {
 		super(NpcBuffers.class.getSimpleName(), "ai/npc");
 		
 		for (int npcId : _npcBuffers.getNpcBufferIds()) {
@@ -53,8 +53,4 @@ public final class NpcBuffers extends AbstractNpcAI {
 		}
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new NpcBuffers();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/NpcBuffers/impl/CabaleBuffer.java b/src/main/java/com/l2jserver/datapack/ai/npc/NpcBuffers/impl/CabaleBuffer.java
index 0f3a958312ff8bb0f2c59b4fc79c7aea68ceac06..4deeefbc709b7743ee4007e7aa6811b9ed2c669c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/NpcBuffers/impl/CabaleBuffer.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/NpcBuffers/impl/CabaleBuffer.java
@@ -58,7 +58,7 @@ public final class CabaleBuffer extends AbstractNpcAI {
 	private static final int PREACHER_FIGTER = 4361;
 	private static final int PREACHER_MAGE = 4362;
 	
-	private CabaleBuffer() {
+	public CabaleBuffer() {
 		super(CabaleBuffer.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(SevenSigns.ORATOR_NPC_ID, SevenSigns.PREACHER_NPC_ID);
 		addSpawnId(SevenSigns.ORATOR_NPC_ID, SevenSigns.PREACHER_NPC_ID);
@@ -237,8 +237,4 @@ public final class CabaleBuffer extends AbstractNpcAI {
 		final BuffInfo info = player.getEffectList().getBuffInfoBySkillId(skillId);
 		return (info != null) ? info.getSkill().getAbnormalLvl() : 0;
 	}
-	
-	public static void main(String[] args) {
-		new CabaleBuffer();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/PriestOfBlessing/PriestOfBlessing.java b/src/main/java/com/l2jserver/datapack/ai/npc/PriestOfBlessing/PriestOfBlessing.java
index 73ed775673cfe7baaafaa36e7c47464a3b731c83..6a25628fe014db8a228cc8de220cbd1d4079a5ac 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/PriestOfBlessing/PriestOfBlessing.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/PriestOfBlessing/PriestOfBlessing.java
@@ -82,7 +82,7 @@ public final class PriestOfBlessing extends AbstractNpcAI {
 		new Location(116972, 77255, -2688, 41951)
 	};
 	
-	private PriestOfBlessing() {
+	public PriestOfBlessing() {
 		super(PriestOfBlessing.class.getSimpleName(), "ai/npc");
 		addStartNpc(PRIEST);
 		addFirstTalkId(PRIEST);
@@ -178,8 +178,4 @@ public final class PriestOfBlessing extends AbstractNpcAI {
 		}
 		return index;
 	}
-	
-	public static void main(String[] args) {
-		new PriestOfBlessing();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Rafforty/Rafforty.java b/src/main/java/com/l2jserver/datapack/ai/npc/Rafforty/Rafforty.java
index 8449baa1b7b81230d29f14b7fb79df7cd18fd229..fa71913fa7a603e085568e71c542eee4cf65401e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Rafforty/Rafforty.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Rafforty/Rafforty.java
@@ -34,6 +34,13 @@ public final class Rafforty extends AbstractNpcAI {
 	private static final int BLESSED_NECKLACE = 16026;
 	private static final int BOTTLE = 16027;
 	
+	public Rafforty() {
+		super(Rafforty.class.getSimpleName(), "ai/npc");
+		addStartNpc(RAFFORTY);
+		addFirstTalkId(RAFFORTY);
+		addTalkId(RAFFORTY);
+	}
+	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) {
 		String htmltext = event;
@@ -59,15 +66,4 @@ public final class Rafforty extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	private Rafforty() {
-		super(Rafforty.class.getSimpleName(), "ai/npc");
-		addStartNpc(RAFFORTY);
-		addFirstTalkId(RAFFORTY);
-		addTalkId(RAFFORTY);
-	}
-	
-	public static void main(String[] args) {
-		new Rafforty();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Rignos/Rignos.java b/src/main/java/com/l2jserver/datapack/ai/npc/Rignos/Rignos.java
index 480ab914d04f435b35f5606064b86c63679512d0..b9823cf61841d482daa5990e02734cc495ea361c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Rignos/Rignos.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Rignos/Rignos.java
@@ -38,7 +38,7 @@ public class Rignos extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_LV = 78;
 	
-	private Rignos() {
+	public Rignos() {
 		super(Rignos.class.getSimpleName(), "ai/npc");
 		addStartNpc(RIGNOS);
 		addTalkId(RIGNOS);
@@ -89,8 +89,4 @@ public class Rignos extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new Rignos();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Selina/Selina.java b/src/main/java/com/l2jserver/datapack/ai/npc/Selina/Selina.java
index 220135713cabd2e7e43eeab129147be991eb8114..2d9a6e64eaf667a0eae03fee806c4dd39779491b 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Selina/Selina.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Selina/Selina.java
@@ -96,10 +96,6 @@ public final class Selina extends AbstractNpcAI {
 		return super.onSpellFinished(npc, player, skill);
 	}
 	
-	public static void main(String[] args) {
-		new Selina();
-	}
-	
 	private static class BuffHolder extends SkillHolder {
 		private final int _cost;
 		
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Sirra/Sirra.java b/src/main/java/com/l2jserver/datapack/ai/npc/Sirra/Sirra.java
index bda708c88dd364a8111d6c2d771d188f73596822..e47fa430e1e28f09fc6ed6a9b2bf85faeb70806b 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Sirra/Sirra.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Sirra/Sirra.java
@@ -35,7 +35,7 @@ public final class Sirra extends AbstractNpcAI {
 	private static final int FREYA_INSTID = 139;
 	private static final int FREYA_HARD_INSTID = 144;
 	
-	private Sirra() {
+	public Sirra() {
 		super(Sirra.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(SIRRA);
 	}
@@ -51,8 +51,4 @@ public final class Sirra extends AbstractNpcAI {
 		}
 		return "32762.html";
 	}
-	
-	public static void main(String[] args) {
-		new Sirra();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/SubclassCertification/SubclassCertification.java b/src/main/java/com/l2jserver/datapack/ai/npc/SubclassCertification/SubclassCertification.java
index 525614666efc20ee40cce6784698ecb6907f4603..c6ee64923e0a59422cc999cd3275f5df1c0fe60d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/SubclassCertification/SubclassCertification.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/SubclassCertification/SubclassCertification.java
@@ -79,7 +79,7 @@ public final class SubclassCertification extends AbstractNpcAI {
 	
 	private static final int MIN_LVL = 65;
 	
-	private SubclassCertification() {
+	public SubclassCertification() {
 		super(SubclassCertification.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -190,7 +190,6 @@ public final class SubclassCertification extends AbstractNpcAI {
 		} else if (player.isInCategory(CategoryType.SUB_GROUP_ENCHANTER)) {
 			return 6;
 		}
-		
 		return -1;
 	}
 	
@@ -223,8 +222,4 @@ public final class SubclassCertification extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new SubclassCertification();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Summons/MerchantGolem/GolemTrader.java b/src/main/java/com/l2jserver/datapack/ai/npc/Summons/MerchantGolem/GolemTrader.java
index 30d7c1954e384d77d44eb8544e0ccdc520e8bf7b..1616a6e5a40507f904d9c8db3daca9f2612d4766 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Summons/MerchantGolem/GolemTrader.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Summons/MerchantGolem/GolemTrader.java
@@ -28,19 +28,17 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 public final class GolemTrader extends AbstractNpcAI {
 	// NPC
 	private static final int GOLEM_TRADER = 13128;
+	// Misc
+	private static final long DESPAWN = 180000;
 	
-	private GolemTrader() {
+	public GolemTrader() {
 		super(GolemTrader.class.getSimpleName(), "ai/npc/Summons");
 		addSpawnId(GOLEM_TRADER);
 	}
 	
 	@Override
 	public String onSpawn(L2Npc npc) {
-		npc.scheduleDespawn(180000);
+		npc.scheduleDespawn(DESPAWN);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new GolemTrader();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Pets/BabyPets.java b/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Pets/BabyPets.java
index bef7ebf5db76b92314668169bfe9efd5df4bde35..ab4dafe014a30259e5a20f17b314e0c58dbce125 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Pets/BabyPets.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Pets/BabyPets.java
@@ -50,7 +50,7 @@ public final class BabyPets extends AbstractNpcAI {
 	private static final int HEAL_TRICK = 4717;
 	private static final int GREATER_HEAL_TRICK = 4718;
 	
-	private BabyPets() {
+	public BabyPets() {
 		super(BabyPets.class.getSimpleName(), "ai/npc/Summons/Pets");
 		addSummonSpawnId(BABY_PETS);
 	}
@@ -109,8 +109,4 @@ public final class BabyPets extends AbstractNpcAI {
 		final int summonLevel = summon.getLevel();
 		return Util.constrain(summonLevel < 70 ? (summonLevel / 10) : (7 + ((summonLevel - 70) / 5)), 1, 12);
 	}
-	
-	public static void main(String[] args) {
-		new BabyPets();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Pets/ImprovedBabyPets.java b/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Pets/ImprovedBabyPets.java
index 21592e2be02c6bf7e61aee88d7a60d8d647545a5..263eda7e4db01053c94926f3ab8fc89529bd831b 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Pets/ImprovedBabyPets.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Pets/ImprovedBabyPets.java
@@ -51,7 +51,7 @@ public final class ImprovedBabyPets extends AbstractNpcAI {
 	// Skill
 	private static final int BUFF_CONTROL = 5771;
 	
-	private ImprovedBabyPets() {
+	public ImprovedBabyPets() {
 		super(ImprovedBabyPets.class.getSimpleName(), "ai/npc/Summons/Pets");
 		addSummonSpawnId(IMPROVED_BABY_PETS);
 	}
@@ -178,8 +178,4 @@ public final class ImprovedBabyPets extends AbstractNpcAI {
 	private static boolean hasAbnormal(L2PcInstance player, AbnormalType type) {
 		return player.getEffectList().getBuffInfoByAbnormalType(type) != null;
 	}
-	
-	public static void main(String[] args) {
-		new ImprovedBabyPets();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Servitors/Servitors.java b/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Servitors/Servitors.java
index f43a8bf32ff7758397281799f81192c7ded6122c..02107468926afd6096883e73c971801a1c1351df 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Servitors/Servitors.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Summons/Servitors/Servitors.java
@@ -80,7 +80,7 @@ public final class Servitors extends AbstractNpcAI {
 		MONSTERS.put(SILHOUETTE_TILFO, Arrays.asList(CRYSTAL_OF_STARTING_6TH, CRYSTAL_OF_INPROGRESS_6TH, CRYSTAL_OF_DEFEAT_6TH));
 	}
 	
-	private Servitors() {
+	public Servitors() {
 		super(Servitors.class.getSimpleName(), "ai/npc/Summons");
 	}
 	
@@ -119,8 +119,4 @@ public final class Servitors extends AbstractNpcAI {
 			}
 		}
 	}
-	
-	public static void main(String[] args) {
-		new Servitors();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/SupportUnitCaptain/SupportUnitCaptain.java b/src/main/java/com/l2jserver/datapack/ai/npc/SupportUnitCaptain/SupportUnitCaptain.java
index 2af573b174a362398d835b681a75f88883392106..23134711b758e1bc88faaebe74a1cb0b72f9afc0 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/SupportUnitCaptain/SupportUnitCaptain.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/SupportUnitCaptain/SupportUnitCaptain.java
@@ -118,7 +118,7 @@ public final class SupportUnitCaptain extends AbstractNpcAI {
 		10423, // Blue Talisman - Self-Destruction
 	};
 	
-	private SupportUnitCaptain() {
+	public SupportUnitCaptain() {
 		super(SupportUnitCaptain.class.getSimpleName(), "ai/npc");
 		addStartNpc(UNIT_CAPTAIN);
 		addTalkId(UNIT_CAPTAIN);
@@ -221,8 +221,4 @@ public final class SupportUnitCaptain extends AbstractNpcAI {
 		final int fortOwner = npc.getFort().getOwnerClan() == null ? 0 : npc.getFort().getOwnerClan().getId();
 		return ((player.getClan() != null) && (player.getClanId() == fortOwner)) ? "unitcaptain.html" : "unitcaptain-04.html";
 	}
-	
-	public static void main(String[] args) {
-		new SupportUnitCaptain();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/SymbolMaker/SymbolMaker.java b/src/main/java/com/l2jserver/datapack/ai/npc/SymbolMaker/SymbolMaker.java
index d736855f474f016042d9b26cf176bc160cc6a034..530a68c81af1187ccb3bc29a765c3c39a7b2d5cc 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/SymbolMaker/SymbolMaker.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/SymbolMaker/SymbolMaker.java
@@ -44,7 +44,7 @@ public final class SymbolMaker extends AbstractNpcAI {
 		31953, // Rankar
 	};
 	
-	private SymbolMaker() {
+	public SymbolMaker() {
 		super(SymbolMaker.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(NPCS);
 		addStartNpc(NPCS);
@@ -78,8 +78,4 @@ public final class SymbolMaker extends AbstractNpcAI {
 	public String onFirstTalk(L2Npc npc, L2PcInstance player) {
 		return "symbol_maker.htm";
 	}
-	
-	public static void main(String[] args) {
-		new SymbolMaker();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Asher/Asher.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Asher/Asher.java
index 0f665512f0eb1b648c91962d29710b172482bfec..c319b3d269c3de63bbb3674433f32c60aa4a1360 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Asher/Asher.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Asher/Asher.java
@@ -37,7 +37,7 @@ public class Asher extends AbstractNpcAI {
 	// Misc
 	private static final int ADENA = 50000;
 	
-	private Asher() {
+	public Asher() {
 		super(Asher.class.getSimpleName(), "ai/npc/Teleports");
 		addFirstTalkId(ASHER);
 		addStartNpc(ASHER);
@@ -57,8 +57,4 @@ public class Asher extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new Asher();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/CrumaTower/CrumaTower.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/CrumaTower/CrumaTower.java
index e92a6fd3202b01ccbe8744d2127db31dc2aa349b..fc96387c7841916dd93da31cffdc697c9b6aa041 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/CrumaTower/CrumaTower.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/CrumaTower/CrumaTower.java
@@ -36,7 +36,7 @@ public final class CrumaTower extends AbstractNpcAI {
 	// Misc
 	private static final int MAX_LEVEL = 55;
 	
-	private CrumaTower() {
+	public CrumaTower() {
 		super(CrumaTower.class.getSimpleName(), "ai/npc/Teleports");
 		addFirstTalkId(MOZELLA);
 		addStartNpc(MOZELLA);
@@ -51,8 +51,4 @@ public final class CrumaTower extends AbstractNpcAI {
 		}
 		return "30483-1.html";
 	}
-	
-	public static void main(String[] args) {
-		new CrumaTower();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
index 40601a8bb71b2222dfb5080f55a41143f7c7cc08..a16f2e867a046ccfa3272256a2d98fc77d214c26 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
@@ -63,7 +63,7 @@ public final class DelusionTeleport extends AbstractNpcAI {
 		RETURN_LOCATIONS.put(17, new Location(85991, -142234, -1336)); // Schuttgart
 	}
 	
-	private DelusionTeleport() {
+	public DelusionTeleport() {
 		super(DelusionTeleport.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -84,8 +84,4 @@ public final class DelusionTeleport extends AbstractNpcAI {
 		}
 		return super.onTalk(npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new DelusionTeleport();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
index 0ba65c4a60f7234ae53ccb19353fcef6ed458b35..5dae741a16211613af725af3f14f2a4a2074b444 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
@@ -35,7 +35,7 @@ public final class ElrokiTeleporters extends AbstractNpcAI {
 	private static final Location TELEPORT_ORAHOCIN = new Location(5171, -1889, -3165);
 	private static final Location TELEPORT_GARIACHIN = new Location(7651, -5416, -3155);
 	
-	private ElrokiTeleporters() {
+	public ElrokiTeleporters() {
 		super(ElrokiTeleporters.class.getSimpleName(), "ai/npc/Teleports");
 		addFirstTalkId(ORAHOCHIN, GARIACHIN);
 		addStartNpc(ORAHOCHIN, GARIACHIN);
@@ -51,8 +51,4 @@ public final class ElrokiTeleporters extends AbstractNpcAI {
 		}
 		return super.onTalk(npc, talker);
 	}
-	
-	public static void main(String[] args) {
-		new ElrokiTeleporters();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java
index bbe59f91ad716f1d2da4b9625f2ff01be38f4a1b..6261cc37d32f0c904f5aec0472b118f7d4ac016a 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java
@@ -42,7 +42,7 @@ public final class GatekeeperSpirit extends AbstractNpcAI {
 	private static final Location TELEPORT_DAWN = new Location(184448, -10112, -5504);
 	private static final Location EXIT = new Location(182960, -11904, -4897);
 	
-	private GatekeeperSpirit() {
+	public GatekeeperSpirit() {
 		super(GatekeeperSpirit.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(GATEKEEPER_SPIRIT_ENTER, GATEKEEPER_SPIRIT_EXIT);
 		addFirstTalkId(GATEKEEPER_SPIRIT_ENTER, GATEKEEPER_SPIRIT_EXIT);
@@ -99,8 +99,4 @@ public final class GatekeeperSpirit extends AbstractNpcAI {
 		}
 		return super.onKill(npc, killer, isSummon);
 	}
-	
-	public static void main(String[] args) {
-		new GatekeeperSpirit();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GhostChamberlainOfElmoreden/GhostChamberlainOfElmoreden.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GhostChamberlainOfElmoreden/GhostChamberlainOfElmoreden.java
index 7dbf33536504669fa4d6a2e02dc0b5c54fae9591..33eabbe59dc65e41ca4887f1f4d7349ddbfba324 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GhostChamberlainOfElmoreden/GhostChamberlainOfElmoreden.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GhostChamberlainOfElmoreden/GhostChamberlainOfElmoreden.java
@@ -39,7 +39,7 @@ public class GhostChamberlainOfElmoreden extends AbstractNpcAI {
 	private static final Location FOUR_SEPULCHERS_LOC = new Location(178127, -84435, -7215);
 	private static final Location IMPERIAL_TOMB_LOC = new Location(186699, -75915, -2826);
 	
-	private GhostChamberlainOfElmoreden() {
+	public GhostChamberlainOfElmoreden() {
 		super(GhostChamberlainOfElmoreden.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(GHOST_CHAMBERLAIN_OF_ELMOREDEN_1, GHOST_CHAMBERLAIN_OF_ELMOREDEN_2);
 		addTalkId(GHOST_CHAMBERLAIN_OF_ELMOREDEN_1, GHOST_CHAMBERLAIN_OF_ELMOREDEN_2);
@@ -69,8 +69,4 @@ public class GhostChamberlainOfElmoreden extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new GhostChamberlainOfElmoreden();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
index f307be0a1a0b55d2dff465cfe7a3e06335ade299..92f722a35cdf3efb7e95d543c592fa697747f179 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
@@ -56,7 +56,7 @@ public final class GrandBossTeleporters extends AbstractNpcAI {
 	
 	private static int playerCount = 0;
 	
-	private GrandBossTeleporters() {
+	public GrandBossTeleporters() {
 		super(GrandBossTeleporters.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(NPCs);
 		addTalkId(NPCs);
@@ -156,8 +156,4 @@ public final class GrandBossTeleporters extends AbstractNpcAI {
 	private Quest valakasAI() {
 		return QuestManager.getInstance().getQuest(Valakas.class.getSimpleName());
 	}
-	
-	public static void main(String[] args) {
-		new GrandBossTeleporters();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java
index fb86b62d44ac1dc37045e279420730a3f14e3516..99e70d7ca3cb9e65fea96ef7a968a279d824828c 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java
@@ -45,7 +45,7 @@ public final class HuntingGroundsTeleport extends AbstractNpcAI {
 	};
 	// @formatter:on
 	
-	private HuntingGroundsTeleport() {
+	public HuntingGroundsTeleport() {
 		super(HuntingGroundsTeleport.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(PRIESTS);
 		addTalkId(PRIESTS);
@@ -124,8 +124,4 @@ public final class HuntingGroundsTeleport extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new HuntingGroundsTeleport();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Klemis/Klemis.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Klemis/Klemis.java
index 49e54c47b6b8c11db8dbef66ec39e67cdd728565..01a63522f272eb36a0a542abef1984542535de1e 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Klemis/Klemis.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Klemis/Klemis.java
@@ -35,7 +35,7 @@ public class Klemis extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_LV = 80;
 	
-	private Klemis() {
+	public Klemis() {
 		super(Klemis.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(KLEMIS);
 		addTalkId(KLEMIS);
@@ -53,8 +53,4 @@ public class Klemis extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new Klemis();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
index 0f4fae912f24cae781699e644724bb03e7ed9ea4..2da3a5c30b6dbfc951453e2e68cc749956b02004 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
@@ -40,7 +40,7 @@ public final class MithrilMinesTeleporter extends AbstractNpcAI {
 		new Location(175499, -181586, -904)
 	};
 	
-	private MithrilMinesTeleporter() {
+	public MithrilMinesTeleporter() {
 		super(MithrilMinesTeleporter.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(TELEPORT_CRYSTAL);
 		addFirstTalkId(TELEPORT_CRYSTAL);
@@ -72,8 +72,4 @@ public final class MithrilMinesTeleporter extends AbstractNpcAI {
 		}
 		return super.onFirstTalk(npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new MithrilMinesTeleporter();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/NewbieGuide/NewbieGuide.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/NewbieGuide/NewbieGuide.java
index 91371edf92a91a4954cb40bcb2ade7e2a35027c6..eaf5c127f17a4f06421961ff6a369f7c8b435a4f 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/NewbieGuide/NewbieGuide.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/NewbieGuide/NewbieGuide.java
@@ -115,7 +115,7 @@ public final class NewbieGuide extends AbstractNpcAI {
 		TELEPORT_MAP.put(NEWBIE_GUIDE_KAMAEL, Arrays.asList(TALKING_ISLAND_VILLAGE, DARK_ELF_VILLAGE, ELVEN_VILLAGE, DWARVEN_VILLAGE, ORC_VILLAGE));
 	}
 	
-	private NewbieGuide() {
+	public NewbieGuide() {
 		super(NewbieGuide.class.getSimpleName(), "ai/npc/Teleports");
 		
 		int[] newbieList = {
@@ -1886,8 +1886,4 @@ public final class NewbieGuide extends AbstractNpcAI {
 		}
 		return "";
 	}
-	
-	public static void main(String[] args) {
-		new NewbieGuide();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
index ea184036509cd78c76282b15597fe4dda86ecae9..fc31772ffea15127b8181bee96be3b145e49453b 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
@@ -53,7 +53,7 @@ public final class NoblesseTeleport extends AbstractNpcAI {
 		32163
 	};
 	
-	private NoblesseTeleport() {
+	public NoblesseTeleport() {
 		super(NoblesseTeleport.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(NPCs);
 		addTalkId(NPCs);
@@ -75,8 +75,4 @@ public final class NoblesseTeleport extends AbstractNpcAI {
 	public String onTalk(L2Npc npc, L2PcInstance player) {
 		return player.isNoble() ? "nobleteleporter.htm" : "nobleteleporter-no.htm";
 	}
-	
-	public static void main(String[] args) {
-		new NoblesseTeleport();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/OracleTeleport/OracleTeleport.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
index 77ff498857f7b907d72b21b9608ba74abf2b1cfc..bd05aca0d28f2b05fe0bb232ddb872a5d7523d5d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
@@ -136,7 +136,7 @@ public final class OracleTeleport extends AbstractNpcAI {
 	// Item
 	private static final int DIMENSIONAL_FRAGMENT = 7079;
 	
-	private OracleTeleport() {
+	public OracleTeleport() {
 		super(OracleTeleport.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(RIFT_POSTERS);
 		addStartNpc(TELEPORTERS);
@@ -314,8 +314,4 @@ public final class OracleTeleport extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new OracleTeleport();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
index 25c87012ac92b2ccd9d0ba0064ba641aa4b5de36..8a33783dee6563aac36dee2c8c22c9cd63c5bde3 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
@@ -52,7 +52,7 @@ public final class PaganTeleporters extends AbstractNpcAI {
 	private static final int FADED_VISITORS_MARK = 8065;
 	private static final int PAGANS_MARK = 8067;
 	
-	private PaganTeleporters() {
+	public PaganTeleporters() {
 		super(PaganTeleporters.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -117,8 +117,4 @@ public final class PaganTeleporters extends AbstractNpcAI {
 		}
 		return super.onTalk(npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new PaganTeleporters();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SeparatedSoul/SeparatedSoul.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SeparatedSoul/SeparatedSoul.java
index f2edff8f04953a813a9ba28611619e3af001e205..34cb75472d2a8694d4ecb3a633c16e78df7ba2c3 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SeparatedSoul/SeparatedSoul.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SeparatedSoul/SeparatedSoul.java
@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 
 /**
  * Separated Soul teleport AI.
- * @author UnAfraid, improved by Adry_85, Zealar
+ * @author UnAfraid, Adry_85, Zealar
  */
 public final class SeparatedSoul extends AbstractNpcAI {
 	// NPCs
@@ -63,7 +63,7 @@ public final class SeparatedSoul extends AbstractNpcAI {
 		LOCATIONS.put(8, new Location(131116, 114333, -3704)); // Entrance of Antharas' Lair
 	}
 	
-	private SeparatedSoul() {
+	public SeparatedSoul() {
 		super(SeparatedSoul.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(SEPARATED_SOULS);
 		addTalkId(SEPARATED_SOULS);
@@ -109,8 +109,4 @@ public final class SeparatedSoul extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new SeparatedSoul();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java
index 7d89480c983da948bbb74cd24c3ff44fc78d2734..8f9818e0d01680b14aa5aa1211558fb5a6aac962 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java
@@ -40,7 +40,7 @@ public final class StakatoNestTeleporter extends AbstractNpcAI {
 	// NPC
 	private final static int KINTAIJIN = 32640;
 	
-	private StakatoNestTeleporter() {
+	public StakatoNestTeleporter() {
 		super(StakatoNestTeleporter.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(KINTAIJIN);
 		addTalkId(KINTAIJIN);
@@ -69,8 +69,4 @@ public final class StakatoNestTeleporter extends AbstractNpcAI {
 	public String onTalk(L2Npc npc, L2PcInstance player) {
 		return (player.hasQuestCompleted(Q00240_ImTheOnlyOneYouCanTrust.class.getSimpleName()) ? "32640.htm" : "32640-no.htm");
 	}
-	
-	public static void main(String[] args) {
-		new StakatoNestTeleporter();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java
index 4a8f35d8a3208d54d121e0be4c583ae7bd752ada..69c0b9ad9d8fc68fb505ba218a974b87840a05c3 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java
@@ -41,7 +41,7 @@ public final class SteelCitadelTeleport extends AbstractNpcAI {
 	// Location
 	private static final Location TELEPORT_CITADEL = new Location(16342, 209557, -9352);
 	
-	private SteelCitadelTeleport() {
+	public SteelCitadelTeleport() {
 		super(SteelCitadelTeleport.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(NAIA_CUBE);
 		addTalkId(NAIA_CUBE);
@@ -82,8 +82,4 @@ public final class SteelCitadelTeleport extends AbstractNpcAI {
 		}
 		return null;
 	}
-	
-	public static void main(String[] args) {
-		new SteelCitadelTeleport();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/StrongholdsTeleports/StrongholdsTeleports.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/StrongholdsTeleports/StrongholdsTeleports.java
index 2931065ccb232d1df2ef6e213db4f1e25e18ccf9..7648a32f0d1c45033dcc6ef1e5385c0fdb1df5aa 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/StrongholdsTeleports/StrongholdsTeleports.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/StrongholdsTeleports/StrongholdsTeleports.java
@@ -36,7 +36,7 @@ public final class StrongholdsTeleports extends AbstractNpcAI {
 		32186
 	};
 	
-	private StrongholdsTeleports() {
+	public StrongholdsTeleports() {
 		super(StrongholdsTeleports.class.getSimpleName(), "ai/npc/Teleports");
 		addFirstTalkId(NPCs);
 	}
@@ -48,8 +48,4 @@ public final class StrongholdsTeleports extends AbstractNpcAI {
 		}
 		return String.valueOf(npc.getId()) + "-no.htm";
 	}
-	
-	public static void main(String[] args) {
-		new StrongholdsTeleports();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Survivor/Survivor.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Survivor/Survivor.java
index effaaf7dba2843919d402d1744f7729528a2302d..adde5896cd41510eb291edfb8bdaec0fcfd078dc 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Survivor/Survivor.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/Survivor/Survivor.java
@@ -37,7 +37,7 @@ public final class Survivor extends AbstractNpcAI {
 	// Location
 	private static final Location TELEPORT = new Location(-149406, 255247, -80);
 	
-	private Survivor() {
+	public Survivor() {
 		super(Survivor.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(SURVIVOR);
 		addTalkId(SURVIVOR);
@@ -63,8 +63,4 @@ public final class Survivor extends AbstractNpcAI {
 	public String onTalk(L2Npc npc, L2PcInstance player) {
 		return "32632-1.htm";
 	}
-	
-	public static void main(String[] args) {
-		new Survivor();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java
index e5f553be74b4c7532bca825a300be84ababc2d66..447394b42819dc41aeb98eaaab771ea4aa47857d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java
@@ -75,7 +75,7 @@ public final class TeleportToFantasy extends AbstractNpcAI {
 	// Player Variables
 	private static final String FANTASY_RETURN = "FANTASY_RETURN";
 	
-	private TeleportToFantasy() {
+	public TeleportToFantasy() {
 		super(TeleportToFantasy.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(PADDIES);
 		addStartNpc(TELEPORTERS.keySet());
@@ -101,8 +101,4 @@ public final class TeleportToFantasy extends AbstractNpcAI {
 		}
 		return super.onTalk(npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new TeleportToFantasy();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java
index 508bd775bea310c71e68d7f0ee769b0fd4f4ad33..7ee300c304ee27878a5d3bdc2ca5ab4206e6121d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java
@@ -70,7 +70,7 @@ public final class TeleportToRaceTrack extends AbstractNpcAI {
 	// Player Variables
 	private static final String MONSTER_RETURN = "MONSTER_RETURN";
 	
-	private TeleportToRaceTrack() {
+	public TeleportToRaceTrack() {
 		super(TeleportToRaceTrack.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(RACE_MANAGER);
 		addStartNpc(TELEPORTERS.keySet());
@@ -96,8 +96,4 @@ public final class TeleportToRaceTrack extends AbstractNpcAI {
 		}
 		return super.onTalk(npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new TeleportToRaceTrack();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java
index 4ca38c6ef21243a759a3fd81b53a5eb0c162c3cf..f599a0cb1544d8469ecfefe07e347d3b631f60ac 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java
@@ -79,7 +79,7 @@ public final class TeleportToUndergroundColiseum extends AbstractNpcAI {
 		}
 	};
 	
-	private TeleportToUndergroundColiseum() {
+	public TeleportToUndergroundColiseum() {
 		super(TeleportToUndergroundColiseum.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(MANAGERS);
 		addStartNpc(COLISEUM_HELPER, PADDIES);
@@ -115,8 +115,4 @@ public final class TeleportToUndergroundColiseum extends AbstractNpcAI {
 	public String onFirstTalk(L2Npc npc, L2PcInstance player) {
 		return "32491.htm";
 	}
-	
-	public static void main(String[] args) {
-		new TeleportToUndergroundColiseum();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java
index b5d7598e4e83fd5e7025087addf3f3acdaf01323..08f3ceedb09fd04e8ad7aa8afc0aa6e0772efd5d 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java
@@ -39,7 +39,7 @@ public final class TeleportWithCharm extends AbstractNpcAI {
 	private final static Location ORC_TELEPORT = new Location(-80826, 149775, -3043);
 	private final static Location DWARF_TELEPORT = new Location(-80826, 149775, -3043);
 	
-	private TeleportWithCharm() {
+	public TeleportWithCharm() {
 		super(TeleportWithCharm.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(WHIRPY, TAMIL);
 		addTalkId(WHIRPY, TAMIL);
@@ -69,8 +69,4 @@ public final class TeleportWithCharm extends AbstractNpcAI {
 		}
 		return super.onTalk(npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new TeleportWithCharm();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/ToIVortex/ToIVortex.java b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/ToIVortex/ToIVortex.java
index 5be484560c93a6093ad7ac26ce4b0165912fde3c..18622d111ac9315e1743371d511bbefc11fef617 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/ToIVortex/ToIVortex.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Teleports/ToIVortex/ToIVortex.java
@@ -78,7 +78,7 @@ public final class ToIVortex extends AbstractNpcAI {
 		DIMENSION_TRADE.put("RED", RED_DIMENSION_STONE);
 	}
 	
-	private ToIVortex() {
+	public ToIVortex() {
 		super(ToIVortex.class.getSimpleName(), "ai/npc/Teleports");
 		addStartNpc(KEPLON, EUCLIE, PITHGON, DIMENSION_VORTEX_1, DIMENSION_VORTEX_2, DIMENSION_VORTEX_3);
 		addTalkId(KEPLON, EUCLIE, PITHGON, DIMENSION_VORTEX_1, DIMENSION_VORTEX_2, DIMENSION_VORTEX_3);
@@ -123,8 +123,4 @@ public final class ToIVortex extends AbstractNpcAI {
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args) {
-		new ToIVortex();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java b/src/main/java/com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java
index 5939b2bf91a60f0408dbce7253eb9f8611e8b5c9..0a0ac7a9be76981a374803f34d18d3da499eb1eb 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java
@@ -64,7 +64,7 @@ public final class TerritoryManagers extends AbstractNpcAI {
 		7593
 	};
 	
-	private TerritoryManagers() {
+	public TerritoryManagers() {
 		super(TerritoryManagers.class.getSimpleName(), "ai/npc");
 		
 		for (int i = 0; i < 9; i++) {
@@ -265,8 +265,4 @@ public final class TerritoryManagers extends AbstractNpcAI {
 			player.destroyItem(event, item, npc, true);
 		}
 	}
-	
-	public static void main(String[] args) {
-		new TerritoryManagers();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/TownPets/TownPets.java b/src/main/java/com/l2jserver/datapack/ai/npc/TownPets/TownPets.java
index d366454fc12a5db8e9814dfbab284ad4c866bd6a..28a5bb768b22988357b8c7c747adea0a8a43e4f8 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/TownPets/TownPets.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/TownPets/TownPets.java
@@ -47,7 +47,7 @@ public final class TownPets extends AbstractNpcAI {
 		31955, // Ruby
 	};
 	
-	private TownPets() {
+	public TownPets() {
 		super(TownPets.class.getSimpleName(), "ai/npc");
 		
 		if (general().allowPetWalkers()) {
@@ -72,8 +72,4 @@ public final class TownPets extends AbstractNpcAI {
 		startQuestTimer("move", 3000, npc, null);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args) {
-		new TownPets();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java b/src/main/java/com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java
index 941b7cbc17f3c3d7a0b459124feb1367185d75db..ad6861d1825b2ffef6eb864efd1dd874aec835b7 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java
@@ -54,7 +54,7 @@ public final class HealerTrainer extends AbstractNpcAI {
 	private static final int MIN_LEVEL = 76;
 	private static final int MIN_CLASS_LEVEL = 3;
 	
-	private HealerTrainer() {
+	public HealerTrainer() {
 		super(HealerTrainer.class.getSimpleName(), "ai/npc/Trainers");
 		addStartNpc(HEALER_TRAINERS);
 		addTalkId(HEALER_TRAINERS);
@@ -171,8 +171,4 @@ public final class HealerTrainer extends AbstractNpcAI {
 		}
 		return (player.getInventory().getInventoryItemCount(itemId, -1) > 0);
 	}
-	
-	public static void main(String[] args) {
-		new HealerTrainer();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/Tunatun/Tunatun.java b/src/main/java/com/l2jserver/datapack/ai/npc/Tunatun/Tunatun.java
index 7a0b9662ff8ec89930ad979cfa0d8431dc7e3a62..15c9262cd0b38e58c5d8a5641ad7488c1cf31409 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/Tunatun/Tunatun.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/Tunatun/Tunatun.java
@@ -36,7 +36,7 @@ public final class Tunatun extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_LEVEL = 82;
 	
-	private Tunatun() {
+	public Tunatun() {
 		super(Tunatun.class.getSimpleName(), "ai/npc");
 		addStartNpc(TUNATUN);
 		addFirstTalkId(TUNATUN);
@@ -60,8 +60,4 @@ public final class Tunatun extends AbstractNpcAI {
 		}
 		return event;
 	}
-	
-	public static void main(String[] args) {
-		new Tunatun();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java b/src/main/java/com/l2jserver/datapack/ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java
index 22d90f2bd2ac87f405323f9fff8b95692ab82503..13929e9ea484f71a7296c3c4c558a38b88dc0d31 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java
@@ -82,7 +82,7 @@ public final class VarkaSilenosSupport extends AbstractNpcAI {
 		BUFF.put(8, new BuffsData(4357, 6)); // Haste: Requires 6 Nepenthese Seeds
 	}
 	
-	private VarkaSilenosSupport() {
+	public VarkaSilenosSupport() {
 		super(VarkaSilenosSupport.class.getSimpleName(), "ai/npc");
 		addFirstTalkId(ASHAS, NARAN, UDAN, DIYABU, HAGOS, SHIKON, TERANU);
 		addTalkId(UDAN, HAGOS, TERANU);
@@ -181,8 +181,4 @@ public final class VarkaSilenosSupport extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String args[]) {
-		new VarkaSilenosSupport();
-	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java b/src/main/java/com/l2jserver/datapack/ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java
index 13cf9e286f717f2450dcb7a6850e83b278168076..855c2214597e22d1e48c9e39808bbddf08702208 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java
@@ -54,7 +54,7 @@ public final class FirstClassTransferTalk extends AbstractNpcAI {
 		MASTERS.put(32154, Race.HUMAN); // Aldenia, Human Guild Grand Master
 	}
 	
-	private FirstClassTransferTalk() {
+	public FirstClassTransferTalk() {
 		super(FirstClassTransferTalk.class.getSimpleName(), "ai/npc/VillageMasters");
 		addStartNpc(MASTERS.keySet());
 		addTalkId(MASTERS.keySet());
@@ -125,8 +125,4 @@ public final class FirstClassTransferTalk extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new FirstClassTransferTalk();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/WeaverOlf/WeaverOlf.java b/src/main/java/com/l2jserver/datapack/ai/npc/WeaverOlf/WeaverOlf.java
index ae11576c564cf04e0a7ac153632cb2e16a730923..f303b49888437bd0a9b6d2dcc03ca794743fdebf 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/WeaverOlf/WeaverOlf.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/WeaverOlf/WeaverOlf.java
@@ -144,7 +144,7 @@ public final class WeaverOlf extends AbstractNpcAI {
 		}
 	};
 	
-	private WeaverOlf() {
+	public WeaverOlf() {
 		super(WeaverOlf.class.getSimpleName(), "ai/npc");
 		addStartNpc(NPCs);
 		addTalkId(NPCs);
@@ -203,8 +203,4 @@ public final class WeaverOlf extends AbstractNpcAI {
 	public String onTalk(L2Npc npc, L2PcInstance player) {
 		return npc.getId() + "-1.htm";
 	}
-	
-	public static void main(String[] args) {
-		new WeaverOlf();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java b/src/main/java/com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java
index 7bc8534d907e77c069900f4860c78ccc93aba87e..bb7b0b296093ae84b35913a037ac487dbccfb6b9 100644
--- a/src/main/java/com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java
+++ b/src/main/java/com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java
@@ -94,7 +94,7 @@ public final class WyvernManager extends AbstractNpcAI {
 		MANAGERS.put(36477, ManagerType.FORT);
 	}
 	
-	private WyvernManager() {
+	public WyvernManager() {
 		super(WyvernManager.class.getSimpleName(), "ai/npc");
 		addStartNpc(MANAGERS.keySet());
 		addTalkId(MANAGERS.keySet());
@@ -245,8 +245,4 @@ public final class WyvernManager extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new WyvernManager();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/gracia/GraciaLoader.java b/src/main/java/com/l2jserver/datapack/gracia/GraciaLoader.java
index 1f3546031d31f7fa1b64fa5eda34e14f4584c800..059aa7e29ea453dfe8e3a5e7ecec028c4a35b88b 100644
--- a/src/main/java/com/l2jserver/datapack/gracia/GraciaLoader.java
+++ b/src/main/java/com/l2jserver/datapack/gracia/GraciaLoader.java
@@ -79,13 +79,15 @@ public final class GraciaLoader {
 	};
 	
 	public static void main(String[] args) {
-		LOG.info("Loading Gracia scripts...");
-		for (Class<?> script : SCRIPTS) {
+		int n = 0;
+		for (var script : SCRIPTS) {
 			try {
 				script.getDeclaredConstructor().newInstance();
+				n++;
 			} catch (Exception ex) {
 				LOG.error("Failed loading {}!", script.getSimpleName(), ex);
 			}
 		}
+		LOG.info("Loaded {} Gracia scripts.", n);
 	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java b/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java
index dc4019a7f9fe2c5b5be89d5916785e72f5f5dcf7..5efeda62a8704967b57cdd7f62791b575bfd55c2 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/MasterHandler.java
@@ -19,6 +19,7 @@
 package com.l2jserver.datapack.handlers;
 
 import static com.l2jserver.gameserver.config.Configuration.customs;
+import static com.l2jserver.gameserver.config.Configuration.general;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -574,7 +575,11 @@ public class MasterHandler {
 	// };
 	
 	public static void main(String[] args) {
-		LOG.info("Loading Handlers...");
+		if (general().noHandlers()) {
+			LOG.info("Handlers disabled...");
+			return;
+		}
+		
 		loadHandlers(VoicedCommandHandler.getInstance(), VOICED_COMMAND_HANDLERS);
 		loadHandlers(ActionHandler.getInstance(), ACTION_HANDLERS);
 		loadHandlers(ActionShiftHandler.getInstance(), ACTION_SHIFT_HANDLERS);
@@ -587,7 +592,6 @@ public class MasterHandler {
 		loadHandlers(UserCommandHandler.getInstance(), USER_COMMAND_HANDLERS);
 		loadHandlers(TargetHandler.getInstance(), TARGET_HANDLERS);
 		loadHandlers(TelnetHandler.getInstance(), TELNET_HANDLERS);
-		LOG.info("Handlers Loaded...");
 	}
 	
 	private static void loadHandlers(IHandler<?, ?> handler, Class<?>[] classes) {
diff --git a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminVitality.java b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminVitality.java
index d4c264bf3947c03e170c18cae3e6cb677af79a5e..44b5cda18e5124971ebad31c109f9755709d28b9 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminVitality.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/admincommandhandlers/AdminVitality.java
@@ -110,8 +110,4 @@ public class AdminVitality implements IAdminCommandHandler {
 	public String[] getAdminCommandList() {
 		return ADMIN_COMMANDS;
 	}
-	
-	public static void main(String[] args) {
-		new AdminVitality();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/hellbound/AI/Typhoon.java b/src/main/java/com/l2jserver/datapack/hellbound/AI/Typhoon.java
index a3f1fbebcd9c4512c26d4676122f33b7280f62be..445e7fc917a928c80153045dfb078d0b5a22822a 100644
--- a/src/main/java/com/l2jserver/datapack/hellbound/AI/Typhoon.java
+++ b/src/main/java/com/l2jserver/datapack/hellbound/AI/Typhoon.java
@@ -19,10 +19,8 @@
 package com.l2jserver.datapack.hellbound.AI;
 
 import com.l2jserver.datapack.ai.npc.AbstractNpcAI;
-import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.actor.instance.L2RaidBossInstance;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 
 /**
@@ -39,11 +37,6 @@ public final class Typhoon extends AbstractNpcAI {
 		super(Typhoon.class.getSimpleName(), "hellbound/AI");
 		addAggroRangeEnterId(TYPHOON);
 		addSpawnId(TYPHOON);
-		
-		final L2RaidBossInstance boss = RaidBossSpawnManager.getInstance().getBosses().get(TYPHOON);
-		if (boss != null) {
-			onSpawn(boss);
-		}
 	}
 	
 	@Override
diff --git a/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java b/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java
index 999f8cad3326f0310da2e6fee0e778983b9c24e6..6629447041e33a2982ddc88d0f1f94a7269d69c9 100644
--- a/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java
+++ b/src/main/java/com/l2jserver/datapack/hellbound/HellboundLoader.java
@@ -57,15 +57,13 @@ import com.l2jserver.datapack.hellbound.AI.Zones.TullyWorkshop.TullyWorkshop;
 import com.l2jserver.datapack.hellbound.Instances.DemonPrinceFloor.DemonPrinceFloor;
 import com.l2jserver.datapack.hellbound.Instances.RankuFloor.RankuFloor;
 import com.l2jserver.datapack.hellbound.Instances.UrbanArea.UrbanArea;
-import com.l2jserver.datapack.quests.Q00130_PathToHellbound.Q00130_PathToHellbound;
-import com.l2jserver.datapack.quests.Q00133_ThatsBloodyHot.Q00133_ThatsBloodyHot;
 import com.l2jserver.gameserver.handler.AdminCommandHandler;
 import com.l2jserver.gameserver.handler.IAdminCommandHandler;
 import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
 import com.l2jserver.gameserver.handler.VoicedCommandHandler;
 
 /**
- * Hellbound class-loader.
+ * Hellbound loader.
  * @author Zoey76
  */
 public final class HellboundLoader {
@@ -112,29 +110,28 @@ public final class HellboundLoader {
 		DemonPrinceFloor.class,
 		UrbanArea.class,
 		RankuFloor.class,
-		// Quests
-		Q00130_PathToHellbound.class,
-		Q00133_ThatsBloodyHot.class,
 	};
 	
 	public static void main(String[] args) {
-		LOG.info("Loading Hellbound scripts...");
 		// Data
 		HellboundPointData.getInstance();
 		HellboundSpawns.getInstance();
 		// Engine
 		HellboundEngine.getInstance();
-		for (Class<?> script : SCRIPTS) {
+		int n = 0;
+		for (var clazz : SCRIPTS) {
 			try {
-				final Object instance = script.getDeclaredConstructor().newInstance();
-				if (instance instanceof IAdminCommandHandler) {
-					AdminCommandHandler.getInstance().registerHandler((IAdminCommandHandler) instance);
-				} else if (customs().hellboundStatus() && (instance instanceof IVoicedCommandHandler)) {
-					VoicedCommandHandler.getInstance().registerHandler((IVoicedCommandHandler) instance);
+				final var script = clazz.getDeclaredConstructor().newInstance();
+				if (script instanceof IAdminCommandHandler) {
+					AdminCommandHandler.getInstance().registerHandler((IAdminCommandHandler) script);
+				} else if (customs().hellboundStatus() && (script instanceof IVoicedCommandHandler)) {
+					VoicedCommandHandler.getInstance().registerHandler((IVoicedCommandHandler) script);
 				}
+				n++;
 			} catch (Exception ex) {
-				LOG.error("Failed loading {}!", script.getSimpleName(), ex);
+				LOG.error("Failed loading {}!", clazz.getSimpleName(), ex);
 			}
 		}
+		LOG.info("Loaded {} Hellbound scripts.", n);
 	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/instances/InstanceLoader.java b/src/main/java/com/l2jserver/datapack/instances/InstanceLoader.java
index 4eb5f1ba885bbc8006783a069d783cad5adb7adc..2f9a4043bbfc4ef5a3d2ff4685f577b71a3b9209 100644
--- a/src/main/java/com/l2jserver/datapack/instances/InstanceLoader.java
+++ b/src/main/java/com/l2jserver/datapack/instances/InstanceLoader.java
@@ -93,13 +93,15 @@ public final class InstanceLoader {
 	};
 	
 	public static void main(String[] args) {
-		LOG.info("Loading Instances scripts.");
-		for (Class<?> script : SCRIPTS) {
+		int n = 0;
+		for (var script : SCRIPTS) {
 			try {
 				script.getDeclaredConstructor().newInstance();
+				n++;
 			} catch (Exception ex) {
 				LOG.warn("Failed loading {}!", script.getSimpleName(), ex);
 			}
 		}
+		LOG.info("Loaded {} instnaces.", n);
 	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/instances/PailakaDevilsLegacy/PailakaDevilsLegacy.java b/src/main/java/com/l2jserver/datapack/instances/PailakaDevilsLegacy/PailakaDevilsLegacy.java
index a9b31b993fa35115531c3033112d92bd6f409521..82f37908de31414d3f25c94bbb3f2f235b19cd5e 100644
--- a/src/main/java/com/l2jserver/datapack/instances/PailakaDevilsLegacy/PailakaDevilsLegacy.java
+++ b/src/main/java/com/l2jserver/datapack/instances/PailakaDevilsLegacy/PailakaDevilsLegacy.java
@@ -264,8 +264,4 @@ public final class PailakaDevilsLegacy extends AbstractInstance {
 		}
 		teleportPlayer(player, TELEPORT, world.getInstanceId());
 	}
-	
-	public static void main(String[] args) {
-		new PailakaDevilsLegacy();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/quests/QuestMasterHandler.java b/src/main/java/com/l2jserver/datapack/quests/QuestMasterHandler.java
index 22deffe22e4878ba7417f8c405fdb7482850e57e..d80cc89bfe842ad0108806574861c483e71f6b17 100644
--- a/src/main/java/com/l2jserver/datapack/quests/QuestMasterHandler.java
+++ b/src/main/java/com/l2jserver/datapack/quests/QuestMasterHandler.java
@@ -152,8 +152,10 @@ import com.l2jserver.datapack.quests.Q00125_TheNameOfEvil1.Q00125_TheNameOfEvil1
 import com.l2jserver.datapack.quests.Q00126_TheNameOfEvil2.Q00126_TheNameOfEvil2;
 import com.l2jserver.datapack.quests.Q00128_PailakaSongOfIceAndFire.Q00128_PailakaSongOfIceAndFire;
 import com.l2jserver.datapack.quests.Q00129_PailakaDevilsLegacy.Q00129_PailakaDevilsLegacy;
+import com.l2jserver.datapack.quests.Q00130_PathToHellbound.Q00130_PathToHellbound;
 import com.l2jserver.datapack.quests.Q00131_BirdInACage.Q00131_BirdInACage;
 import com.l2jserver.datapack.quests.Q00132_MatrasCuriosity.Q00132_MatrasCuriosity;
+import com.l2jserver.datapack.quests.Q00133_ThatsBloodyHot.Q00133_ThatsBloodyHot;
 import com.l2jserver.datapack.quests.Q00134_TempleMissionary.Q00134_TempleMissionary;
 import com.l2jserver.datapack.quests.Q00135_TempleExecutor.Q00135_TempleExecutor;
 import com.l2jserver.datapack.quests.Q00136_MoreThanMeetsTheEye.Q00136_MoreThanMeetsTheEye;
@@ -522,6 +524,7 @@ import com.l2jserver.datapack.quests.Q10504_JewelOfAntharas.Q10504_JewelOfAnthar
 import com.l2jserver.datapack.quests.Q10505_JewelOfValakas.Q10505_JewelOfValakas;
 
 /**
+ * Quest loader.
  * @author NosBit
  */
 public class QuestMasterHandler {
@@ -649,8 +652,10 @@ public class QuestMasterHandler {
 		Q00126_TheNameOfEvil2.class,
 		Q00128_PailakaSongOfIceAndFire.class,
 		Q00129_PailakaDevilsLegacy.class,
+		Q00130_PathToHellbound.class,
 		Q00131_BirdInACage.class,
 		Q00132_MatrasCuriosity.class,
+		Q00133_ThatsBloodyHot.class,
 		Q00134_TempleMissionary.class,
 		Q00135_TempleExecutor.class,
 		Q00136_MoreThanMeetsTheEye.class,
diff --git a/src/main/java/com/l2jserver/datapack/village_master/Alliance/Alliance.java b/src/main/java/com/l2jserver/datapack/village_master/Alliance/Alliance.java
index 53211a69f7161171dac93f4392f3e74053c7a7d8..a7ad478d9cd367af007197b8bf6ce631a784eecb 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/Alliance/Alliance.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/Alliance/Alliance.java
@@ -44,7 +44,7 @@ public final class Alliance extends Quest {
 	};
 	// @formatter:on
 	
-	private Alliance() {
+	public Alliance() {
 		super(-1, Alliance.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -62,8 +62,4 @@ public final class Alliance extends Quest {
 	public String onTalk(L2Npc npc, L2PcInstance talker) {
 		return "9001-01.htm";
 	}
-	
-	public static void main(String[] args) {
-		new Alliance();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/Clan/Clan.java b/src/main/java/com/l2jserver/datapack/village_master/Clan/Clan.java
index d2ba568cdb1b480557e87caf6a621976102b6b97..1789fac34e40880cb86693c1dd05612d10a923d0 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/Clan/Clan.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/Clan/Clan.java
@@ -61,7 +61,7 @@ public final class Clan extends Quest {
 		LEADER_REQUIRED.put("9000-15.htm", "9000-07-no.htm");
 	}
 	
-	private Clan() {
+	public Clan() {
 		super(-1, Clan.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -81,8 +81,4 @@ public final class Clan extends Quest {
 	public String onTalk(L2Npc npc, L2PcInstance talker) {
 		return "9000-01.htm";
 	}
-	
-	public static void main(String[] args) {
-		new Clan();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/DarkElfChange1/DarkElfChange1.java b/src/main/java/com/l2jserver/datapack/village_master/DarkElfChange1/DarkElfChange1.java
index b3eb25bb592d6cdce945bb34b914d9f2e358f1ae..28ce5395156607669b9dc83f288419c1667ed803 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/DarkElfChange1/DarkElfChange1.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/DarkElfChange1/DarkElfChange1.java
@@ -54,7 +54,7 @@ public final class DarkElfChange1 extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_LEVEL = 20;
 	
-	private DarkElfChange1() {
+	public DarkElfChange1() {
 		super(DarkElfChange1.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -232,8 +232,4 @@ public final class DarkElfChange1 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new DarkElfChange1();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/DarkElfChange2/DarkElfChange2.java b/src/main/java/com/l2jserver/datapack/village_master/DarkElfChange2/DarkElfChange2.java
index 1f4b0a0c1d3101f55331f41ca689412a1d40e796..0b0299ec6cd6dd998b55f3df5e937138db498ea4 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/DarkElfChange2/DarkElfChange2.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/DarkElfChange2/DarkElfChange2.java
@@ -70,7 +70,7 @@ public final class DarkElfChange2 extends AbstractNpcAI {
 	// Misc
 	private static final int MIN_LEVEL = 40;
 	
-	private DarkElfChange2() {
+	public DarkElfChange2() {
 		super(DarkElfChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -279,8 +279,4 @@ public final class DarkElfChange2 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new DarkElfChange2();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/DwarfBlacksmithChange1/DwarfBlacksmithChange1.java b/src/main/java/com/l2jserver/datapack/village_master/DwarfBlacksmithChange1/DwarfBlacksmithChange1.java
index af359e178356f74ed94fe81809e4b7f78129caf9..411e32d763c73aa6461d3f7be1a5595b295cec1b 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/DwarfBlacksmithChange1/DwarfBlacksmithChange1.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/DwarfBlacksmithChange1/DwarfBlacksmithChange1.java
@@ -43,7 +43,7 @@ public final class DwarfBlacksmithChange1 extends AbstractNpcAI {
 	// Class
 	private static final int ARTISAN = 56;
 	
-	private DwarfBlacksmithChange1() {
+	public DwarfBlacksmithChange1() {
 		super(DwarfBlacksmithChange1.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -121,8 +121,4 @@ public final class DwarfBlacksmithChange1 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new DwarfBlacksmithChange1();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/DwarfBlacksmithChange2/DwarfBlacksmithChange2.java b/src/main/java/com/l2jserver/datapack/village_master/DwarfBlacksmithChange2/DwarfBlacksmithChange2.java
index 2850781becad9f0a89ee628e76dae8deedc2e73a..506f24c21f21c6174b6ab5cfb8bf5e5f5efab22f 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/DwarfBlacksmithChange2/DwarfBlacksmithChange2.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/DwarfBlacksmithChange2/DwarfBlacksmithChange2.java
@@ -49,7 +49,7 @@ public final class DwarfBlacksmithChange2 extends AbstractNpcAI {
 	// Class
 	private static final int WARSMITH = 57;
 	
-	private DwarfBlacksmithChange2() {
+	public DwarfBlacksmithChange2() {
 		super(DwarfBlacksmithChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -117,8 +117,4 @@ public final class DwarfBlacksmithChange2 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new DwarfBlacksmithChange2();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/DwarfWarehouseChange1/DwarfWarehouseChange1.java b/src/main/java/com/l2jserver/datapack/village_master/DwarfWarehouseChange1/DwarfWarehouseChange1.java
index 5a5121e224d65a142313d7b09e6ec749023101c0..5496c5d77918f4d817a1d5dcffd9c66a6396f672 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/DwarfWarehouseChange1/DwarfWarehouseChange1.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/DwarfWarehouseChange1/DwarfWarehouseChange1.java
@@ -43,7 +43,7 @@ public final class DwarfWarehouseChange1 extends AbstractNpcAI {
 	// Class
 	private static final int SCAVENGER = 54;
 	
-	private DwarfWarehouseChange1() {
+	public DwarfWarehouseChange1() {
 		super(DwarfWarehouseChange1.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -121,8 +121,4 @@ public final class DwarfWarehouseChange1 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new DwarfWarehouseChange1();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/DwarfWarehouseChange2/DwarfWarehouseChange2.java b/src/main/java/com/l2jserver/datapack/village_master/DwarfWarehouseChange2/DwarfWarehouseChange2.java
index 056aa7786d11ef78c9d70b1a5a20f69e7f058b72..83ce557208beb5fba5a94e496dacf0c6f577811f 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/DwarfWarehouseChange2/DwarfWarehouseChange2.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/DwarfWarehouseChange2/DwarfWarehouseChange2.java
@@ -49,7 +49,7 @@ public final class DwarfWarehouseChange2 extends AbstractNpcAI {
 	// Class
 	private static final int BOUNTY_HUNTER = 55;
 	
-	private DwarfWarehouseChange2() {
+	public DwarfWarehouseChange2() {
 		super(DwarfWarehouseChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -117,8 +117,4 @@ public final class DwarfWarehouseChange2 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new DwarfWarehouseChange2();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanClericChange2/ElfHumanClericChange2.java b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanClericChange2/ElfHumanClericChange2.java
index 56a5a91c4eb024a6fbd86411783a81bd1e3eed7d..992c10a903f41ee8f4a9d335721e666087aeac5b 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanClericChange2/ElfHumanClericChange2.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanClericChange2/ElfHumanClericChange2.java
@@ -52,7 +52,7 @@ public final class ElfHumanClericChange2 extends AbstractNpcAI {
 	private static final int PROPHET = 17;
 	private static final int ELDER = 30;
 	
-	private ElfHumanClericChange2() {
+	public ElfHumanClericChange2() {
 		super(ElfHumanClericChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -167,8 +167,4 @@ public final class ElfHumanClericChange2 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new ElfHumanClericChange2();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanFighterChange1/ElfHumanFighterChange1.java b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanFighterChange1/ElfHumanFighterChange1.java
index 4a7491365eec9610af0b4c0ce2abf9bd81b24099..b493921426344979597610dcb530b98a7a678939 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanFighterChange1/ElfHumanFighterChange1.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanFighterChange1/ElfHumanFighterChange1.java
@@ -52,7 +52,7 @@ public final class ElfHumanFighterChange1 extends AbstractNpcAI {
 	private static final int ELVEN_KNIGHT = 19;
 	private static final int ELVEN_SCOUT = 22;
 	
-	private ElfHumanFighterChange1() {
+	public ElfHumanFighterChange1() {
 		super(ElfHumanFighterChange1.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -263,8 +263,4 @@ public final class ElfHumanFighterChange1 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new ElfHumanFighterChange1();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanFighterChange2/ElfHumanFighterChange2.java b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanFighterChange2/ElfHumanFighterChange2.java
index 7e230ad4d564aa71f93bd71b18ab7d1c9ff1c3b6..1d48f5197a079989d374fccdf9700c0dc1ecaf52 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanFighterChange2/ElfHumanFighterChange2.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanFighterChange2/ElfHumanFighterChange2.java
@@ -67,7 +67,7 @@ public final class ElfHumanFighterChange2 extends AbstractNpcAI {
 	private static final int PLAINS_WALKER = 23;
 	private static final int SILVER_RANGER = 24;
 	
-	private ElfHumanFighterChange2() {
+	public ElfHumanFighterChange2() {
 		super(ElfHumanFighterChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -346,8 +346,4 @@ public final class ElfHumanFighterChange2 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new ElfHumanFighterChange2();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanWizardChange1/ElfHumanWizardChange1.java b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanWizardChange1/ElfHumanWizardChange1.java
index 2087c75d2632af0f43c19d8b80f4b99d4ff1c285..8d21260ab7cbb61152686efd350b7d0f994e9bbf 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanWizardChange1/ElfHumanWizardChange1.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanWizardChange1/ElfHumanWizardChange1.java
@@ -51,7 +51,7 @@ public final class ElfHumanWizardChange1 extends AbstractNpcAI {
 	private static final int ELVEN_WIZARD = 26;
 	private static final int ORACLE = 29;
 	
-	private ElfHumanWizardChange1() {
+	public ElfHumanWizardChange1() {
 		super(ElfHumanWizardChange1.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -245,8 +245,4 @@ public final class ElfHumanWizardChange1 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new ElfHumanWizardChange1();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanWizardChange2/ElfHumanWizardChange2.java b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanWizardChange2/ElfHumanWizardChange2.java
index c0f40aa1aadc39163fb536cdb8b242b1d6736239..4c919010efc9971cbe86b24b7dcd569f6b6821ae 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/ElfHumanWizardChange2/ElfHumanWizardChange2.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/ElfHumanWizardChange2/ElfHumanWizardChange2.java
@@ -56,7 +56,7 @@ public final class ElfHumanWizardChange2 extends AbstractNpcAI {
 	private static final int SPELLSINGER = 27;
 	private static final int ELEMENTAL_SUMMONER = 28;
 	
-	private ElfHumanWizardChange2() {
+	public ElfHumanWizardChange2() {
 		super(ElfHumanWizardChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -216,8 +216,4 @@ public final class ElfHumanWizardChange2 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new ElfHumanWizardChange2();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/KamaelChange1/KamaelChange1.java b/src/main/java/com/l2jserver/datapack/village_master/KamaelChange1/KamaelChange1.java
index 26ae457bd09cefcc66779ecd8bd881be34e45917..ab28b5b5346c6c7dba65c4e2b8aec2b84d19dec5 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/KamaelChange1/KamaelChange1.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/KamaelChange1/KamaelChange1.java
@@ -48,7 +48,7 @@ public final class KamaelChange1 extends AbstractNpcAI {
 	private static final int GWAINS_RECOMMENDATION = 9753;
 	private static final int STEELRAZOR_EVALUATION = 9772;
 	
-	private KamaelChange1() {
+	public KamaelChange1() {
 		super(KamaelChange1.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -151,8 +151,4 @@ public final class KamaelChange1 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new KamaelChange1();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/KamaelChange2/KamaelChange2.java b/src/main/java/com/l2jserver/datapack/village_master/KamaelChange2/KamaelChange2.java
index 6285566619ee4c35201527271fbe628ffbcc0587..34c0c3fdd2cdc16b410dbddaaa292475af4bfd95 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/KamaelChange2/KamaelChange2.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/KamaelChange2/KamaelChange2.java
@@ -66,7 +66,7 @@ public final class KamaelChange2 extends AbstractNpcAI {
 	private static final int KAMAEL_INQUISITOR_MARK = 9782;
 	private static final int SOUL_BREAKER_CERTIFICATE = 9806;
 	
-	private KamaelChange2() {
+	public KamaelChange2() {
 		super(KamaelChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS_MALE);
 		addStartNpc(NPCS_FEMALE);
@@ -283,8 +283,4 @@ public final class KamaelChange2 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new KamaelChange2();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/OrcChange1/OrcChange1.java b/src/main/java/com/l2jserver/datapack/village_master/OrcChange1/OrcChange1.java
index 61697de36c29b2067364c64aa2a7c4ba4abf0339..6c1cf47d781227790dadcc240e7fc9059cc52e40 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/OrcChange1/OrcChange1.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/OrcChange1/OrcChange1.java
@@ -44,7 +44,7 @@ public final class OrcChange1 extends AbstractNpcAI {
 	private static final int KHAVATARI_TOTEM = 1615;
 	private static final int MASK_OF_MEDIUM = 1631;
 	
-	private OrcChange1() {
+	public OrcChange1() {
 		super(OrcChange1.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -180,8 +180,4 @@ public final class OrcChange1 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new OrcChange1();
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/village_master/OrcChange2/OrcChange2.java b/src/main/java/com/l2jserver/datapack/village_master/OrcChange2/OrcChange2.java
index c40c57ed21ed4469e90c552f19c79c87963fbdb4..560e3832e845e87ddc3e664104a91b06f124f59c 100644
--- a/src/main/java/com/l2jserver/datapack/village_master/OrcChange2/OrcChange2.java
+++ b/src/main/java/com/l2jserver/datapack/village_master/OrcChange2/OrcChange2.java
@@ -57,7 +57,7 @@ public final class OrcChange2 extends AbstractNpcAI {
 	private static final int OVERLORD = 51;
 	private static final int WARCRYER = 52;
 	
-	private OrcChange2() {
+	public OrcChange2() {
 		super(OrcChange2.class.getSimpleName(), "village_master");
 		addStartNpc(NPCS);
 		addTalkId(NPCS);
@@ -196,8 +196,4 @@ public final class OrcChange2 extends AbstractNpcAI {
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args) {
-		new OrcChange2();
-	}
 }
diff --git a/src/main/resources/data/scripts.cfg b/src/main/resources/data/scripts.cfg
index 1a7aa9053331db8c3b5c3df1aacbd6b9ba7d8eb4..3ae6d83b77b90726145a0e1ab8e41f0d689b45a7 100644
--- a/src/main/resources/data/scripts.cfg
+++ b/src/main/resources/data/scripts.cfg
@@ -1,215 +1,7 @@
 # This file contains a list of scripts that should be loaded by the GameServer
-# The path is relative to the scripts folder, for example scripts/event/Event.java
+# The path is relative to the scripts folder, for example MyEvent.java
 # would require the following entry:
-# com/l2jserver/datapack/event/Event.java
-#
-# Note: You can also load an script during server runtime using the Admin Panel
-
-# Load Handlers
-com/l2jserver/datapack/handlers/MasterHandler.java
-
-# AI Section
-
-# Npc
-com/l2jserver/datapack/ai/npc/Abercrombie/Abercrombie.java
-com/l2jserver/datapack/ai/npc/Alarm/Alarm.java
-com/l2jserver/datapack/ai/npc/Alexandria/Alexandria.java
-com/l2jserver/datapack/ai/npc/ArenaManager/ArenaManager.java
-com/l2jserver/datapack/ai/npc/Asamah/Asamah.java
-com/l2jserver/datapack/ai/npc/AvantGarde/AvantGarde.java
-com/l2jserver/datapack/ai/npc/BlackJudge/BlackJudge.java
-com/l2jserver/datapack/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
-com/l2jserver/datapack/ai/npc/CastleAmbassador/CastleAmbassador.java
-com/l2jserver/datapack/ai/npc/CastleBlacksmith/CastleBlacksmith.java
-com/l2jserver/datapack/ai/npc/CastleCourtMagician/CastleCourtMagician.java
-com/l2jserver/datapack/ai/npc/CastleChamberlain/CastleChamberlain.java
-com/l2jserver/datapack/ai/npc/CastleMercenaryManager/CastleMercenaryManager.java
-com/l2jserver/datapack/ai/npc/CastleSiegeManager/CastleSiegeManager.java
-com/l2jserver/datapack/ai/npc/CastleTeleporter/CastleTeleporter.java
-com/l2jserver/datapack/ai/npc/CastleWarehouse/CastleWarehouse.java
-com/l2jserver/datapack/ai/npc/ClanTrader/ClanTrader.java
-com/l2jserver/datapack/ai/npc/ClassMaster/ClassMaster.java
-com/l2jserver/datapack/ai/npc/Dorian/Dorian.java
-com/l2jserver/datapack/ai/npc/DragonVortex/DragonVortex.java
-com/l2jserver/datapack/ai/npc/EchoCrystals/EchoCrystals.java
-com/l2jserver/datapack/ai/npc/FameManager/FameManager.java
-com/l2jserver/datapack/ai/npc/Fisherman/Fisherman.java
-com/l2jserver/datapack/ai/npc/ForgeOfTheGods/ForgeOfTheGods.java
-com/l2jserver/datapack/ai/npc/ForgeOfTheGods/Rooney.java
-com/l2jserver/datapack/ai/npc/ForgeOfTheGods/TarBeetle.java
-com/l2jserver/datapack/ai/npc/FortressArcherCaptain/FortressArcherCaptain.java
-com/l2jserver/datapack/ai/npc/FortressSiegeManager/FortressSiegeManager.java
-com/l2jserver/datapack/ai/npc/FreyasSteward/FreyasSteward.java
-com/l2jserver/datapack/ai/npc/Jinia/Jinia.java
-com/l2jserver/datapack/ai/npc/Katenar/Katenar.java
-com/l2jserver/datapack/ai/npc/KetraOrcSupport/KetraOrcSupport.java
-com/l2jserver/datapack/ai/npc/Kier/Kier.java
-com/l2jserver/datapack/ai/npc/ManorManager/ManorManager.java
-com/l2jserver/datapack/ai/npc/MercenaryCaptain/MercenaryCaptain.java
-com/l2jserver/datapack/ai/npc/Minigame/Minigame.java
-com/l2jserver/datapack/ai/npc/MonumentOfHeroes/MonumentOfHeroes.java
-com/l2jserver/datapack/ai/npc/NevitsHerald/NevitsHerald.java
-com/l2jserver/datapack/ai/npc/NpcBuffers/NpcBuffers.java
-com/l2jserver/datapack/ai/npc/NpcBuffers/impl/CabaleBuffer.java
-com/l2jserver/datapack/ai/npc/PriestOfBlessing/PriestOfBlessing.java
-com/l2jserver/datapack/ai/npc/Rignos/Rignos.java
-com/l2jserver/datapack/ai/npc/Rafforty/Rafforty.java
-com/l2jserver/datapack/ai/npc/Selina/Selina.java
-com/l2jserver/datapack/ai/npc/Sirra/Sirra.java
-com/l2jserver/datapack/ai/npc/SubclassCertification/SubclassCertification.java
-com/l2jserver/datapack/ai/npc/Summons/MerchantGolem/GolemTrader.java
-com/l2jserver/datapack/ai/npc/Summons/Pets/BabyPets.java
-com/l2jserver/datapack/ai/npc/Summons/Pets/ImprovedBabyPets.java
-com/l2jserver/datapack/ai/npc/Summons/Servitors/Servitors.java
-com/l2jserver/datapack/ai/npc/SupportUnitCaptain/SupportUnitCaptain.java
-com/l2jserver/datapack/ai/npc/SymbolMaker/SymbolMaker.java
-com/l2jserver/datapack/ai/npc/Teleports/Asher/Asher.java
-com/l2jserver/datapack/ai/npc/Teleports/CrumaTower/CrumaTower.java
-com/l2jserver/datapack/ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
-com/l2jserver/datapack/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
-com/l2jserver/datapack/ai/npc/Teleports/GatekeeperSpirit/GatekeeperSpirit.java
-com/l2jserver/datapack/ai/npc/Teleports/GhostChamberlainOfElmoreden/GhostChamberlainOfElmoreden.java
-com/l2jserver/datapack/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
-com/l2jserver/datapack/ai/npc/Teleports/HuntingGroundsTeleport/HuntingGroundsTeleport.java
-com/l2jserver/datapack/ai/npc/Teleports/Klemis/Klemis.java
-com/l2jserver/datapack/ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
-com/l2jserver/datapack/ai/npc/Teleports/NewbieGuide/NewbieGuide.java
-com/l2jserver/datapack/ai/npc/Teleports/NoblesseTeleport/NoblesseTeleport.java
-com/l2jserver/datapack/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
-com/l2jserver/datapack/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java
-com/l2jserver/datapack/ai/npc/Teleports/SeparatedSoul/SeparatedSoul.java
-com/l2jserver/datapack/ai/npc/Teleports/StakatoNestTeleporter/StakatoNestTeleporter.java
-com/l2jserver/datapack/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java
-com/l2jserver/datapack/ai/npc/Teleports/StrongholdsTeleports/StrongholdsTeleports.java
-com/l2jserver/datapack/ai/npc/Teleports/Survivor/Survivor.java
-com/l2jserver/datapack/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java
-com/l2jserver/datapack/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java
-com/l2jserver/datapack/ai/npc/Teleports/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java
-com/l2jserver/datapack/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java
-com/l2jserver/datapack/ai/npc/Teleports/ToIVortex/ToIVortex.java
-com/l2jserver/datapack/ai/npc/TerritoryManagers/TerritoryManagers.java
-com/l2jserver/datapack/ai/npc/TownPets/TownPets.java
-com/l2jserver/datapack/ai/npc/Trainers/HealerTrainer/HealerTrainer.java
-com/l2jserver/datapack/ai/npc/Tunatun/Tunatun.java
-com/l2jserver/datapack/ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java
-com/l2jserver/datapack/ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java
-com/l2jserver/datapack/ai/npc/WeaverOlf/WeaverOlf.java
-com/l2jserver/datapack/ai/npc/WyvernManager/WyvernManager.java
-
-# Fantasy Isle
-com/l2jserver/datapack/ai/fantasy_isle/MC_Show.java
-com/l2jserver/datapack/ai/fantasy_isle/HandysBlockCheckerEvent.java
-
-# Group Template
-com/l2jserver/datapack/ai/group_template/AltarsOfSacrifice.java
-com/l2jserver/datapack/ai/group_template/BeastFarm.java
-com/l2jserver/datapack/ai/group_template/DenOfEvil.java
-com/l2jserver/datapack/ai/group_template/DragonValley.java
-com/l2jserver/datapack/ai/group_template/FairyTrees.java
-com/l2jserver/datapack/ai/group_template/FeedableBeasts.java
-com/l2jserver/datapack/ai/group_template/FleeMonsters.java
-com/l2jserver/datapack/ai/group_template/FrozenLabyrinth.java
-com/l2jserver/datapack/ai/group_template/GiantsCave.java
-com/l2jserver/datapack/ai/group_template/HotSprings.java
-com/l2jserver/datapack/ai/group_template/IsleOfPrayer.java
-com/l2jserver/datapack/ai/group_template/LairOfAntharas.java
-com/l2jserver/datapack/ai/group_template/MinionSpawnManager.java
-com/l2jserver/datapack/ai/group_template/MonasteryOfSilence.java
-com/l2jserver/datapack/ai/group_template/NonLethalableNpcs.java
-com/l2jserver/datapack/ai/group_template/NonTalkingNpcs.java
-com/l2jserver/datapack/ai/group_template/PavelArchaic.java
-com/l2jserver/datapack/ai/group_template/PlainsOfDion.java
-com/l2jserver/datapack/ai/group_template/PlainsOfLizardman.java
-com/l2jserver/datapack/ai/group_template/PolymorphingAngel.java
-com/l2jserver/datapack/ai/group_template/PolymorphingOnAttack.java
-com/l2jserver/datapack/ai/group_template/PrimevalIsle.java
-com/l2jserver/datapack/ai/group_template/PrisonGuards.java
-com/l2jserver/datapack/ai/group_template/RaidBossCancel.java
-com/l2jserver/datapack/ai/group_template/RandomSpawn.java
-com/l2jserver/datapack/ai/group_template/RangeGuard.java
-com/l2jserver/datapack/ai/group_template/Remnants.java
-com/l2jserver/datapack/ai/group_template/Sandstorms.java
-com/l2jserver/datapack/ai/group_template/SeeThroughSilentMove.java
-com/l2jserver/datapack/ai/group_template/SelMahumDrill.java
-com/l2jserver/datapack/ai/group_template/SelMahumSquad.java
-com/l2jserver/datapack/ai/group_template/SilentValley.java
-com/l2jserver/datapack/ai/group_template/StakatoNest.java
-com/l2jserver/datapack/ai/group_template/SummonPc.java
-com/l2jserver/datapack/ai/group_template/TurekOrcs.java
-com/l2jserver/datapack/ai/group_template/VarkaKetra.java
-com/l2jserver/datapack/ai/group_template/WarriorFishingBlock.java
-
-# Individual
-com/l2jserver/datapack/ai/individual/Antharas/Antharas.java
-com/l2jserver/datapack/ai/individual/Baium/Baium.java
-com/l2jserver/datapack/ai/individual/Sailren/Sailren.java
-com/l2jserver/datapack/ai/individual/Venom/Venom.java
-com/l2jserver/datapack/ai/individual/Anais.java
-com/l2jserver/datapack/ai/individual/Ballista.java
-com/l2jserver/datapack/ai/individual/Beleth.java
-com/l2jserver/datapack/ai/individual/BlackdaggerWing.java
-com/l2jserver/datapack/ai/individual/BleedingFly.java
-com/l2jserver/datapack/ai/individual/BloodyBerserker.java
-com/l2jserver/datapack/ai/individual/BloodyKarik.java
-com/l2jserver/datapack/ai/individual/BloodyKarinness.java
-com/l2jserver/datapack/ai/individual/CrimsonHatuOtis.java
-com/l2jserver/datapack/ai/individual/Core.java
-com/l2jserver/datapack/ai/individual/DarkWaterDragon.java
-com/l2jserver/datapack/ai/individual/DivineBeast.java
-com/l2jserver/datapack/ai/individual/DrakosWarrior.java
-com/l2jserver/datapack/ai/individual/DrChaos.java
-com/l2jserver/datapack/ai/individual/DustRider.java
-com/l2jserver/datapack/ai/individual/EmeraldHorn.java
-com/l2jserver/datapack/ai/individual/Epidos.java
-com/l2jserver/datapack/ai/individual/EvasGiftBox.java
-com/l2jserver/datapack/ai/individual/FrightenedRagnaOrc.java
-com/l2jserver/datapack/ai/individual/Gordon.java
-com/l2jserver/datapack/ai/individual/GraveRobbers.java
-com/l2jserver/datapack/ai/individual/Knoriks.java
-com/l2jserver/datapack/ai/individual/MuscleBomber.java
-com/l2jserver/datapack/ai/individual/Orfen.java
-com/l2jserver/datapack/ai/individual/QueenAnt.java
-com/l2jserver/datapack/ai/individual/QueenShyeed.java
-com/l2jserver/datapack/ai/individual/RagnaOrcCommander.java
-com/l2jserver/datapack/ai/individual/RagnaOrcHero.java
-com/l2jserver/datapack/ai/individual/RagnaOrcSeer.java
-com/l2jserver/datapack/ai/individual/NecromancerOfTheValley.java
-com/l2jserver/datapack/ai/individual/ShadowSummoner.java
-com/l2jserver/datapack/ai/individual/SinEater.java
-com/l2jserver/datapack/ai/individual/SinWardens.java
-com/l2jserver/datapack/ai/individual/Valakas.java
-
-# Village Master
-com/l2jserver/datapack/village_master/Clan/Clan.java
-com/l2jserver/datapack/village_master/Alliance/Alliance.java
-com/l2jserver/datapack/village_master/DarkElfChange1/DarkElfChange1.java
-com/l2jserver/datapack/village_master/DarkElfChange2/DarkElfChange2.java
-com/l2jserver/datapack/village_master/DwarfBlacksmithChange1/DwarfBlacksmithChange1.java
-com/l2jserver/datapack/village_master/DwarfBlacksmithChange2/DwarfBlacksmithChange2.java
-com/l2jserver/datapack/village_master/DwarfWarehouseChange1/DwarfWarehouseChange1.java
-com/l2jserver/datapack/village_master/DwarfWarehouseChange2/DwarfWarehouseChange2.java
-com/l2jserver/datapack/village_master/ElfHumanClericChange2/ElfHumanClericChange2.java
-com/l2jserver/datapack/village_master/ElfHumanFighterChange1/ElfHumanFighterChange1.java
-com/l2jserver/datapack/village_master/ElfHumanFighterChange2/ElfHumanFighterChange2.java
-com/l2jserver/datapack/village_master/ElfHumanWizardChange1/ElfHumanWizardChange1.java
-com/l2jserver/datapack/village_master/ElfHumanWizardChange2/ElfHumanWizardChange2.java
-com/l2jserver/datapack/village_master/KamaelChange1/KamaelChange1.java
-com/l2jserver/datapack/village_master/KamaelChange2/KamaelChange2.java
-com/l2jserver/datapack/village_master/OrcChange1/OrcChange1.java
-com/l2jserver/datapack/village_master/OrcChange2/OrcChange2.java
-
-# Instance Section
-com/l2jserver/datapack/instances/InstanceLoader.java
-
-# Gracia Section
-com/l2jserver/datapack/gracia/GraciaLoader.java
-
-# Hellbound Section
-com/l2jserver/datapack/hellbound/HellboundLoader.java
-
-# Quests Section
-com/l2jserver/datapack/quests/QuestMasterHandler.java
-com/l2jserver/datapack/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
+# com/l2jserver/datapack/custom/events/MyEvent/MyEvent.java
 
 # Features
 com/l2jserver/datapack/features/SkillTransfer/SkillTransfer.java