l2j_mobius/trunk/dist/game/data/scripts/hellbound/HellboundLoader.java
2015-01-01 20:02:50 +00:00

144 lines
4.3 KiB
Java

/*
* 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 hellbound;
import handlers.admincommandhandlers.AdminHellbound;
import handlers.voicedcommandhandlers.Hellbound;
import hellbound.AI.Amaskari;
import hellbound.AI.Chimeras;
import hellbound.AI.DemonPrince;
import hellbound.AI.HellboundCore;
import hellbound.AI.Keltas;
import hellbound.AI.NaiaLock;
import hellbound.AI.OutpostCaptain;
import hellbound.AI.Ranku;
import hellbound.AI.Slaves;
import hellbound.AI.Typhoon;
import hellbound.AI.NPC.Bernarde.Bernarde;
import hellbound.AI.NPC.Budenka.Budenka;
import hellbound.AI.NPC.Buron.Buron;
import hellbound.AI.NPC.Deltuva.Deltuva;
import hellbound.AI.NPC.Falk.Falk;
import hellbound.AI.NPC.Hude.Hude;
import hellbound.AI.NPC.Jude.Jude;
import hellbound.AI.NPC.Kanaf.Kanaf;
import hellbound.AI.NPC.Kief.Kief;
import hellbound.AI.NPC.Natives.Natives;
import hellbound.AI.NPC.Quarry.Quarry;
import hellbound.AI.NPC.Shadai.Shadai;
import hellbound.AI.NPC.Solomon.Solomon;
import hellbound.AI.NPC.Warpgate.Warpgate;
import hellbound.AI.Zones.AnomicFoundry.AnomicFoundry;
import hellbound.AI.Zones.BaseTower.BaseTower;
import hellbound.AI.Zones.TowerOfInfinitum.TowerOfInfinitum;
import hellbound.AI.Zones.TowerOfNaia.TowerOfNaia;
import hellbound.AI.Zones.TullyWorkshop.TullyWorkshop;
import hellbound.Instances.DemonPrinceFloor.DemonPrinceFloor;
import hellbound.Instances.RankuFloor.RankuFloor;
import hellbound.Instances.UrbanArea.UrbanArea;
import java.util.logging.Logger;
import com.l2jserver.Config;
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.
* @author Zoey76
*/
public final class HellboundLoader
{
private static final Logger _log = Logger.getLogger(HellboundLoader.class.getName());
private static final Class<?>[] SCRIPTS =
{
// Commands
AdminHellbound.class,
Hellbound.class,
// AIs
Amaskari.class,
Chimeras.class,
DemonPrince.class,
HellboundCore.class,
Keltas.class,
NaiaLock.class,
OutpostCaptain.class,
Ranku.class,
Slaves.class,
Typhoon.class,
// NPCs
Bernarde.class,
Budenka.class,
Buron.class,
Deltuva.class,
Falk.class,
Hude.class,
Jude.class,
Kanaf.class,
Kief.class,
Natives.class,
Quarry.class,
Shadai.class,
Solomon.class,
Warpgate.class,
// Zones
AnomicFoundry.class,
BaseTower.class,
TowerOfInfinitum.class,
TowerOfNaia.class,
TullyWorkshop.class,
// Instances
DemonPrinceFloor.class,
UrbanArea.class,
RankuFloor.class,
};
public static void main(String[] args)
{
_log.info(HellboundLoader.class.getSimpleName() + ": Loading Hellbound related scripts:");
// Data
HellboundPointData.getInstance();
HellboundSpawns.getInstance();
// Engine
HellboundEngine.getInstance();
for (Class<?> script : SCRIPTS)
{
try
{
final Object instance = script.newInstance();
if (instance instanceof IAdminCommandHandler)
{
AdminCommandHandler.getInstance().registerHandler((IAdminCommandHandler) instance);
}
else if (Config.L2JMOD_HELLBOUND_STATUS && (instance instanceof IVoicedCommandHandler))
{
VoicedCommandHandler.getInstance().registerHandler((IVoicedCommandHandler) instance);
}
}
catch (Exception e)
{
_log.severe(HellboundLoader.class.getSimpleName() + ": Failed loading " + script.getSimpleName() + ":" + e.getMessage());
}
}
}
}