From dcfbd3aa029e90131e91b103bdc5120cb16b658a Mon Sep 17 00:00:00 2001
From: Zealar <Zealar@users.noreply.github.com>
Date: Tue, 19 Aug 2014 10:18:42 +0000
Subject: [PATCH] BETA: Organizing Gracia Scripts:   * Gracia related AIs moved
 to new gracia folder.   * Now using a classloader to load them (instead of
 scripts.cfg).

 Patch by: Pandragon
---
 L2J_DataPack_BETA/dist/game/data/scripts.cfg  | 25 +----
 .../AI}/EnergySeeds.java                      | 27 ++----
 .../individual => gracia/AI}/Lindvior.java    | 11 +--
 .../{ai/individual => gracia/AI}/Maguen.java  | 14 +--
 .../NPC}/FortuneTelling/FortuneTelling.java   |  9 +-
 .../AI/NPC}/FortuneTelling/fortune.htm        |  0
 .../AI/NPC}/FortuneTelling/lowadena.htm       |  0
 .../AI/NPC/GeneralDilios}/GeneralDilios.java  | 11 +--
 .../npc => gracia/AI/NPC}/Lekon/32557-01.html |  0
 .../npc => gracia/AI/NPC}/Lekon/32557-02.html |  0
 .../npc => gracia/AI/NPC}/Lekon/32557-03.html |  0
 .../npc => gracia/AI/NPC}/Lekon/32557-04.html |  0
 .../npc => gracia/AI/NPC}/Lekon/32557.html    |  0
 .../npc => gracia/AI/NPC}/Lekon/Lekon.java    | 11 +--
 .../npc => gracia/AI/NPC}/Nemo/32735-01.html  |  0
 .../npc => gracia/AI/NPC}/Nemo/32735-02.html  |  0
 .../npc => gracia/AI/NPC}/Nemo/32735-03.html  |  0
 .../npc => gracia/AI/NPC}/Nemo/32735-04.html  |  0
 .../npc => gracia/AI/NPC}/Nemo/32735-05.html  |  0
 .../npc => gracia/AI/NPC}/Nemo/32735-06.html  |  0
 .../{ai/npc => gracia/AI/NPC}/Nemo/32735.html |  0
 .../{ai/npc => gracia/AI/NPC}/Nemo/Nemo.java  | 14 +--
 .../AI/NPC}/Nottingale/32627-01.html          |  0
 .../AI/NPC}/Nottingale/32627-02.html          |  0
 .../AI/NPC}/Nottingale/32627-03.html          |  0
 .../AI/NPC}/Nottingale/32627-04.html          |  0
 .../AI/NPC}/Nottingale/32627-05.html          |  0
 .../AI/NPC}/Nottingale/32627-06.html          |  0
 .../AI/NPC}/Nottingale/32627-07.html          |  0
 .../AI/NPC}/Nottingale/32627-08.html          |  0
 .../AI/NPC}/Nottingale/32627-09.html          |  0
 .../AI/NPC}/Nottingale/32627-10.html          |  0
 .../AI/NPC}/Nottingale/32627.html             |  0
 .../AI/NPC}/Nottingale/Nottingale.java        | 11 +--
 .../npc => gracia/AI/NPC}/Seyo/32737-01.html  |  0
 .../npc => gracia/AI/NPC}/Seyo/32737-02.html  |  0
 .../npc => gracia/AI/NPC}/Seyo/32737-03.html  |  0
 .../npc => gracia/AI/NPC}/Seyo/32737-04.html  |  0
 .../{ai/npc => gracia/AI/NPC}/Seyo/32737.html |  0
 .../{ai/npc => gracia/AI/NPC}/Seyo/Seyo.java  | 11 +--
 .../AI/NPC}/ZealotOfShilen/32628-01.html      |  0
 .../AI/NPC}/ZealotOfShilen/32628.html         |  0
 .../AI/NPC}/ZealotOfShilen/32629.html         |  0
 .../NPC}/ZealotOfShilen/ZealotOfShilen.java   | 11 +--
 .../SeedOfAnnihilation.java                   | 11 +--
 .../AI}/StarStones.java                       | 11 +--
 .../data/scripts/gracia/GraciaLoader.java     | 97 +++++++++++++++++++
 .../instances/SecretArea/32566-01.html        |  0
 .../instances/SecretArea/32567-01.html        |  0
 .../instances/SecretArea/SecretArea.java      | 11 +--
 .../instances/SeedOfDestruction/Stage1.java   | 12 +--
 .../instances/SeedOfInfinity/32530-00.htm     |  0
 .../instances/SeedOfInfinity/32530-01.htm     |  0
 .../instances/SeedOfInfinity/32530-02.htm     |  0
 .../instances/SeedOfInfinity/32530-03.htm     |  0
 .../instances/SeedOfInfinity/32530-04.htm     |  0
 .../instances/SeedOfInfinity/32530-05.htm     |  0
 .../instances/SeedOfInfinity/32530-06.htm     |  0
 .../instances/SeedOfInfinity/32530-07.htm     |  0
 .../instances/SeedOfInfinity/32530-08.htm     |  0
 .../instances/SeedOfInfinity/32530-09.htm     |  0
 .../instances/SeedOfInfinity/32530-10.htm     |  0
 .../instances/SeedOfInfinity/32530-11.htm     |  0
 .../SeedOfInfinity/HallOfSuffering.java       | 11 +--
 .../vehicles/AirShipController.java           |  2 +-
 .../vehicles/AirShipGludioGracia/32607.htm    |  0
 .../vehicles/AirShipGludioGracia/32609.htm    |  0
 .../AirShipGludioGracia.java                  | 11 +--
 .../KeucereusNorthController/32606.htm        |  0
 .../KeucereusNorthController.java             | 15 +--
 .../KeucereusSouthController/32517.htm        |  0
 .../KeucereusSouthController.java             | 15 +--
 .../vehicles/SoDController/32605.htm          |  0
 .../vehicles/SoDController/SoDController.java | 15 +--
 .../vehicles/SoIController/32604.htm          |  0
 .../vehicles/SoIController/SoIController.java | 15 +--
 76 files changed, 178 insertions(+), 203 deletions(-)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/group_template => gracia/AI}/EnergySeeds.java (97%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/individual => gracia/AI}/Lindvior.java (93%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/individual => gracia/AI}/Maguen.java (95%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/FortuneTelling/FortuneTelling.java (88%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/FortuneTelling/fortune.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/FortuneTelling/lowadena.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/individual => gracia/AI/NPC/GeneralDilios}/GeneralDilios.java (93%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Lekon/32557-01.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Lekon/32557-02.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Lekon/32557-03.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Lekon/32557-04.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Lekon/32557.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Lekon/Lekon.java (90%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nemo/32735-01.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nemo/32735-02.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nemo/32735-03.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nemo/32735-04.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nemo/32735-05.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nemo/32735-06.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nemo/32735.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nemo/Nemo.java (91%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-01.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-02.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-03.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-04.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-05.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-06.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-07.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-08.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-09.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627-10.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/32627.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Nottingale/Nottingale.java (92%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Seyo/32737-01.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Seyo/32737-02.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Seyo/32737-03.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Seyo/32737-04.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Seyo/32737.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/Seyo/Seyo.java (93%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/ZealotOfShilen/32628-01.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/ZealotOfShilen/32628.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/ZealotOfShilen/32629.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/npc => gracia/AI/NPC}/ZealotOfShilen/ZealotOfShilen.java (90%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/group_template => gracia/AI/SeedOfAnnihilation}/SeedOfAnnihilation.java (93%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ai/group_template => gracia/AI}/StarStones.java (90%)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/gracia/GraciaLoader.java
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SecretArea/32566-01.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SecretArea/32567-01.html (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SecretArea/SecretArea.java (91%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfDestruction/Stage1.java (95%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-00.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-01.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-02.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-03.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-04.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-05.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-06.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-07.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-08.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-09.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-10.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/32530-11.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/instances/SeedOfInfinity/HallOfSuffering.java (94%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/AirShipController.java (96%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/AirShipGludioGracia/32607.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/AirShipGludioGracia/32609.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/AirShipGludioGracia/AirShipGludioGracia.java (94%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/KeucereusNorthController/32606.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/KeucereusNorthController/KeucereusNorthController.java (87%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/KeucereusSouthController/32517.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/KeucereusSouthController/KeucereusSouthController.java (87%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/SoDController/32605.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/SoDController/SoDController.java (87%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/SoIController/32604.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/scripts/{ => gracia}/vehicles/SoIController/SoIController.java (88%)

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
index 9e6544552b..0a66828e6c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg
+++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
@@ -33,22 +33,17 @@ ai/npc/ForgeOfTheGods/Rooney.java
 ai/npc/ForgeOfTheGods/TarBeetle.java
 ai/npc/FortressArcherCaptain/FortressArcherCaptain.java
 ai/npc/FortressSiegeManager/FortressSiegeManager.java
-ai/npc/FortuneTelling/FortuneTelling.java
 ai/npc/FreyasSteward/FreyasSteward.java
 ai/npc/Jinia/Jinia.java
 ai/npc/KetraOrcSupport/KetraOrcSupport.java
-ai/npc/Lekon/Lekon.java
 ai/npc/MercenaryCaptain/MercenaryCaptain.java
 ai/npc/Minigame/Minigame.java
 ai/npc/MonumentOfHeroes/MonumentOfHeroes.java
-ai/npc/Nemo/Nemo.java
-ai/npc/Nottingale/Nottingale.java
 ai/npc/NpcBuffers/NpcBuffers.java
 ai/npc/NpcBuffers/impl/CabaleBuffer.java
 ai/npc/PriestOfBlessing/PriestOfBlessing.java
 ai/npc/Rignos/Rignos.java
 ai/npc/Rafforty/Rafforty.java
-ai/npc/Seyo/Seyo.java
 ai/npc/Sirra/Sirra.java
 ai/npc/SubclassCertification/SubclassCertification.java
 ai/npc/Summons/MerchantGolem/GolemTrader.java
@@ -84,7 +79,6 @@ ai/npc/VarkaSilenosSupport/VarkaSilenosSupport.java
 ai/npc/VillageMasters/FirstClassTransferTalk/FirstClassTransferTalk.java
 ai/npc/WeaverOlf/WeaverOlf.java
 ai/npc/WyvernManager/WyvernManager.java
-ai/npc/ZealotOfShilen/ZealotOfShilen.java
 
 # Fantasy Isle
 ai/fantasy_isle/MC_Show.java
@@ -95,7 +89,6 @@ ai/group_template/AltarsOfSacrifice.java
 ai/group_template/BeastFarm.java
 ai/group_template/DenOfEvil.java
 ai/group_template/DragonValley.java
-ai/group_template/EnergySeeds.java
 ai/group_template/FairyTrees.java
 ai/group_template/FeedableBeasts.java
 ai/group_template/FleeMonsters.java
@@ -119,13 +112,11 @@ ai/group_template/RandomSpawn.java
 ai/group_template/RangeGuard.java
 ai/group_template/Remnants.java
 ai/group_template/Sandstorms.java
-ai/group_template/SeedOfAnnihilation.java
 ai/group_template/SeeThroughSilentMove.java
 ai/group_template/SelMahumDrill.java
 ai/group_template/SelMahumSquad.java
 ai/group_template/SilentValley.java
 ai/group_template/StakatoNest.java
-ai/group_template/StarStones.java
 ai/group_template/SummonMinions.java
 ai/group_template/SummonPc.java
 ai/group_template/TurekOrcs.java
@@ -149,10 +140,7 @@ ai/individual/DrChaos.java
 ai/individual/Epidos.java
 ai/individual/EvasGiftBox.java
 ai/individual/FrightenedRagnaOrc.java
-ai/individual/GeneralDilios.java
 ai/individual/Gordon.java
-ai/individual/Lindvior.java
-ai/individual/Maguen.java
 ai/individual/Orfen.java
 ai/individual/QueenAnt.java
 ai/individual/QueenShyeed.java
@@ -204,9 +192,9 @@ instances/NornilsGarden/NornilsGarden.java
 instances/PailakaDevilsLegacy/PailakaDevilsLegacy.java
 instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java
 instances/SanctumOftheLordsOfDawn/SanctumOftheLordsOfDawn.java
-instances/SecretArea/SecretArea.java
-instances/SeedOfDestruction/Stage1.java
-instances/SeedOfInfinity/HallOfSuffering.java
+
+# Gracia Section
+gracia/GraciaLoader.java
 
 # Hellbound Section
 hellbound/HellboundLoader.java
@@ -323,13 +311,6 @@ vehicles/BoatGiranTalking.java
 vehicles/BoatInnadrilTour.java
 vehicles/BoatGludinRune.java
 vehicles/BoatRunePrimeval.java
-vehicles/AirShipGludioGracia/AirShipGludioGracia.java
-
-# AirShip Controllers
-vehicles/KeucereusNorthController/KeucereusNorthController.java
-vehicles/KeucereusSouthController/KeucereusSouthController.java
-vehicles/SoIController/SoIController.java
-vehicles/SoDController/SoDController.java
 
 # Conquerable Clan Halls
 conquerablehalls/flagwar/BanditStronghold/BanditStronghold.java
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/EnergySeeds.java
similarity index 97%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/EnergySeeds.java
index 1ab7139ece..e99f8b52ba 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/EnergySeeds.java
@@ -16,7 +16,7 @@
  * 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 ai.group_template;
+package gracia.AI;
 
 import java.util.Map;
 
@@ -96,9 +96,9 @@ public class EnergySeeds extends AbstractNpcAI
 		ANNIHILATION_COKRAKON
 	}
 	
-	private EnergySeeds()
+	public EnergySeeds()
 	{
-		super(EnergySeeds.class.getSimpleName(), "instances"); // ai/group_template?
+		super(EnergySeeds.class.getSimpleName(), "gracia/AI");
 		registerMobs(SEED_IDS);
 		addFirstTalkId(SEED_IDS);
 		addFirstTalkId(TEMPORARY_TELEPORTER);
@@ -757,25 +757,16 @@ public class EnergySeeds extends AbstractNpcAI
 		
 		public void scheduleRespawn(long waitTime)
 		{
-			ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
+			ThreadPoolManager.getInstance().scheduleGeneral(() ->
 			{
-				@Override
-				public void run()
+				// if the AI is inactive, do not spawn the NPC
+				if (isSeedActive(_seedId))
 				{
-					// if the AI is inactive, do not spawn the NPC
-					if (isSeedActive(_seedId))
-					{
-						// get a random NPC that should spawn at this location
-						Integer spawnId = _spawnId; // the map uses "Integer", not "int"
-						_spawnedNpcs.put(addSpawn(_npcIds[getRandom(_npcIds.length)], _loc, false, 0), spawnId);
-					}
+					// get a random NPC that should spawn at this location
+					Integer spawnId = _spawnId; // the map uses "Integer", not "int"
+					_spawnedNpcs.put(addSpawn(_npcIds[getRandom(_npcIds.length)], _loc, false, 0), spawnId);
 				}
 			}, waitTime);
 		}
 	}
-	
-	public static void main(String[] args)
-	{
-		new EnergySeeds();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Lindvior.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/Lindvior.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Lindvior.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/Lindvior.java
index 2eb7b3ae87..059feb552c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Lindvior.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/Lindvior.java
@@ -16,7 +16,7 @@
  * 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 ai.individual;
+package gracia.AI;
 
 import java.util.Calendar;
 import java.util.GregorianCalendar;
@@ -53,9 +53,9 @@ public class Lindvior extends AbstractNpcAI
 	private L2Npc _tomaris = null;
 	private L2Npc _artius = null;
 	
-	private Lindvior()
+	public Lindvior()
 	{
-		super(Lindvior.class.getSimpleName(), "ai/individual");
+		super(Lindvior.class.getSimpleName(), "gracia/AI");
 		scheduleNextLindviorVisit();
 	}
 	
@@ -131,9 +131,4 @@ public class Lindvior extends AbstractNpcAI
 		}
 		return date.getTimeInMillis() - System.currentTimeMillis();
 	}
-	
-	public static void main(String[] args)
-	{
-		new Lindvior();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Maguen.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/Maguen.java
similarity index 95%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Maguen.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/Maguen.java
index 9d220a014d..57ec951737 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Maguen.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/Maguen.java
@@ -16,10 +16,9 @@
  * 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 ai.individual;
+package gracia.AI;
 
 import ai.npc.AbstractNpcAI;
-import ai.npc.Nemo.Nemo;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.instancemanager.QuestManager;
@@ -32,6 +31,8 @@ import com.l2jserver.gameserver.model.skills.BuffInfo;
 import com.l2jserver.gameserver.model.skills.Skill;
 import com.l2jserver.gameserver.network.NpcStringId;
 
+import gracia.AI.NPC.Nemo.Nemo;
+
 /**
  * Maguen AI.
  * @author St3eT
@@ -74,9 +75,9 @@ public final class Maguen extends AbstractNpcAI
 	private static final SkillHolder R_PLASMA2 = new SkillHolder(6369, 2); // Maguen Plasma - Reptilikon
 	private static final SkillHolder R_PLASMA3 = new SkillHolder(6369, 3); // Maguen Plasma - Reptilikon
 	
-	private Maguen()
+	public Maguen()
 	{
-		super(Maguen.class.getSimpleName(), "ai/invidual");
+		super(Maguen.class.getSimpleName(), "gracia/AI");
 		addKillId(ELITES);
 		addSkillSeeId(MAGUEN);
 		addSpellFinishedId(MAGUEN);
@@ -376,9 +377,4 @@ public final class Maguen extends AbstractNpcAI
 	{
 		return QuestManager.getInstance().getQuest(Nemo.class.getSimpleName());
 	}
-	
-	public static void main(String[] args)
-	{
-		new Maguen();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FortuneTelling/FortuneTelling.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/FortuneTelling/FortuneTelling.java
similarity index 88%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FortuneTelling/FortuneTelling.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/FortuneTelling/FortuneTelling.java
index a8b022506f..e25d4b2b6a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FortuneTelling/FortuneTelling.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/FortuneTelling/FortuneTelling.java
@@ -16,7 +16,7 @@
  * 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 ai.npc.FortuneTelling;
+package gracia.AI.NPC.FortuneTelling;
 
 import ai.npc.AbstractNpcAI;
 
@@ -38,7 +38,7 @@ public class FortuneTelling extends AbstractNpcAI
 	
 	public FortuneTelling()
 	{
-		super(FortuneTelling.class.getSimpleName(), "ai/npc");
+		super(FortuneTelling.class.getSimpleName(), "gracia/AI/NPC");
 		addStartNpc(MINE);
 		addTalkId(MINE);
 	}
@@ -58,9 +58,4 @@ public class FortuneTelling extends AbstractNpcAI
 		}
 		return htmltext;
 	}
-	
-	public static void main(String args[])
-	{
-		new FortuneTelling();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FortuneTelling/fortune.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/FortuneTelling/fortune.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FortuneTelling/fortune.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/FortuneTelling/fortune.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FortuneTelling/lowadena.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/FortuneTelling/lowadena.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/FortuneTelling/lowadena.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/FortuneTelling/lowadena.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/GeneralDilios.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/GeneralDilios/GeneralDilios.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/GeneralDilios.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/GeneralDilios/GeneralDilios.java
index 9038e43686..e5a652ace1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/GeneralDilios.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/GeneralDilios/GeneralDilios.java
@@ -16,7 +16,7 @@
  * 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 ai.individual;
+package gracia.AI.NPC.GeneralDilios;
 
 import java.util.Set;
 
@@ -54,9 +54,9 @@ public final class GeneralDilios extends AbstractNpcAI
 	// NpcStringId.MESSENGER_INFORM_THE_BROTHERS_IN_KUCEREUS_CLAN_OUTPOST_EKIMUS_IS_ABOUT_TO_BE_REVIVED_BY_THE_RESURRECTED_UNDEAD_IN_SEED_OF_INFINITY_SEND_ALL_REINFORCEMENTS_TO_THE_HEART_AND_THE_HALL_OF_SUFFERING
 	};
 	
-	private GeneralDilios()
+	public GeneralDilios()
 	{
-		super(GeneralDilios.class.getSimpleName(), "ai/individual");
+		super(GeneralDilios.class.getSimpleName(), "gracia/AI/NPC");
 		_general = SpawnTable.getInstance().getFirstSpawn(GENERAL_ID).getLastSpawn();
 		_guards = SpawnTable.getInstance().getSpawns(GUARD_ID);
 		if ((_general == null) || _guards.isEmpty())
@@ -99,9 +99,4 @@ public final class GeneralDilios extends AbstractNpcAI
 		}
 		return super.onAdvEvent(event, npc, player);
 	}
-	
-	public static void main(String[] args)
-	{
-		new GeneralDilios();
-	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557-01.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557-01.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557-01.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557-02.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557-02.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557-02.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557-03.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557-03.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557-03.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557-04.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557-04.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557-04.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/32557.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/32557.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/Lekon.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/Lekon.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/Lekon.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/Lekon.java
index f61126e874..e3df2143e6 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Lekon/Lekon.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Lekon/Lekon.java
@@ -16,7 +16,7 @@
  * 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 ai.npc.Lekon;
+package gracia.AI.NPC.Lekon;
 
 import ai.npc.AbstractNpcAI;
 
@@ -41,9 +41,9 @@ public final class Lekon extends AbstractNpcAI
 	private static final int MIN_CLAN_LV = 5;
 	private static final int STONE_COUNT = 10;
 	
-	private Lekon()
+	public Lekon()
 	{
-		super(Lekon.class.getSimpleName(), "ai/npc");
+		super(Lekon.class.getSimpleName(), "gracia/AI/NPC");
 		addFirstTalkId(LEKON);
 		addTalkId(LEKON);
 		addStartNpc(LEKON);
@@ -89,9 +89,4 @@ public final class Lekon extends AbstractNpcAI
 		}
 		return htmltext;
 	}
-	
-	public static void main(String args[])
-	{
-		new Lekon();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-01.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-01.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-01.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-02.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-02.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-02.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-03.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-03.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-03.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-04.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-04.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-04.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-05.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-05.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-05.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-06.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735-06.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735-06.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/32735.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/32735.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/Nemo.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/Nemo.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/Nemo.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/Nemo.java
index 101dbbe72e..f70b7222ce 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nemo/Nemo.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nemo/Nemo.java
@@ -16,9 +16,8 @@
  * 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 ai.npc.Nemo;
+package gracia.AI.NPC.Nemo;
 
-import ai.individual.Maguen;
 import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
@@ -28,6 +27,8 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.network.NpcStringId;
 
+import gracia.AI.Maguen;
+
 /**
  * Nemo AI.
  * @author St3eT
@@ -42,9 +43,9 @@ public final class Nemo extends AbstractNpcAI
 	// Misc
 	private static final int MAXIMUM_MAGUEN = 18; // Maximum maguens in one time
 	
-	private Nemo()
+	public Nemo()
 	{
-		super(Nemo.class.getSimpleName(), "ai/npc");
+		super(Nemo.class.getSimpleName(), "gracia/AI/NPC");
 		addStartNpc(NEMO);
 		addFirstTalkId(NEMO);
 		addTalkId(NEMO);
@@ -119,9 +120,4 @@ public final class Nemo extends AbstractNpcAI
 	{
 		return QuestManager.getInstance().getQuest(Maguen.class.getSimpleName());
 	}
-	
-	public static void main(String[] args)
-	{
-		new Nemo();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-01.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-01.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-01.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-02.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-02.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-02.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-03.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-03.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-03.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-04.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-04.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-04.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-05.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-05.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-05.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-06.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-06.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-06.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-07.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-07.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-07.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-07.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-08.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-08.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-08.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-08.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-09.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-09.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-09.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-09.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-10.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-10.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627-10.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627-10.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/32627.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/32627.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/Nottingale.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/Nottingale.java
similarity index 92%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/Nottingale.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/Nottingale.java
index 4c30ea1629..5702b536b1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Nottingale/Nottingale.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Nottingale/Nottingale.java
@@ -16,7 +16,7 @@
  * 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 ai.npc.Nottingale;
+package gracia.AI.NPC.Nottingale;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -52,9 +52,9 @@ public final class Nottingale extends AbstractNpcAI
 		RADARS.put(10, new RadarControl(0, -246899, 251918, 4352, 1));
 	}
 	
-	private Nottingale()
+	public Nottingale()
 	{
-		super(Nottingale.class.getSimpleName(), "ai/npc");
+		super(Nottingale.class.getSimpleName(), "gracia/AI/NPC");
 		addStartNpc(NOTTINGALE);
 		addTalkId(NOTTINGALE);
 		addFirstTalkId(NOTTINGALE);
@@ -119,9 +119,4 @@ public final class Nottingale extends AbstractNpcAI
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args)
-	{
-		new Nottingale();
-	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737-01.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737-01.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737-01.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737-02.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737-02.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737-02.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737-03.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737-03.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737-03.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737-04.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737-04.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737-04.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/32737.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/32737.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/Seyo.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/Seyo.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/Seyo.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/Seyo.java
index e0b57909bb..3a99a0ba54 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Seyo/Seyo.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/Seyo/Seyo.java
@@ -16,7 +16,7 @@
  * 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 ai.npc.Seyo;
+package gracia.AI.NPC.Seyo;
 
 import ai.npc.AbstractNpcAI;
 
@@ -45,9 +45,9 @@ public final class Seyo extends AbstractNpcAI
 		NpcStringId.THERE_WAS_SOMEONE_WHO_WON_10000_FROM_ME_A_WARRIOR_SHOULDNT_JUST_BE_GOOD_AT_FIGHTING_RIGHT_YOUVE_GOTTA_BE_GOOD_IN_EVERYTHING
 	};
 	
-	private Seyo()
+	public Seyo()
 	{
-		super(Seyo.class.getSimpleName(), "ai/npc");
+		super(Seyo.class.getSimpleName(), "gracia/AI/NPC");
 		addStartNpc(SEYO);
 		addTalkId(SEYO);
 		addFirstTalkId(SEYO);
@@ -170,9 +170,4 @@ public final class Seyo extends AbstractNpcAI
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args)
-	{
-		new Seyo();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/32628-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/32628-01.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/32628-01.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/32628-01.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/32628.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/32628.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/32628.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/32628.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/32629.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/32629.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/32629.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/32629.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/ZealotOfShilen.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/ZealotOfShilen.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/ZealotOfShilen.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/ZealotOfShilen.java
index 5c7881feeb..40d08e952a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/ZealotOfShilen/ZealotOfShilen.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/NPC/ZealotOfShilen/ZealotOfShilen.java
@@ -16,7 +16,7 @@
  * 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 ai.npc.ZealotOfShilen;
+package gracia.AI.NPC.ZealotOfShilen;
 
 import ai.npc.AbstractNpcAI;
 
@@ -42,9 +42,9 @@ public final class ZealotOfShilen extends AbstractNpcAI
 		32629
 	};
 	
-	private ZealotOfShilen()
+	public ZealotOfShilen()
 	{
-		super(ZealotOfShilen.class.getSimpleName(), "ai/npc");
+		super(ZealotOfShilen.class.getSimpleName(), "gracia/AI/NPC");
 		addSpawnId(ZEALOT);
 		addFirstTalkId(GUARDS);
 		
@@ -94,9 +94,4 @@ public final class ZealotOfShilen extends AbstractNpcAI
 		npc.setIsNoRndWalk(true);
 		return super.onSpawn(npc);
 	}
-	
-	public static void main(String[] args)
-	{
-		new ZealotOfShilen();
-	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/SeedOfAnnihilation.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java
similarity index 93%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/SeedOfAnnihilation.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java
index 107d3e8241..c8893b9a19 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/SeedOfAnnihilation.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java
@@ -16,7 +16,7 @@
  * 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 ai.group_template;
+package gracia.AI.SeedOfAnnihilation;
 
 import java.util.Calendar;
 import java.util.Map;
@@ -79,9 +79,9 @@ public class SeedOfAnnihilation extends AbstractNpcAI
 		_teleportZones.put(60005, new Location(-179275, 186802, -10720));
 	}
 	
-	private SeedOfAnnihilation()
+	public SeedOfAnnihilation()
 	{
-		super(SeedOfAnnihilation.class.getSimpleName(), "ai/group_template");
+		super(SeedOfAnnihilation.class.getSimpleName(), "gracia/AI");
 		loadSeedRegionData();
 		for (int i : _teleportZones.keySet())
 		{
@@ -387,9 +387,4 @@ public class SeedOfAnnihilation extends AbstractNpcAI
 			af_spawns = as;
 		}
 	}
-	
-	public static void main(String[] args)
-	{
-		new SeedOfAnnihilation();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/StarStones.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/StarStones.java
similarity index 90%
rename from L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/StarStones.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/StarStones.java
index 9f7331d1e4..9df0854a4a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/StarStones.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/AI/StarStones.java
@@ -16,7 +16,7 @@
  * 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 ai.group_template;
+package gracia.AI;
 
 import ai.npc.AbstractNpcAI;
 
@@ -41,9 +41,9 @@ public class StarStones extends AbstractNpcAI
 	
 	private static final int COLLECTION_RATE = 1;
 	
-	private StarStones()
+	public StarStones()
 	{
-		super(StarStones.class.getSimpleName(), "ai/group_template");
+		super(StarStones.class.getSimpleName(), "gracia/AI");
 		addSkillSeeId(MOBS);
 	}
 	
@@ -96,9 +96,4 @@ public class StarStones extends AbstractNpcAI
 		}
 		return super.onSkillSee(npc, caster, skill, targets, isSummon);
 	}
-	
-	public static void main(String[] args)
-	{
-		new StarStones();
-	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/gracia/GraciaLoader.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/GraciaLoader.java
new file mode 100644
index 0000000000..d53f2179c6
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/GraciaLoader.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2004-2014 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 gracia;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import gracia.AI.EnergySeeds;
+import gracia.AI.Lindvior;
+import gracia.AI.Maguen;
+import gracia.AI.StarStones;
+import gracia.AI.NPC.FortuneTelling.FortuneTelling;
+import gracia.AI.NPC.GeneralDilios.GeneralDilios;
+import gracia.AI.NPC.Lekon.Lekon;
+import gracia.AI.NPC.Nemo.Nemo;
+import gracia.AI.NPC.Nottingale.Nottingale;
+import gracia.AI.NPC.Seyo.Seyo;
+import gracia.AI.NPC.ZealotOfShilen.ZealotOfShilen;
+import gracia.AI.SeedOfAnnihilation.SeedOfAnnihilation;
+import gracia.instances.SecretArea.SecretArea;
+import gracia.instances.SeedOfDestruction.Stage1;
+import gracia.instances.SeedOfInfinity.HallOfSuffering;
+import gracia.vehicles.AirShipGludioGracia.AirShipGludioGracia;
+import gracia.vehicles.KeucereusNorthController.KeucereusNorthController;
+import gracia.vehicles.KeucereusSouthController.KeucereusSouthController;
+import gracia.vehicles.SoDController.SoDController;
+import gracia.vehicles.SoIController.SoIController;
+
+/**
+ * Gracia class-loader.
+ * @author Pandragon
+ */
+public final class GraciaLoader
+{
+	private static final Logger _log = Logger.getLogger(GraciaLoader.class.getName());
+	
+	private static final Class<?>[] SCRIPTS =
+	{
+		// AIs
+		EnergySeeds.class,
+		Lindvior.class,
+		Maguen.class,
+		StarStones.class,
+		// NPCs
+		FortuneTelling.class,
+		GeneralDilios.class,
+		Lekon.class,
+		Nemo.class,
+		Nottingale.class,
+		Seyo.class,
+		ZealotOfShilen.class,
+		// Seed of Annihilation
+		SeedOfAnnihilation.class,
+		// Instances
+		SecretArea.class,
+		Stage1.class, // Seed of Destruction
+		HallOfSuffering.class, // Seed of Infinity
+		// Vehicles
+		AirShipGludioGracia.class,
+		KeucereusNorthController.class,
+		KeucereusSouthController.class,
+		SoIController.class,
+		SoDController.class,
+	};
+	
+	public static void main(String[] args)
+	{
+		_log.info(GraciaLoader.class.getSimpleName() + ": Loading Gracia related scripts.");
+		for (Class<?> script : SCRIPTS)
+		{
+			try
+			{
+				script.newInstance();
+			}
+			catch (Exception e)
+			{
+				_log.log(Level.SEVERE, GraciaLoader.class.getSimpleName() + ": Failed loading " + script.getSimpleName() + ":", e);
+			}
+		}
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/32566-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SecretArea/32566-01.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/32566-01.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SecretArea/32566-01.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/32567-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SecretArea/32567-01.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/32567-01.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SecretArea/32567-01.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SecretArea/SecretArea.java
similarity index 91%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SecretArea/SecretArea.java
index c9602ea8f9..0a589c9683 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SecretArea/SecretArea.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SecretArea/SecretArea.java
@@ -16,7 +16,7 @@
  * 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 instances.SecretArea;
+package gracia.instances.SecretArea;
 
 import com.l2jserver.gameserver.instancemanager.InstanceManager;
 import com.l2jserver.gameserver.model.Location;
@@ -48,9 +48,9 @@ public final class SecretArea extends Quest
 		new Location(-185057, 242821, 1576)
 	};
 	
-	private SecretArea()
+	public SecretArea()
 	{
-		super(-1, SecretArea.class.getSimpleName(), "instances");
+		super(-1, SecretArea.class.getSimpleName(), "gracia/instances");
 		addStartNpc(GINBY);
 		addTalkId(GINBY);
 		addTalkId(LELRIKIA);
@@ -96,9 +96,4 @@ public final class SecretArea extends Quest
 		}
 		return htmltext;
 	}
-	
-	public static void main(String[] args)
-	{
-		new SecretArea();
-	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
similarity index 95%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
index 832abc20f5..f8860bffc2 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfDestruction/Stage1.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
@@ -16,7 +16,7 @@
  * 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 instances.SeedOfDestruction;
+package gracia.instances.SeedOfDestruction;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -215,10 +215,10 @@ public final class Stage1 extends Quest
 	private static final int RESET_DAY_1 = 4;
 	private static final int RESET_DAY_2 = 7;
 	
-	private Stage1()
+	public Stage1()
 	{
 		// TODO change name to use actual class name
-		super(-1, "SoDStage1", "instances");
+		super(-1, "SoDStage1", "gracia/instances");
 		load();
 		addStartNpc(ALENOS);
 		addTalkId(ALENOS);
@@ -1070,10 +1070,4 @@ public final class Stage1 extends Quest
 		}
 		return null;
 	}
-	
-	public static void main(String[] args)
-	{
-		// now call the constructor (starts up the)
-		new Stage1();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-07.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-07.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-07.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-08.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-08.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-08.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-09.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-09.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-09.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-10.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-10.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-10.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-10.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-11.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-11.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/32530-11.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/32530-11.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/HallOfSuffering.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
similarity index 94%
rename from L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/HallOfSuffering.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
index 48e5d41ef2..9ba5a9f412 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/HallOfSuffering.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
@@ -16,7 +16,7 @@
  * 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 instances.SeedOfInfinity;
+package gracia.instances.SeedOfInfinity;
 
 import java.util.Calendar;
 import java.util.HashMap;
@@ -403,10 +403,10 @@ public final class HallOfSuffering extends Quest
 	// default: 24h
 	private static final int INSTANCEPENALTY = 24;
 	
-	private HallOfSuffering()
+	public HallOfSuffering()
 	{
 		// TODO change name to use actual class name
-		super(-1, "SeedOfInfinity", "instances");
+		super(-1, "SeedOfInfinity", "gracia/instances");
 		addStartNpc(MOUTHOFEKIMUS, TEPIOS);
 		addTalkId(MOUTHOFEKIMUS, TEPIOS);
 		addFirstTalkId(TEPIOS);
@@ -924,9 +924,4 @@ public final class HallOfSuffering extends Quest
 		}
 		return "";
 	}
-	
-	public static void main(String[] args)
-	{
-		new HallOfSuffering();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipController.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipController.java
similarity index 96%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipController.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipController.java
index f59a1a8480..8cdf93eb58 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipController.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipController.java
@@ -16,7 +16,7 @@
  * 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 vehicles;
+package gracia.vehicles;
 
 import java.util.concurrent.Future;
 import java.util.logging.Level;
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/32607.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/32607.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/32607.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/32607.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/32609.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/32609.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/32609.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/32609.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/AirShipGludioGracia.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/AirShipGludioGracia.java
similarity index 94%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/AirShipGludioGracia.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/AirShipGludioGracia.java
index 8ecdb57c4c..2f4b3e7c1c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/AirShipGludioGracia/AirShipGludioGracia.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/AirShipGludioGracia.java
@@ -16,7 +16,7 @@
  * 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 vehicles.AirShipGludioGracia;
+package gracia.vehicles.AirShipGludioGracia;
 
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.instancemanager.AirShipManager;
@@ -109,9 +109,9 @@ public final class AirShipGludioGracia extends Quest implements Runnable
 	private boolean _foundAtcGracia = false;
 	private L2Npc _atcGracia = null;
 	
-	private AirShipGludioGracia()
+	public AirShipGludioGracia()
 	{
-		super(-1, AirShipGludioGracia.class.getSimpleName(), "vehicles");
+		super(-1, AirShipGludioGracia.class.getSimpleName(), "gracia/vehicles");
 		addStartNpc(CONTROLLERS);
 		addFirstTalkId(CONTROLLERS);
 		addTalkId(CONTROLLERS);
@@ -307,9 +307,4 @@ public final class AirShipGludioGracia extends Quest implements Runnable
 		}
 		return super.unload(removeFromList);
 	}
-	
-	public static void main(String[] args)
-	{
-		new AirShipGludioGracia();
-	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusNorthController/32606.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusNorthController/32606.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusNorthController/32606.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusNorthController/32606.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusNorthController/KeucereusNorthController.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusNorthController/KeucereusNorthController.java
similarity index 87%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusNorthController/KeucereusNorthController.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusNorthController/KeucereusNorthController.java
index 3d3cc9151c..8f6ecbfd65 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusNorthController/KeucereusNorthController.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusNorthController/KeucereusNorthController.java
@@ -16,13 +16,13 @@
  * 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 vehicles.KeucereusNorthController;
-
-import vehicles.AirShipController;
+package gracia.vehicles.KeucereusNorthController;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.VehiclePathPoint;
 
+import gracia.vehicles.AirShipController;
+
 public final class KeucereusNorthController extends AirShipController
 {
 	private static final int DOCK_ZONE = 50602;
@@ -67,9 +67,9 @@ public final class KeucereusNorthController extends AirShipController
 		100
 	};
 	
-	private KeucereusNorthController()
+	public KeucereusNorthController()
 	{
-		super(-1, KeucereusNorthController.class.getSimpleName(), "vehicles");
+		super(-1, KeucereusNorthController.class.getSimpleName(), "gracia/vehicles");
 		addStartNpc(CONTROLLER_ID);
 		addFirstTalkId(CONTROLLER_ID);
 		addTalkId(CONTROLLER_ID);
@@ -94,9 +94,4 @@ public final class KeucereusNorthController extends AirShipController
 		
 		validityCheck();
 	}
-	
-	public static void main(String[] args)
-	{
-		new KeucereusNorthController();
-	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusSouthController/32517.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusSouthController/32517.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusSouthController/32517.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusSouthController/32517.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusSouthController/KeucereusSouthController.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusSouthController/KeucereusSouthController.java
similarity index 87%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusSouthController/KeucereusSouthController.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusSouthController/KeucereusSouthController.java
index 22841b6fd7..3086fd9dbe 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/KeucereusSouthController/KeucereusSouthController.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/KeucereusSouthController/KeucereusSouthController.java
@@ -16,13 +16,13 @@
  * 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 vehicles.KeucereusSouthController;
-
-import vehicles.AirShipController;
+package gracia.vehicles.KeucereusSouthController;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.VehiclePathPoint;
 
+import gracia.vehicles.AirShipController;
+
 public final class KeucereusSouthController extends AirShipController
 {
 	private static final int DOCK_ZONE = 50603;
@@ -67,9 +67,9 @@ public final class KeucereusSouthController extends AirShipController
 		100
 	};
 	
-	private KeucereusSouthController()
+	public KeucereusSouthController()
 	{
-		super(-1, KeucereusSouthController.class.getSimpleName(), "vehicles");
+		super(-1, KeucereusSouthController.class.getSimpleName(), "gracia/vehicles");
 		addStartNpc(CONTROLLER_ID);
 		addFirstTalkId(CONTROLLER_ID);
 		addTalkId(CONTROLLER_ID);
@@ -94,9 +94,4 @@ public final class KeucereusSouthController extends AirShipController
 		
 		validityCheck();
 	}
-	
-	public static void main(String[] args)
-	{
-		new KeucereusSouthController();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoDController/32605.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoDController/32605.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoDController/32605.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoDController/32605.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoDController/SoDController.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoDController/SoDController.java
similarity index 87%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoDController/SoDController.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoDController/SoDController.java
index af890dba46..6b34515f78 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoDController/SoDController.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoDController/SoDController.java
@@ -16,13 +16,13 @@
  * 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 vehicles.SoDController;
-
-import vehicles.AirShipController;
+package gracia.vehicles.SoDController;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.VehiclePathPoint;
 
+import gracia.vehicles.AirShipController;
+
 public final class SoDController extends AirShipController
 {
 	private static final int DOCK_ZONE = 50601;
@@ -57,9 +57,9 @@ public final class SoDController extends AirShipController
 		100
 	};
 	
-	private SoDController()
+	public SoDController()
 	{
-		super(-1, SoDController.class.getSimpleName(), "vehicles");
+		super(-1, SoDController.class.getSimpleName(), "gracia/vehicles");
 		addStartNpc(CONTROLLER_ID);
 		addFirstTalkId(CONTROLLER_ID);
 		addTalkId(CONTROLLER_ID);
@@ -84,9 +84,4 @@ public final class SoDController extends AirShipController
 		
 		validityCheck();
 	}
-	
-	public static void main(String[] args)
-	{
-		new SoDController();
-	}
 }
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoIController/32604.htm b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoIController/32604.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoIController/32604.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoIController/32604.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoIController/SoIController.java b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoIController/SoIController.java
similarity index 88%
rename from L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoIController/SoIController.java
rename to L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoIController/SoIController.java
index 688f12b0c0..e597440dcf 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/vehicles/SoIController/SoIController.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/gracia/vehicles/SoIController/SoIController.java
@@ -16,13 +16,13 @@
  * 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 vehicles.SoIController;
-
-import vehicles.AirShipController;
+package gracia.vehicles.SoIController;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.VehiclePathPoint;
 
+import gracia.vehicles.AirShipController;
+
 public final class SoIController extends AirShipController
 {
 	private static final int DOCK_ZONE = 50600;
@@ -61,9 +61,9 @@ public final class SoIController extends AirShipController
 		50
 	};
 	
-	private SoIController()
+	public SoIController()
 	{
-		super(-1, SoIController.class.getSimpleName(), "vehicles");
+		super(-1, SoIController.class.getSimpleName(), "gracia/vehicles");
 		addStartNpc(CONTROLLER_ID);
 		addFirstTalkId(CONTROLLER_ID);
 		addTalkId(CONTROLLER_ID);
@@ -88,9 +88,4 @@ public final class SoIController extends AirShipController
 		
 		validityCheck();
 	}
-	
-	public static void main(String[] args)
-	{
-		new SoIController();
-	}
 }
\ No newline at end of file
-- 
GitLab