From 6b1377da7f3e5c7a73ce1096f4d87c317ea06bcf Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Fri, 10 Jul 2020 13:41:15 -0300
Subject: [PATCH] Script loading rework

Added AI Loader class.
Removed most main methods from scripts.
Added Treasure AI that was missing in loading.
---
 .gitignore                                    |   4 +-
 .../com/l2jserver/datapack/ai/AILoader.java   | 413 ++++++++++++++++++
 .../fantasy_isle/HandysBlockCheckerEvent.java |  15 +-
 .../datapack/ai/fantasy_isle/MC_Show.java     |  24 +-
 .../ai/group_template/AltarsOfSacrifice.java  |   6 +-
 .../datapack/ai/group_template/BeastFarm.java |   6 +-
 .../datapack/ai/group_template/DenOfEvil.java |   6 +-
 .../ai/group_template/DragonValley.java       |   6 +-
 .../ai/group_template/FairyTrees.java         |   6 +-
 .../ai/group_template/FeedableBeasts.java     |   6 +-
 .../ai/group_template/FleeMonsters.java       |   6 +-
 .../ai/group_template/FrozenLabyrinth.java    |   6 +-
 .../ai/group_template/GiantsCave.java         |   6 +-
 .../ai/group_template/HotSprings.java         |   6 +-
 .../ai/group_template/IsleOfPrayer.java       |   6 +-
 .../ai/group_template/LairOfAntharas.java     |   6 +-
 .../ai/group_template/MinionSpawnManager.java |   6 +-
 .../ai/group_template/MonasteryOfSilence.java |   6 +-
 .../ai/group_template/NonLethalableNpcs.java  |   4 -
 .../ai/group_template/NonTalkingNpcs.java     |   4 -
 .../ai/group_template/PavelArchaic.java       |   6 +-
 .../ai/group_template/PlainsOfDion.java       |   6 +-
 .../ai/group_template/PlainsOfLizardman.java  |   6 +-
 .../ai/group_template/PolymorphingAngel.java  |   6 +-
 .../group_template/PolymorphingOnAttack.java  |   6 +-
 .../ai/group_template/PrimevalIsle.java       |   6 +-
 .../ai/group_template/PrisonGuards.java       |   6 +-
 .../ai/group_template/RaidBossCancel.java     |   4 -
 .../ai/group_template/RandomSpawn.java        |   4 -
 .../ai/group_template/RangeGuard.java         |   6 +-
 .../datapack/ai/group_template/Remnants.java  |   6 +-
 .../ai/group_template/Sandstorms.java         |   8 +-
 .../group_template/SeeThroughSilentMove.java  |   6 +-
 .../ai/group_template/SelMahumDrill.java      |   6 +-
 .../ai/group_template/SelMahumSquad.java      |   6 +-
 .../ai/group_template/SilentValley.java       |   6 +-
 .../ai/group_template/StakatoNest.java        |   6 +-
 .../datapack/ai/group_template/SummonPc.java  |   6 +-
 .../ai/group_template/TreasureChest.java      |   6 +-
 .../datapack/ai/group_template/TurekOrcs.java |   6 +-
 .../ai/group_template/VarkaKetra.java         |   6 +-
 .../group_template/WarriorFishingBlock.java   |   4 -
 .../datapack/ai/individual/Anais.java         |  10 +-
 .../ai/individual/Antharas/Antharas.java      |   6 +-
 .../datapack/ai/individual/Baium/Baium.java   |   6 +-
 .../datapack/ai/individual/Ballista.java      |   6 +-
 .../datapack/ai/individual/Beleth.java        |   6 +-
 .../ai/individual/BlackdaggerWing.java        |   4 -
 .../datapack/ai/individual/BleedingFly.java   |   4 -
 .../ai/individual/BloodyBerserker.java        |   4 -
 .../datapack/ai/individual/BloodyKarik.java   |  84 ++--
 .../ai/individual/BloodyKarinness.java        |   4 -
 .../datapack/ai/individual/Core.java          |   6 +-
 .../ai/individual/CrimsonHatuOtis.java        |   8 +-
 .../ai/individual/DarkWaterDragon.java        |   6 +-
 .../datapack/ai/individual/DivineBeast.java   |   6 +-
 .../datapack/ai/individual/DrChaos.java       |   6 +-
 .../datapack/ai/individual/DrakosWarrior.java |   4 -
 .../datapack/ai/individual/DustRider.java     |   4 -
 .../datapack/ai/individual/EmeraldHorn.java   |   4 -
 .../datapack/ai/individual/Epidos.java        |   6 +-
 .../datapack/ai/individual/EvasGiftBox.java   |   6 +-
 .../ai/individual/FrightenedRagnaOrc.java     |   6 +-
 .../datapack/ai/individual/Gordon.java        |   6 +-
 .../datapack/ai/individual/GraveRobbers.java  |   6 +-
 .../datapack/ai/individual/Knoriks.java       |   4 -
 .../datapack/ai/individual/MuscleBomber.java  |   4 -
 .../ai/individual/NecromancerOfTheValley.java |   4 -
 .../datapack/ai/individual/Orfen.java         |   6 +-
 .../datapack/ai/individual/QueenAnt.java      |   6 +-
 .../datapack/ai/individual/QueenShyeed.java   |  16 +-
 .../ai/individual/RagnaOrcCommander.java      |   6 +-
 .../datapack/ai/individual/RagnaOrcHero.java  |   6 +-
 .../datapack/ai/individual/RagnaOrcSeer.java  |   6 +-
 .../ai/individual/Sailren/Sailren.java        |   6 +-
 .../ai/individual/ShadowSummoner.java         |   4 -
 .../datapack/ai/individual/SinEater.java      |   8 +-
 .../datapack/ai/individual/SinWardens.java    |   6 +-
 .../datapack/ai/individual/Valakas.java       |   6 +-
 .../datapack/ai/individual/Venom/Venom.java   |   6 +-
 .../ai/npc/Abercrombie/Abercrombie.java       |   4 -
 .../datapack/ai/npc/Alarm/Alarm.java          |   6 +-
 .../ai/npc/Alexandria/Alexandria.java         |   6 +-
 .../ai/npc/ArenaManager/ArenaManager.java     |   6 +-
 .../datapack/ai/npc/Asamah/Asamah.java        |   5 -
 .../ai/npc/AvantGarde/AvantGarde.java         |   4 -
 .../ai/npc/BlackJudge/BlackJudge.java         |   6 +-
 .../BlackMarketeerOfMammon.java               |   6 +-
 .../CastleAmbassador/CastleAmbassador.java    |   6 +-
 .../CastleBlacksmith/CastleBlacksmith.java    |   6 +-
 .../CastleChamberlain/CastleChamberlain.java  |   6 +-
 .../CastleCourtMagician.java                  |   6 +-
 .../CastleMercenaryManager.java               |   6 +-
 .../CastleSiegeManager.java                   |   6 +-
 .../CastleTeleporter/CastleTeleporter.java    |   6 +-
 .../npc/CastleWarehouse/CastleWarehouse.java  |   6 +-
 .../ai/npc/ClanTrader/ClanTrader.java         |   6 +-
 .../ai/npc/ClassMaster/ClassMaster.java       |   6 +-
 .../datapack/ai/npc/Dorian/Dorian.java        |   6 +-
 .../ai/npc/DragonVortex/DragonVortex.java     |   6 +-
 .../ai/npc/EchoCrystals/EchoCrystals.java     |   6 +-
 .../ai/npc/FameManager/FameManager.java       |   6 +-
 .../datapack/ai/npc/Fisherman/Fisherman.java  |   4 -
 .../ai/npc/ForgeOfTheGods/ForgeOfTheGods.java |   6 +-
 .../ai/npc/ForgeOfTheGods/Rooney.java         |   6 +-
 .../ai/npc/ForgeOfTheGods/TarBeetle.java      |   6 +-
 .../FortressArcherCaptain.java                |   6 +-
 .../FortressSiegeManager.java                 |   6 +-
 .../ai/npc/FreyasSteward/FreyasSteward.java   |   6 +-
 .../datapack/ai/npc/Jinia/Jinia.java          |   6 +-
 .../datapack/ai/npc/Katenar/Katenar.java      |   6 +-
 .../npc/KetraOrcSupport/KetraOrcSupport.java  |   6 +-
 .../l2jserver/datapack/ai/npc/Kier/Kier.java  |   6 +-
 .../ai/npc/ManorManager/ManorManager.java     |   4 -
 .../MercenaryCaptain/MercenaryCaptain.java    |   6 +-
 .../datapack/ai/npc/Minigame/Minigame.java    |   6 +-
 .../MonumentOfHeroes/MonumentOfHeroes.java    |   6 +-
 .../ai/npc/NevitsHerald/NevitsHerald.java     |   6 +-
 .../ai/npc/NpcBuffers/NpcBuffers.java         |   6 +-
 .../ai/npc/NpcBuffers/impl/CabaleBuffer.java  |   6 +-
 .../PriestOfBlessing/PriestOfBlessing.java    |   6 +-
 .../datapack/ai/npc/Rafforty/Rafforty.java    |  18 +-
 .../datapack/ai/npc/Rignos/Rignos.java        |   6 +-
 .../datapack/ai/npc/Selina/Selina.java        |   4 -
 .../datapack/ai/npc/Sirra/Sirra.java          |   6 +-
 .../SubclassCertification.java                |   7 +-
 .../Summons/MerchantGolem/GolemTrader.java    |  10 +-
 .../ai/npc/Summons/Pets/BabyPets.java         |   6 +-
 .../ai/npc/Summons/Pets/ImprovedBabyPets.java |   6 +-
 .../ai/npc/Summons/Servitors/Servitors.java   |   6 +-
 .../SupportUnitCaptain.java                   |   6 +-
 .../ai/npc/SymbolMaker/SymbolMaker.java       |   6 +-
 .../ai/npc/Teleports/Asher/Asher.java         |   6 +-
 .../npc/Teleports/CrumaTower/CrumaTower.java  |   6 +-
 .../DelusionTeleport/DelusionTeleport.java    |   6 +-
 .../ElrokiTeleporters/ElrokiTeleporters.java  |   6 +-
 .../GatekeeperSpirit/GatekeeperSpirit.java    |   6 +-
 .../GhostChamberlainOfElmoreden.java          |   6 +-
 .../GrandBossTeleporters.java                 |   6 +-
 .../HuntingGroundsTeleport.java               |   6 +-
 .../ai/npc/Teleports/Klemis/Klemis.java       |   6 +-
 .../MithrilMinesTeleporter.java               |   6 +-
 .../Teleports/NewbieGuide/NewbieGuide.java    |   6 +-
 .../NoblesseTeleport/NoblesseTeleport.java    |   6 +-
 .../OracleTeleport/OracleTeleport.java        |   6 +-
 .../PaganTeleporters/PaganTeleporters.java    |   6 +-
 .../SeparatedSoul/SeparatedSoul.java          |   8 +-
 .../StakatoNestTeleporter.java                |   6 +-
 .../SteelCitadelTeleport.java                 |   6 +-
 .../StrongholdsTeleports.java                 |   6 +-
 .../ai/npc/Teleports/Survivor/Survivor.java   |   6 +-
 .../TeleportToFantasy/TeleportToFantasy.java  |   6 +-
 .../TeleportToRaceTrack.java                  |   6 +-
 .../TeleportToUndergroundColiseum.java        |   6 +-
 .../TeleportWithCharm/TeleportWithCharm.java  |   6 +-
 .../ai/npc/Teleports/ToIVortex/ToIVortex.java |   6 +-
 .../TerritoryManagers/TerritoryManagers.java  |   6 +-
 .../datapack/ai/npc/TownPets/TownPets.java    |   6 +-
 .../Trainers/HealerTrainer/HealerTrainer.java |   6 +-
 .../datapack/ai/npc/Tunatun/Tunatun.java      |   6 +-
 .../VarkaSilenosSupport.java                  |   6 +-
 .../FirstClassTransferTalk.java               |   6 +-
 .../datapack/ai/npc/WeaverOlf/WeaverOlf.java  |   6 +-
 .../ai/npc/WyvernManager/WyvernManager.java   |   6 +-
 .../datapack/gracia/GraciaLoader.java         |   6 +-
 .../datapack/handlers/MasterHandler.java      |   8 +-
 .../admincommandhandlers/AdminVitality.java   |   4 -
 .../datapack/hellbound/AI/Typhoon.java        |   7 -
 .../datapack/hellbound/HellboundLoader.java   |  25 +-
 .../datapack/instances/InstanceLoader.java    |   6 +-
 .../PailakaDevilsLegacy.java                  |   4 -
 .../datapack/quests/QuestMasterHandler.java   |   5 +
 .../village_master/Alliance/Alliance.java     |   6 +-
 .../datapack/village_master/Clan/Clan.java    |   6 +-
 .../DarkElfChange1/DarkElfChange1.java        |   6 +-
 .../DarkElfChange2/DarkElfChange2.java        |   6 +-
 .../DwarfBlacksmithChange1.java               |   6 +-
 .../DwarfBlacksmithChange2.java               |   6 +-
 .../DwarfWarehouseChange1.java                |   6 +-
 .../DwarfWarehouseChange2.java                |   6 +-
 .../ElfHumanClericChange2.java                |   6 +-
 .../ElfHumanFighterChange1.java               |   6 +-
 .../ElfHumanFighterChange2.java               |   6 +-
 .../ElfHumanWizardChange1.java                |   6 +-
 .../ElfHumanWizardChange2.java                |   6 +-
 .../KamaelChange1/KamaelChange1.java          |   6 +-
 .../KamaelChange2/KamaelChange2.java          |   6 +-
 .../village_master/OrcChange1/OrcChange1.java |   6 +-
 .../village_master/OrcChange2/OrcChange2.java |   6 +-
 src/main/resources/data/scripts.cfg           | 212 +--------
 190 files changed, 652 insertions(+), 1217 deletions(-)
 create mode 100644 src/main/java/com/l2jserver/datapack/ai/AILoader.java

