/* * 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 . */ package handlers; import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.gameserver.handler.EffectHandler; import com.l2jserver.gameserver.model.effects.AbstractEffect; import handlers.effecthandlers.*; /** * Effect Master handler. * @author BiggBoss, Zoey76 */ public final class EffectMasterHandler { private static final Logger _log = Logger.getLogger(EffectMasterHandler.class.getName()); private static final Class[] EFFECTS = { AddHate.class, AttackTrait.class, Backstab.class, Betray.class, Blink.class, BlockAction.class, BlockChat.class, BlockParty.class, BlockBuffSlot.class, BlockResurrection.class, Bluff.class, Buff.class, CallParty.class, CallPc.class, CallSkill.class, ChameleonRest.class, ChangeFace.class, ChangeFishingMastery.class, ChangeHairColor.class, ChangeHairStyle.class, CharmOfLuck.class, ClanGate.class, Confuse.class, ConsumeBody.class, ConvertItem.class, CpDamPercent.class, CpHeal.class, CpHealOverTime.class, CpHealPercent.class, CrystalGradeModify.class, CubicMastery.class, DamOverTime.class, DamOverTimePercent.class, DeathLink.class, Debuff.class, DefenceTrait.class, DeleteHate.class, DeleteHateOfMe.class, DetectHiddenObjects.class, Detection.class, Disarm.class, DispelAll.class, DispelByCategory.class, DispelBySlot.class, DispelBySlotProbability.class, EnableCloak.class, EnemyCharge.class, EnergyAttack.class, EnlargeAbnormalSlot.class, Escape.class, FakeDeath.class, FatalBlow.class, Fear.class, Fishing.class, Flag.class, FocusEnergy.class, FocusMaxEnergy.class, FocusSouls.class, GetAgro.class, GiveRecommendation.class, GiveSp.class, Grow.class, Harvesting.class, HeadquarterCreate.class, Heal.class, HealOverTime.class, HealPercent.class, Hide.class, HpByLevel.class, HpDrain.class, ImmobileBuff.class, ImmobilePetBuff.class, Invincible.class, Lethal.class, Lucky.class, MagicalAttack.class, MagicalAttackByAbnormal.class, MagicalAttackMp.class, MagicalSoulAttack.class, ManaDamOverTime.class, ManaHeal.class, ManaHealByLevel.class, ManaHealOverTime.class, ManaHealPercent.class, MpConsumePerLevel.class, Mute.class, NoblesseBless.class, OpenChest.class, Unsummon.class, OpenCommonRecipeBook.class, OpenDoor.class, OpenDwarfRecipeBook.class, OutpostCreate.class, OutpostDestroy.class, Paralyze.class, Passive.class, Petrification.class, PhysicalAttack.class, PhysicalAttackHpLink.class, PhysicalAttackMute.class, PhysicalMute.class, PhysicalSoulAttack.class, Pumping.class, ProtectionBlessing.class, RandomizeHate.class, RebalanceHP.class, Recovery.class, Reeling.class, RefuelAirship.class, Relax.class, ResistSkill.class, Restoration.class, RestorationRandom.class, Resurrection.class, ResurrectionSpecial.class, Root.class, ServitorShare.class, SetSkill.class, SilentMove.class, SkillTurning.class, Sleep.class, SoulBlow.class, SoulEating.class, Sow.class, Spoil.class, StaticDamage.class, StealAbnormal.class, Stun.class, Summon.class, SummonAgathion.class, SummonCubic.class, SummonNpc.class, SummonPet.class, SummonTrap.class, Sweeper.class, TakeCastle.class, TakeFort.class, TakeFortStart.class, TakeTerritoryFlag.class, TalismanSlot.class, TargetCancel.class, TargetMe.class, TargetMeProbability.class, Teleport.class, TeleportToTarget.class, ThrowUp.class, TransferDamage.class, TransferHate.class, Transformation.class, TrapDetect.class, TrapRemove.class, TriggerSkillByAttack.class, TriggerSkillByAvoid.class, TriggerSkillByDamage.class, TriggerSkillBySkill.class, UnsummonAgathion.class, VitalityPointUp.class, }; @SuppressWarnings("unchecked") public static void main(String[] args) { for (Class c : EFFECTS) { if (c == null) { continue; // Disabled handler } EffectHandler.getInstance().registerHandler((Class) c); } // And lets try get size try { _log.log(Level.INFO, EffectMasterHandler.class.getSimpleName() + ": Loaded " + EffectHandler.getInstance().size() + " effect handlers."); } catch (Exception e) { _log.log(Level.WARNING, "Failed invoking size method for handler: " + EffectMasterHandler.class.getSimpleName(), e); } } }