diff --git a/.gitignore b/.gitignore
index 621983d27a..ae64598b02 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 0000000000..9e54d7b608
--- /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 f36542d6d1..719984ed49 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 167c1d1ef3..9be4520ba2 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 b37c621090..83471219a4 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 10ec010b5b..36b78e214d 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 5c22f14bea..86917e2315 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 b7e7414209..766ac48f8e 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 64ad43ede8..c2441250f5 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 7c8892f7eb..bf360162ae 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 cb3b465d43..706d590aae 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 eb1e115b1a..3d34d9d746 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 515ec87ad7..54d924e9e4 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 876e5602ea..db61f80948 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 54258c8f06..3a508d6939 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 c5ffd4bd93..9f6cfa72b5 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 786ac72920..d72ae44115 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 e3790b3247..2591dfdfae 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 4dde377d44..a70e10f14a 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 9025951076..1a9a7152ac 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 2181632577..7c3024d485 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 b1ebb942a1..c38b9254e4 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 014fcc4e66..a76e459b3b 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 88a8ff9fd7..b3166894fd 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 790f561f7c..fbe8d938d2 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 1c00526f1e..04f1e7a219 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 03df2b8be1..c03403ca5c 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 da8b3e5c25..052c4d6517 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 796bb7e41f..4f5c441a69 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 cec4776108..89701109bf 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 2d50ae7f05..d61f7b0658 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 d8f483f948..b2eda6fcdc 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 00a16f743e..945d700759 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 19c381c533..8efd968673 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 a7c7cbfe94..3a7d012003 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 8e5b8c406f..d32b1f2fad 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 66a0cca800..6d368614dc 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 cb69e04369..53fa2ca005 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 223cc130b4..021181c639 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 c3c98b1d50..7008024037 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 cc4f28c00e..0737ab4eef 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 c2417af092..a411d5de75 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 3259426a01..522dceb12b 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 6f5e097830..f35af602de 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 0b626f212b..e590911995 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 95c2a2e64f..d1199e09c8 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 65fad9f1ff..e0aa47f3df 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 81621dbaff..3c1965e947 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 33a12cff95..d9915d7d86 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 55697a49a9..13dd9c8230 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 f0ebf777b5..62fb07b4c8 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 d55dbc5f22..e9b5290938 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 490230ac2e..0120c5c067 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 0e478a7d6f..3dc87cb1c4 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 f9babb3259..792e4e43ab 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 95e84eefb5..8c8c400f50 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 0b4438e274..1a9cd4881f 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 239e1cdbfc..0fee3924c7 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 5bcc0b681a..d55d4489f1 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 9c2d24284c..00161fb45e 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 6eee890688..ebb2925581 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 4d296b269f..3f3a7fa9ca 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 e8ba3c22f7..a5673b070c 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 55ede3de28..984ce8b42c 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 297df6118a..75a956e830 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 16cab4f35f..a7ed206af5 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 f324abec0c..e6dc261ff2 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 2eb4690032..db1652838f 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 17c2abce21..c0898fc761 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 a988a221b2..5d57d77ad1 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 7460d84213..6a41c76a85 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 1e5a65c641..0da4a317d8 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 184f88be64..155329abc2 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 910462fdeb..bd8d44ae7c 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 23e8524894..088d37876c 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 6d79dc21bc..acb2243f3a 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 7866d475d9..bbc60f3a9b 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 c77670de81..88d23d73bc 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 cf6ea62ca3..41e8177f04 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 d82612554f..fc5db8fbb5 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 d9d77de1c5..c7f2d9a65c 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 1cc563a3cb..b8bc2b78b7 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 c678bc7677..8717dce805 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 8c29c18a5e..6224b18c41 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 dd50e76c8f..4ac40dcda9 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 776d044d23..a1971b4e57 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 4583370f9e..1f3a0be152 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 f90dd55a8b..b8d75dedd2 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 af1d374fd9..19f0bfeb7a 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 8521842fb6..f437b7d35a 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 b1d360ac33..d4ab3400b2 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 9f3b749591..5c1bfd1366 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 8ec28e900e..b8214d9262 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 f4ed6f04e4..5c51e1f5b4 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 573b82f866..c78c2d608c 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 92712031a0..2839cef091 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 92a539633b..8ad29ba3be 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 32976eeafb..cb02665d90 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 bab76395f4..04b2298084 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 8917f9d3b8..8a44ac63cd 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 5d7a17b5b2..d7b6683cac 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 4908e2ee65..a22171c045 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 585f1f1af3..426154087d 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 906bbac5bb..260cd6346f 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 f96774d8c2..8c7e5f5f73 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 bd59159978..0406cf3673 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 00f843662d..1adc88b93a 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 6a599e18e2..6fc4945057 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 8c25bf9628..7bb8e4308c 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 52d4cfe1e6..b8a77ccf04 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 6216dd1a1a..4222d93c93 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 5db7a2a84f..5965e69a31 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 3a63b41522..b5be115677 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 5fc21d9759..792542f537 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 4a307e5999..bfa4d212d7 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 e21b52121a..0256ff4d21 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 188f397d13..a1c4122c12 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 75cc0a5715..52bb28868b 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 477c1fddd6..7ef4e2b1f1 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 0f3a958312..4deeefbc70 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 73ed775673..6a25628fe0 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 8449baa1b7..fa71913fa7 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 480ab914d0..b9823cf618 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 220135713c..2d9a6e64ea 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 bda708c88d..e47fa430e1 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 525614666e..c6ee64923e 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 30d7c1954e..1616a6e5a4 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 bef7ebf5db..ab4dafe014 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 21592e2be0..263eda7e4d 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 f43a8bf32f..0210746892 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 2af573b174..23134711b7 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 d736855f47..530a68c81a 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 0f665512f0..c319b3d269 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 e92a6fd320..fc96387c78 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 40601a8bb7..a16f2e867a 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 0ba65c4a60..5dae741a16 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 bbe59f91ad..6261cc37d3 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 7dbf335365..33eabbe59d 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 f307be0a1a..92f722a35c 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 fb86b62d44..99e70d7ca3 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 49e54c47b6..01a63522f2 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 0f4fae912f..2da3a5c30b 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 91371edf92..eaf5c127f1 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 ea18403650..fc31772ffe 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 77ff498857..bd05aca0d2 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 25c87012ac..8a33783dee 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 f2edff8f04..34cb75472d 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 7d89480c98..8f9818e0d0 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 4a8f35d8a3..69c0b9ad9d 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 2931065ccb..7648a32f0d 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 effaaf7dba..adde5896cd 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 e5f553be74..447394b428 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 508bd775be..7ee300c304 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 4ca38c6ef2..f599a0cb15 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 b5d7598e4e..08f3ceedb0 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 5be484560c..18622d111a 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 5939b2bf91..0a0ac7a9be 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 d366454fc1..28a5bb768b 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 941b7cbc17..ad6861d182 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 7a0b9662ff..15c9262cd0 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 22d90f2bd2..13929e9ea4 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 13cf9e286f..855c221459 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 ae11576c56..f303b49888 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 7bc8534d90..bb7b0b2960 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 1f3546031d..059aa7e29e 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 dc4019a7f9..5efeda62a8 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 d4c264bf39..44b5cda18e 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 a3f1fbebcd..445e7fc917 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 999f8cad33..6629447041 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 4eb5f1ba88..2f9a4043bb 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 a9b31b993f..82f37908de 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 22deffe22e..d80cc89bfe 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 53211a69f7..a7ad478d9c 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 d2ba568cdb..1789fac34e 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 b3eb25bb59..28ce539515 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 1f4b0a0c1d..0b0299ec6c 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 af359e1783..411e32d763 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 2850781bec..506f24c21f 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 5a5121e224..5496c5d779 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 056aa7786d..83ce557208 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 56a5a91c4e..992c10a903 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 4a7491365e..b493921426 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 7e230ad4d5..1d48f5197a 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 2087c75d26..8d21260ab7 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 c0f40aa1aa..4c919010ef 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 26ae457bd0..ab28b5b534 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 6285566619..34c0c3fdd2 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 61697de36c..6c1cf47d78 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 c40c57ed21..560e3832e8 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 1a7aa90533..3ae6d83b77 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
-- 
GitLab