- Timestamp:
- Jan 16, 2012 7:56:19 AM (4 months ago)
- Location:
- trunk/L2J_DataPack
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
dist/game/data/scripts/handlers/MasterHandler.java (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/L2J_DataPack
- Property svn:mergeinfo changed
/branches/unstable/L2J_DataPack_BETA merged: 8407-8426,8428-8480,8482-8491,8493-8588,8590-8629
- Property svn:mergeinfo changed
-
trunk/L2J_DataPack/dist/game/data/scripts/handlers/MasterHandler.java
r8501 r8630 14 14 */ 15 15 package handlers; 16 17 16 import handlers.actionhandlers.L2ArtefactInstanceAction; 18 17 import handlers.actionhandlers.L2DecoyAction; … … 63 62 import handlers.admincommandhandlers.AdminGraciaSeeds; 64 63 import handlers.admincommandhandlers.AdminHeal; 64 import handlers.admincommandhandlers.AdminHellbound; 65 65 import handlers.admincommandhandlers.AdminHelpPage; 66 66 import handlers.admincommandhandlers.AdminInstance; … … 94 94 import handlers.admincommandhandlers.AdminSummon; 95 95 import handlers.admincommandhandlers.AdminTarget; 96 import handlers.admincommandhandlers.AdminTargetSay; 96 97 import handlers.admincommandhandlers.AdminTeleport; 97 98 import handlers.admincommandhandlers.AdminTerritoryWar; … … 263 264 import handlers.targethandlers.TargetSummon; 264 265 import handlers.targethandlers.TargetUnlockable; 266 import handlers.telnethandlers.ChatsHandler; 267 import handlers.telnethandlers.DebugHandler; 268 import handlers.telnethandlers.HelpHandler; 269 import handlers.telnethandlers.PlayerHandler; 270 import handlers.telnethandlers.ReloadHandler; 271 import handlers.telnethandlers.ServerHandler; 272 import handlers.telnethandlers.StatusHandler; 273 import handlers.telnethandlers.ThreadHandler; 265 274 import handlers.usercommandhandlers.Birthday; 266 275 import handlers.usercommandhandlers.ChannelDelete; … … 281 290 import handlers.voicedcommandhandlers.ChatAdmin; 282 291 import handlers.voicedcommandhandlers.Debug; 292 import handlers.voicedcommandhandlers.Hellbound; 283 293 import handlers.voicedcommandhandlers.Lang; 284 294 import handlers.voicedcommandhandlers.TvTVoicedInfo; … … 286 296 import handlers.voicedcommandhandlers.stats; 287 297 298 import java.lang.reflect.Method; 288 299 import java.util.logging.Level; 289 300 import java.util.logging.Logger; … … 291 302 import com.l2jserver.Config; 292 303 import com.l2jserver.gameserver.handler.ActionHandler; 304 import com.l2jserver.gameserver.handler.ActionShiftHandler; 293 305 import com.l2jserver.gameserver.handler.AdminCommandHandler; 294 306 import com.l2jserver.gameserver.handler.BypassHandler; … … 297 309 import com.l2jserver.gameserver.handler.SkillHandler; 298 310 import com.l2jserver.gameserver.handler.TargetHandler; 311 import com.l2jserver.gameserver.handler.TelnetHandler; 299 312 import com.l2jserver.gameserver.handler.UserCommandHandler; 300 313 import com.l2jserver.gameserver.handler.VoicedCommandHandler; 301 314 302 315 /** 303 * @author nBd316 * @author UnAfraid 304 317 */ 305 318 public class MasterHandler … … 307 320 private static Logger _log = Logger.getLogger(MasterHandler.class.getName()); 308 321 309 private static final ActionHandler ACTION = ActionHandler.getInstance(); 310 private static final AdminCommandHandler ADMIN = AdminCommandHandler.getInstance(); 311 private static final BypassHandler BYPASS = BypassHandler.getInstance(); 312 private static final ChatHandler CHAT = ChatHandler.getInstance(); 313 private static final ItemHandler ITEM = ItemHandler.getInstance(); 314 private static final SkillHandler SKILL = SkillHandler.getInstance(); 315 private static final UserCommandHandler USER = UserCommandHandler.getInstance(); 316 private static final VoicedCommandHandler VOICE = VoicedCommandHandler.getInstance(); 317 private static final TargetHandler TARGET = TargetHandler.getInstance(); 322 private static final Class<?>[] _loadInstances = 323 { 324 ActionHandler.class, 325 ActionShiftHandler.class, 326 AdminCommandHandler.class, 327 BypassHandler.class, 328 ChatHandler.class, 329 ItemHandler.class, 330 SkillHandler.class, 331 UserCommandHandler.class, 332 VoicedCommandHandler.class, 333 TargetHandler.class, 334 TelnetHandler.class, 335 }; 318 336 319 private static void loadActionHandlers()337 private static final Class<?>[][] _handlers = 320 338 { 321 ACTION.registerActionHandler(new L2ArtefactInstanceAction()); 322 ACTION.registerActionHandler(new L2DecoyAction()); 323 ACTION.registerActionHandler(new L2DoorInstanceAction()); 324 ACTION.registerActionHandler(new L2ItemInstanceAction()); 325 ACTION.registerActionHandler(new L2NpcAction()); 326 ACTION.registerActionHandler(new L2PcInstanceAction()); 327 ACTION.registerActionHandler(new L2PetInstanceAction()); 328 ACTION.registerActionHandler(new L2StaticObjectInstanceAction()); 329 ACTION.registerActionHandler(new L2SummonAction()); 330 ACTION.registerActionHandler(new L2TrapAction()); 331 _log.log(Level.INFO, "Loaded " + ACTION.size() + " ActionHandlers"); 332 } 333 334 private static void loadActionShiftHandlers() 335 { 336 ACTION.registerActionShiftHandler(new L2DoorInstanceActionShift()); 337 ACTION.registerActionShiftHandler(new L2ItemInstanceActionShift()); 338 ACTION.registerActionShiftHandler(new L2NpcActionShift()); 339 ACTION.registerActionShiftHandler(new L2PcInstanceActionShift()); 340 ACTION.registerActionShiftHandler(new L2StaticObjectInstanceActionShift()); 341 ACTION.registerActionShiftHandler(new L2SummonActionShift()); 342 _log.log(Level.INFO, "Loaded " + ACTION.sizeShift() + " ActionShiftHandlers"); 343 } 344 345 private static void loadAdminHandlers() 346 { 347 ADMIN.registerAdminCommandHandler(new AdminAdmin()); 348 ADMIN.registerAdminCommandHandler(new AdminAnnouncements()); 349 ADMIN.registerAdminCommandHandler(new AdminBan()); 350 ADMIN.registerAdminCommandHandler(new AdminBBS()); 351 ADMIN.registerAdminCommandHandler(new AdminBuffs()); 352 ADMIN.registerAdminCommandHandler(new AdminCache()); 353 ADMIN.registerAdminCommandHandler(new AdminCamera()); 354 ADMIN.registerAdminCommandHandler(new AdminChangeAccessLevel()); 355 ADMIN.registerAdminCommandHandler(new AdminCHSiege()); 356 ADMIN.registerAdminCommandHandler(new AdminClan()); 357 ADMIN.registerAdminCommandHandler(new AdminCreateItem()); 358 ADMIN.registerAdminCommandHandler(new AdminCursedWeapons()); 359 ADMIN.registerAdminCommandHandler(new AdminDebug()); 360 ADMIN.registerAdminCommandHandler(new AdminDelete()); 361 ADMIN.registerAdminCommandHandler(new AdminDisconnect()); 362 ADMIN.registerAdminCommandHandler(new AdminDoorControl()); 363 ADMIN.registerAdminCommandHandler(new AdminEditChar()); 364 ADMIN.registerAdminCommandHandler(new AdminEditNpc()); 365 ADMIN.registerAdminCommandHandler(new AdminEffects()); 366 ADMIN.registerAdminCommandHandler(new AdminElement()); 367 ADMIN.registerAdminCommandHandler(new AdminEnchant()); 368 ADMIN.registerAdminCommandHandler(new AdminEventEngine()); 369 ADMIN.registerAdminCommandHandler(new AdminEvents()); 370 ADMIN.registerAdminCommandHandler(new AdminExpSp()); 371 ADMIN.registerAdminCommandHandler(new AdminFightCalculator()); 372 ADMIN.registerAdminCommandHandler(new AdminFortSiege()); 373 ADMIN.registerAdminCommandHandler(new AdminGeodata()); 374 ADMIN.registerAdminCommandHandler(new AdminGeoEditor()); 375 ADMIN.registerAdminCommandHandler(new AdminGm()); 376 ADMIN.registerAdminCommandHandler(new AdminGmChat()); 377 ADMIN.registerAdminCommandHandler(new AdminGraciaSeeds()); 378 ADMIN.registerAdminCommandHandler(new AdminHeal()); 379 ADMIN.registerAdminCommandHandler(new AdminHelpPage()); 380 ADMIN.registerAdminCommandHandler(new AdminInstance()); 381 ADMIN.registerAdminCommandHandler(new AdminInstanceZone()); 382 ADMIN.registerAdminCommandHandler(new AdminInvul()); 383 ADMIN.registerAdminCommandHandler(new AdminKick()); 384 ADMIN.registerAdminCommandHandler(new AdminKill()); 385 ADMIN.registerAdminCommandHandler(new AdminLevel()); 386 ADMIN.registerAdminCommandHandler(new AdminLogin()); 387 ADMIN.registerAdminCommandHandler(new AdminMammon()); 388 ADMIN.registerAdminCommandHandler(new AdminManor()); 389 ADMIN.registerAdminCommandHandler(new AdminMenu()); 390 ADMIN.registerAdminCommandHandler(new AdminMessages()); 391 ADMIN.registerAdminCommandHandler(new AdminMobGroup()); 392 ADMIN.registerAdminCommandHandler(new AdminMonsterRace()); 393 ADMIN.registerAdminCommandHandler(new AdminPathNode()); 394 ADMIN.registerAdminCommandHandler(new AdminPetition()); 395 ADMIN.registerAdminCommandHandler(new AdminPForge()); 396 ADMIN.registerAdminCommandHandler(new AdminPledge()); 397 ADMIN.registerAdminCommandHandler(new AdminPolymorph()); 398 ADMIN.registerAdminCommandHandler(new AdminQuest()); 399 ADMIN.registerAdminCommandHandler(new AdminRepairChar()); 400 ADMIN.registerAdminCommandHandler(new AdminRes()); 401 ADMIN.registerAdminCommandHandler(new AdminRide()); 402 ADMIN.registerAdminCommandHandler(new AdminShop()); 403 ADMIN.registerAdminCommandHandler(new AdminShowQuests()); 404 ADMIN.registerAdminCommandHandler(new AdminShutdown()); 405 ADMIN.registerAdminCommandHandler(new AdminSiege()); 406 ADMIN.registerAdminCommandHandler(new AdminSkill()); 407 ADMIN.registerAdminCommandHandler(new AdminSpawn()); 408 ADMIN.registerAdminCommandHandler(new AdminSummon()); 409 ADMIN.registerAdminCommandHandler(new AdminTarget()); 410 ADMIN.registerAdminCommandHandler(new AdminTeleport()); 411 ADMIN.registerAdminCommandHandler(new AdminTerritoryWar()); 412 ADMIN.registerAdminCommandHandler(new AdminTest()); 413 ADMIN.registerAdminCommandHandler(new AdminTvTEvent()); 414 ADMIN.registerAdminCommandHandler(new AdminUnblockIp()); 415 ADMIN.registerAdminCommandHandler(new AdminVitality()); 416 ADMIN.registerAdminCommandHandler(new AdminZone()); 417 _log.log(Level.INFO, "Loaded " + ADMIN.size() + " AdminCommandHandlers"); 418 } 419 420 private static void loadBypassHandlers() 421 { 422 BYPASS.registerBypassHandler(new Augment()); 423 BYPASS.registerBypassHandler(new ArenaBuff()); 424 BYPASS.registerBypassHandler(new BloodAlliance()); 425 BYPASS.registerBypassHandler(new Buy()); 426 BYPASS.registerBypassHandler(new BuyShadowItem()); 427 BYPASS.registerBypassHandler(new ChatLink()); 428 BYPASS.registerBypassHandler(new ClanWarehouse()); 429 BYPASS.registerBypassHandler(new DrawHenna()); 430 BYPASS.registerBypassHandler(new EventEngine()); 431 BYPASS.registerBypassHandler(new Festival()); 432 BYPASS.registerBypassHandler(new FortSiege()); 433 BYPASS.registerBypassHandler(new Freight()); 434 BYPASS.registerBypassHandler(new ItemAuctionLink()); 435 BYPASS.registerBypassHandler(new Link()); 436 BYPASS.registerBypassHandler(new Loto()); 437 BYPASS.registerBypassHandler(new ManorManager()); 438 BYPASS.registerBypassHandler(new Multisell()); 439 BYPASS.registerBypassHandler(new Observation()); 440 BYPASS.registerBypassHandler(new OlympiadObservation()); 441 BYPASS.registerBypassHandler(new OlympiadManagerLink()); 442 BYPASS.registerBypassHandler(new QuestLink()); 443 BYPASS.registerBypassHandler(new PlayerHelp()); 444 BYPASS.registerBypassHandler(new PrivateWarehouse()); 445 BYPASS.registerBypassHandler(new QuestList()); 446 BYPASS.registerBypassHandler(new ReceivePremium()); 447 BYPASS.registerBypassHandler(new ReleaseAttribute()); 448 BYPASS.registerBypassHandler(new RemoveDeathPenalty()); 449 BYPASS.registerBypassHandler(new RemoveHennaList()); 450 BYPASS.registerBypassHandler(new RentPet()); 451 BYPASS.registerBypassHandler(new RideWyvern()); 452 BYPASS.registerBypassHandler(new Rift()); 453 BYPASS.registerBypassHandler(new SkillList()); 454 BYPASS.registerBypassHandler(new SupportBlessing()); 455 BYPASS.registerBypassHandler(new SupportMagic()); 456 BYPASS.registerBypassHandler(new TerritoryStatus()); 457 BYPASS.registerBypassHandler(new TerritoryWar()); 458 BYPASS.registerBypassHandler(new VoiceCommand()); 459 BYPASS.registerBypassHandler(new Wear()); 460 _log.log(Level.INFO, "Loaded " + BYPASS.size() + " BypassHandlers"); 461 } 462 463 private static void loadChatHandlers() 464 { 465 CHAT.registerChatHandler(new ChatAll()); 466 CHAT.registerChatHandler(new ChatAlliance()); 467 CHAT.registerChatHandler(new ChatBattlefield()); 468 CHAT.registerChatHandler(new ChatClan()); 469 CHAT.registerChatHandler(new ChatHeroVoice()); 470 CHAT.registerChatHandler(new ChatParty()); 471 CHAT.registerChatHandler(new ChatPartyMatchRoom()); 472 CHAT.registerChatHandler(new ChatPartyRoomAll()); 473 CHAT.registerChatHandler(new ChatPartyRoomCommander()); 474 CHAT.registerChatHandler(new ChatPetition()); 475 CHAT.registerChatHandler(new ChatShout()); 476 CHAT.registerChatHandler(new ChatTell()); 477 CHAT.registerChatHandler(new ChatTrade()); 478 _log.log(Level.INFO, "Loaded " + CHAT.size() + " ChatHandlers"); 479 } 480 481 private static void loadItemHandlers() 482 { 483 ITEM.registerItemHandler(new ScrollOfResurrection()); 484 ITEM.registerItemHandler(new SoulShots()); 485 ITEM.registerItemHandler(new SpiritShot()); 486 ITEM.registerItemHandler(new BlessedSpiritShot()); 487 ITEM.registerItemHandler(new BeastSoulShot()); 488 ITEM.registerItemHandler(new BeastSpiritShot()); 489 ITEM.registerItemHandler(new PaganKeys()); 490 ITEM.registerItemHandler(new Maps()); 491 ITEM.registerItemHandler(new NicknameColor()); 492 ITEM.registerItemHandler(new Recipes()); 493 ITEM.registerItemHandler(new RollingDice()); 494 ITEM.registerItemHandler(new EnchantAttribute()); 495 ITEM.registerItemHandler(new EnchantScrolls()); 496 ITEM.registerItemHandler(new ExtractableItems()); 497 ITEM.registerItemHandler(new Book()); 498 ITEM.registerItemHandler(new SevenSignsRecord()); 499 ITEM.registerItemHandler(new ItemSkills()); 500 ITEM.registerItemHandler(new ItemSkillsTemplate()); 501 ITEM.registerItemHandler(new Seed()); 502 ITEM.registerItemHandler(new Harvester()); 503 ITEM.registerItemHandler(new MercTicket()); 504 ITEM.registerItemHandler(new FishShots()); 505 ITEM.registerItemHandler(new PetFood()); 506 ITEM.registerItemHandler(new SpecialXMas()); 507 ITEM.registerItemHandler(new SummonItems()); 508 ITEM.registerItemHandler(new BeastSpice()); 509 ITEM.registerItemHandler(new TeleportBookmark()); 510 ITEM.registerItemHandler(new Elixir()); 511 ITEM.registerItemHandler(new Disguise()); 512 ITEM.registerItemHandler(new ManaPotion()); 513 ITEM.registerItemHandler(new EnergyStarStone()); 514 ITEM.registerItemHandler(new EventItem()); 515 _log.log(Level.INFO, "Loaded " + ITEM.size() + " ItemHandlers"); 516 } 517 518 private static void loadSkillHandlers() 519 { 520 SKILL.registerSkillHandler(new Blow()); 521 SKILL.registerSkillHandler(new Pdam()); 522 SKILL.registerSkillHandler(new Mdam()); 523 SKILL.registerSkillHandler(new CpDam()); 524 SKILL.registerSkillHandler(new CpDamPercent()); 525 SKILL.registerSkillHandler(new Manadam()); 526 SKILL.registerSkillHandler(new Heal()); 527 SKILL.registerSkillHandler(new HealPercent()); 528 SKILL.registerSkillHandler(new CombatPointHeal()); 529 SKILL.registerSkillHandler(new ManaHeal()); 530 SKILL.registerSkillHandler(new BalanceLife()); 531 SKILL.registerSkillHandler(new Charge()); 532 SKILL.registerSkillHandler(new Continuous()); 533 SKILL.registerSkillHandler(new Detection()); 534 SKILL.registerSkillHandler(new Resurrect()); 535 SKILL.registerSkillHandler(new ShiftTarget()); 536 SKILL.registerSkillHandler(new Spoil()); 537 SKILL.registerSkillHandler(new Sweep()); 538 SKILL.registerSkillHandler(new StrSiegeAssault()); 539 SKILL.registerSkillHandler(new SummonFriend()); 540 SKILL.registerSkillHandler(new Disablers()); 541 SKILL.registerSkillHandler(new Cancel()); 542 SKILL.registerSkillHandler(new ChainHeal()); 543 SKILL.registerSkillHandler(new StealBuffs()); 544 SKILL.registerSkillHandler(new BallistaBomb()); 545 SKILL.registerSkillHandler(new TakeCastle()); 546 SKILL.registerSkillHandler(new TakeFort()); 547 SKILL.registerSkillHandler(new Unlock()); 548 SKILL.registerSkillHandler(new Craft()); 549 SKILL.registerSkillHandler(new Fishing()); 550 SKILL.registerSkillHandler(new FishingSkill()); 551 SKILL.registerSkillHandler(new BeastSkills()); 552 SKILL.registerSkillHandler(new DeluxeKey()); 553 SKILL.registerSkillHandler(new Sow()); 554 SKILL.registerSkillHandler(new Soul()); 555 SKILL.registerSkillHandler(new Harvest()); 556 SKILL.registerSkillHandler(new GetPlayer()); 557 SKILL.registerSkillHandler(new TransformDispel()); 558 SKILL.registerSkillHandler(new Trap()); 559 SKILL.registerSkillHandler(new GiveSp()); 560 SKILL.registerSkillHandler(new GiveReco()); 561 SKILL.registerSkillHandler(new GiveVitality()); 562 SKILL.registerSkillHandler(new InstantJump()); 563 SKILL.registerSkillHandler(new Dummy()); 564 SKILL.registerSkillHandler(new Extractable()); 565 SKILL.registerSkillHandler(new RefuelAirShip()); 566 SKILL.registerSkillHandler(new NornilsPower()); 567 _log.log(Level.INFO, "Loaded " + SKILL.size() + " SkillHandlers"); 568 } 569 570 private static void loadUserHandlers() 571 { 572 USER.registerUserCommandHandler(new ClanPenalty()); 573 USER.registerUserCommandHandler(new ClanWarsList()); 574 USER.registerUserCommandHandler(new DisMount()); 575 USER.registerUserCommandHandler(new Escape()); 576 USER.registerUserCommandHandler(new InstanceZone()); 577 USER.registerUserCommandHandler(new Loc()); 578 USER.registerUserCommandHandler(new Mount()); 579 USER.registerUserCommandHandler(new PartyInfo()); 580 USER.registerUserCommandHandler(new Time()); 581 USER.registerUserCommandHandler(new OlympiadStat()); 582 USER.registerUserCommandHandler(new ChannelLeave()); 583 USER.registerUserCommandHandler(new ChannelDelete()); 584 USER.registerUserCommandHandler(new ChannelListUpdate()); 585 USER.registerUserCommandHandler(new Birthday()); 586 _log.log(Level.INFO, "Loaded " + USER.size() + " UserHandlers"); 587 } 588 589 private static void loadVoicedHandlers() 590 { 591 VOICE.registerVoicedCommandHandler(new stats()); 592 if (Config.L2JMOD_ALLOW_WEDDING) 593 VOICE.registerVoicedCommandHandler(new Wedding()); 594 if (Config.BANKING_SYSTEM_ENABLED) 595 VOICE.registerVoicedCommandHandler(new Banking()); 596 if (Config.TVT_ALLOW_VOICED_COMMAND) 597 VOICE.registerVoicedCommandHandler(new TvTVoicedInfo()); 598 if (Config.L2JMOD_CHAT_ADMIN) 599 VOICE.registerVoicedCommandHandler(new ChatAdmin()); 600 if (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW) 601 VOICE.registerVoicedCommandHandler(new Lang()); 602 if (Config.L2JMOD_DEBUG_VOICE_COMMAND) 603 VOICE.registerVoicedCommandHandler(new Debug()); 604 if (Config.L2JMOD_ALLOW_CHANGE_PASSWORD) 605 VOICE.registerVoicedCommandHandler(new ChangePassword()); 606 _log.log(Level.INFO, "Loaded " + VOICE.size() + " VoicedHandlers"); 607 } 608 609 private static void loadTargetHandlers() 610 { 611 TARGET.registerSkillTargetType(new TargetAlly()); 612 TARGET.registerSkillTargetType(new TargetArea()); 613 TARGET.registerSkillTargetType(new TargetAreaCorpseMob()); 614 TARGET.registerSkillTargetType(new TargetAreaSummon()); 615 TARGET.registerSkillTargetType(new TargetAura()); 616 TARGET.registerSkillTargetType(new TargetAuraCorpseMob()); 617 TARGET.registerSkillTargetType(new TargetBehindArea()); 618 TARGET.registerSkillTargetType(new TargetBehindAura()); 619 TARGET.registerSkillTargetType(new TargetClan()); 620 TARGET.registerSkillTargetType(new TargetClanMember()); 621 TARGET.registerSkillTargetType(new TargetCorpseAlly()); 622 TARGET.registerSkillTargetType(new TargetCorpseClan()); 623 TARGET.registerSkillTargetType(new TargetCorpseMob()); 624 TARGET.registerSkillTargetType(new TargetCorpsePet()); 625 TARGET.registerSkillTargetType(new TargetCorpsePlayer()); 626 TARGET.registerSkillTargetType(new TargetEnemySummon()); 627 TARGET.registerSkillTargetType(new TargetFlagPole()); 628 TARGET.registerSkillTargetType(new TargetFrontArea()); 629 TARGET.registerSkillTargetType(new TargetFrontAura()); 630 TARGET.registerSkillTargetType(new TargetGround()); 631 TARGET.registerSkillTargetType(new TargetHoly()); 632 TARGET.registerSkillTargetType(new TargetOne()); 633 TARGET.registerSkillTargetType(new TargetOwnerPet()); 634 TARGET.registerSkillTargetType(new TargetParty()); 635 TARGET.registerSkillTargetType(new TargetPartyClan()); 636 TARGET.registerSkillTargetType(new TargetPartyMember()); 637 TARGET.registerSkillTargetType(new TargetPartyNotMe()); 638 TARGET.registerSkillTargetType(new TargetPartyOther()); 639 TARGET.registerSkillTargetType(new TargetPet()); 640 TARGET.registerSkillTargetType(new TargetSelf()); 641 TARGET.registerSkillTargetType(new TargetSummon()); 642 TARGET.registerSkillTargetType(new TargetUnlockable()); 643 _log.log(Level.INFO, "Loaded " + TARGET.size() + " Target Handlers"); 644 } 339 { // Action Handlers 340 L2ArtefactInstanceAction.class, 341 L2DecoyAction.class, 342 L2DoorInstanceAction.class, 343 L2ItemInstanceAction.class, 344 L2NpcAction.class, 345 L2PcInstanceAction.class, 346 L2PetInstanceAction.class, 347 L2StaticObjectInstanceAction.class, 348 L2SummonAction.class, 349 L2TrapAction.class, 350 }, 351 { // Action Shift Handlers 352 L2DoorInstanceActionShift.class, 353 L2ItemInstanceActionShift.class, 354 L2NpcActionShift.class, 355 L2PcInstanceActionShift.class, 356 L2StaticObjectInstanceActionShift.class, 357 L2SummonActionShift.class, 358 }, 359 { // Admin Command Handlers 360 AdminAdmin.class, 361 AdminAnnouncements.class, 362 AdminBan.class, 363 AdminBBS.class, 364 AdminBuffs.class, 365 AdminCache.class, 366 AdminCamera.class, 367 AdminChangeAccessLevel.class, 368 AdminCHSiege.class, 369 AdminClan.class, 370 AdminCreateItem.class, 371 AdminCursedWeapons.class, 372 AdminDebug.class, 373 AdminDelete.class, 374 AdminDisconnect.class, 375 AdminDoorControl.class, 376 AdminEditChar.class, 377 AdminEditNpc.class, 378 AdminEffects.class, 379 AdminElement.class, 380 AdminEnchant.class, 381 AdminEventEngine.class, 382 AdminEvents.class, 383 AdminExpSp.class, 384 AdminFightCalculator.class, 385 AdminFortSiege.class, 386 AdminGeodata.class, 387 AdminGeoEditor.class, 388 AdminGm.class, 389 AdminGmChat.class, 390 AdminGraciaSeeds.class, 391 AdminHeal.class, 392 AdminHellbound.class, 393 AdminHelpPage.class, 394 AdminInstance.class, 395 AdminInstanceZone.class, 396 AdminInvul.class, 397 AdminKick.class, 398 AdminKill.class, 399 AdminLevel.class, 400 AdminLogin.class, 401 AdminMammon.class, 402 AdminManor.class, 403 AdminMenu.class, 404 AdminMessages.class, 405 AdminMobGroup.class, 406 AdminMonsterRace.class, 407 AdminPathNode.class, 408 AdminPetition.class, 409 AdminPForge.class, 410 AdminPledge.class, 411 AdminPolymorph.class, 412 AdminQuest.class, 413 AdminRepairChar.class, 414 AdminRes.class, 415 AdminRide.class, 416 AdminShop.class, 417 AdminShowQuests.class, 418 AdminShutdown.class, 419 AdminSiege.class, 420 AdminSkill.class, 421 AdminSpawn.class, 422 AdminSummon.class, 423 AdminTarget.class, 424 AdminTargetSay.class, 425 AdminTeleport.class, 426 AdminTerritoryWar.class, 427 AdminTest.class, 428 AdminTvTEvent.class, 429 AdminUnblockIp.class, 430 AdminVitality.class, 431 AdminZone.class, 432 }, 433 { // Bypass Handlers 434 Augment.class, 435 ArenaBuff.class, 436 BloodAlliance.class, 437 Buy.class, 438 BuyShadowItem.class, 439 ChatLink.class, 440 ClanWarehouse.class, 441 DrawHenna.class, 442 EventEngine.class, 443 Festival.class, 444 FortSiege.class, 445 Freight.class, 446 ItemAuctionLink.class, 447 Link.class, 448 Loto.class, 449 ManorManager.class, 450 Multisell.class, 451 Observation.class, 452 OlympiadObservation.class, 453 OlympiadManagerLink.class, 454 QuestLink.class, 455 PlayerHelp.class, 456 PrivateWarehouse.class, 457 QuestList.class, 458 ReceivePremium.class, 459 ReleaseAttribute.class, 460 RemoveDeathPenalty.class, 461 RemoveHennaList.class, 462 RentPet.class, 463 RideWyvern.class, 464 Rift.class, 465 SkillList.class, 466 SupportBlessing.class, 467 SupportMagic.class, 468 TerritoryStatus.class, 469 TerritoryWar.class, 470 VoiceCommand.class, 471 Wear.class, 472 }, 473 { // Chat Handlers 474 ChatAll.class, 475 ChatAlliance.class, 476 ChatBattlefield.class, 477 ChatClan.class, 478 ChatHeroVoice.class, 479 ChatParty.class, 480 ChatPartyMatchRoom.class, 481 ChatPartyRoomAll.class, 482 ChatPartyRoomCommander.class, 483 ChatPetition.class, 484 ChatShout.class, 485 ChatTell.class, 486 ChatTrade.class, 487 }, 488 { // Item Handlers 489 ScrollOfResurrection.class, 490 SoulShots.class, 491 SpiritShot.class, 492 BlessedSpiritShot.class, 493 BeastSoulShot.class, 494 BeastSpiritShot.class, 495 PaganKeys.class, 496 Maps.class, 497 NicknameColor.class, 498 Recipes.class, 499 RollingDice.class, 500 EnchantAttribute.class, 501 EnchantScrolls.class, 502 ExtractableItems.class, 503 Book.class, 504 SevenSignsRecord.class, 505 ItemSkills.class, 506 ItemSkillsTemplate.class, 507 Seed.class, 508 Harvester.class, 509 MercTicket.class, 510 FishShots.class, 511 PetFood.class, 512 SpecialXMas.class, 513 SummonItems.class, 514 BeastSpice.class, 515 TeleportBookmark.class, 516 Elixir.class, 517 Disguise.class, 518 ManaPotion.class, 519 EnergyStarStone.class, 520 EventItem.class, 521 }, 522 { // Skill Handlers 523 Blow.class, 524 Pdam.class, 525 Mdam.class, 526 CpDam.class, 527 CpDamPercent.class, 528 Manadam.class, 529 Heal.class, 530 HealPercent.class, 531 CombatPointHeal.class, 532 ManaHeal.class, 533 BalanceLife.class, 534 Charge.class, 535 Continuous.class, 536 Detection.class, 537 Resurrect.class, 538 ShiftTarget.class, 539 Spoil.class, 540 Sweep.class, 541 StrSiegeAssault.class, 542 SummonFriend.class, 543 Disablers.class, 544 Cancel.class, 545 ChainHeal.class, 546 StealBuffs.class, 547 BallistaBomb.class, 548 TakeCastle.class, 549 TakeFort.class, 550 Unlock.class, 551 Craft.class, 552 Fishing.class, 553 FishingSkill.class, 554 BeastSkills.class, 555 DeluxeKey.class, 556 Sow.class, 557 Soul.class, 558 Harvest.class, 559 GetPlayer.class, 560 TransformDispel.class, 561 Trap.class, 562 GiveSp.class, 563 GiveReco.class, 564 GiveVitality.class, 565 InstantJump.class, 566 Dummy.class, 567 Extractable.class, 568 RefuelAirShip.class, 569 NornilsPower.class, 570 }, 571 { // User Command Handlers 572 ClanPenalty.class, 573 ClanWarsList.class, 574 DisMount.class, 575 Escape.class, 576 InstanceZone.class, 577 Loc.class, 578 Mount.class, 579 PartyInfo.class, 580 Time.class, 581 OlympiadStat.class, 582 ChannelLeave.class, 583 ChannelDelete.class, 584 ChannelListUpdate.class, 585 Birthday.class, 586 }, 587 { // Voiced Command Handlers 588 stats.class, 589 (Config.L2JMOD_ALLOW_WEDDING ? Wedding.class : null), 590 (Config.BANKING_SYSTEM_ENABLED ? Banking.class : null), 591 (Config.TVT_ALLOW_VOICED_COMMAND ? TvTVoicedInfo.class : null), 592 (Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null), 593 (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null), 594 (Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null), 595 (Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null), 596 (Config.L2JMOD_HELLBOUND_STATUS ? Hellbound.class : null), 597 }, 598 { // Target Handlers 599 TargetAlly.class, 600 TargetArea.class, 601 TargetAreaCorpseMob.class, 602 TargetAreaSummon.class, 603 TargetAura.class, 604 TargetAuraCorpseMob.class, 605 TargetBehindArea.class, 606 TargetBehindAura.class, 607 TargetClan.class, 608 TargetClanMember.class, 609 TargetCorpseAlly.class, 610 TargetCorpseClan.class, 611 TargetCorpseMob.class, 612 TargetCorpsePet.class, 613 TargetCorpsePlayer.class, 614 TargetEnemySummon.class, 615 TargetFlagPole.class, 616 TargetFrontArea.class, 617 TargetFrontAura.class, 618 TargetGround.class, 619 TargetHoly.class, 620 TargetOne.class, 621 TargetOwnerPet.class, 622 TargetParty.class, 623 TargetPartyClan.class, 624 TargetPartyMember.class, 625 TargetPartyNotMe.class, 626 TargetPartyOther.class, 627 TargetPet.class, 628 TargetSelf.class, 629 TargetSummon.class, 630 TargetUnlockable.class, 631 }, 632 { // Telnet Handlers 633 ChatsHandler.class, 634 DebugHandler.class, 635 HelpHandler.class, 636 PlayerHandler.class, 637 ReloadHandler.class, 638 ServerHandler.class, 639 StatusHandler.class, 640 ThreadHandler.class, 641 }, 642 }; 645 643 646 644 /** … … 650 648 { 651 649 _log.log(Level.INFO, "Loading Handlers..."); 652 loadActionHandlers(); 653 loadActionShiftHandlers(); 654 loadAdminHandlers(); 655 loadBypassHandlers(); 656 loadChatHandlers(); 657 loadItemHandlers(); 658 loadSkillHandlers(); 659 loadUserHandlers(); 660 loadVoicedHandlers(); 661 loadTargetHandlers(); 650 651 Object loadInstance = null; 652 Method method = null; 653 Class<?>[] interfaces = null; 654 Object handler = null; 655 656 for (int i = 0; i < _loadInstances.length; i++) 657 { 658 try 659 { 660 method = _loadInstances[i].getMethod("getInstance"); 661 loadInstance = method.invoke(_loadInstances[i]); 662 } 663 catch (Exception e) 664 { 665 _log.log(Level.WARNING, "Failed invoking getInstance method for handler: " + _loadInstances[i].getSimpleName(), e); 666 continue; 667 } 668 669 method = null; 670 671 for (Class<?> c : _handlers[i]) 672 { 673 try 674 { 675 if (c == null) 676 continue; // Disabled handler 677 // Don't wtf some classes extending anothers like ItemHandler, Elixir, etc.. and we need to find where the hell is interface xD 678 interfaces = c.getInterfaces().length > 0 ? // Standartly handler has implementation 679 c.getInterfaces() : c.getSuperclass().getInterfaces().length > 0 ? // No? then it extends another handler like (ItemSkills->ItemSkillsTemplate) 680 c.getSuperclass().getInterfaces() : c.getSuperclass().getSuperclass().getInterfaces(); // O noh that's Elixir->ItemSkills->ItemSkillsTemplate 681 if (method == null) 682 method = loadInstance.getClass().getMethod("registerHandler", interfaces); 683 handler = c.newInstance(); 684 if (method.getParameterTypes()[0].isInstance(handler)) 685 { 686 method.invoke(loadInstance, handler); 687 } 688 } 689 catch (Exception e) 690 { 691 _log.log(Level.WARNING, "Failed loading handler: " + c.getSimpleName(), e); 692 continue; 693 } 694 } 695 // And lets try get size 696 try 697 { 698 method = loadInstance.getClass().getMethod("size"); 699 Object returnVal = method.invoke(loadInstance); 700 _log.log(Level.INFO, loadInstance.getClass().getSimpleName() + ": Loaded " + returnVal + " Handlers"); 701 } 702 catch (Exception e) 703 { 704 _log.log(Level.WARNING, "Failed invoking size method for handler: " + loadInstance.getClass().getSimpleName(), e); 705 continue; 706 } 707 } 708 662 709 _log.log(Level.INFO, "Handlers Loaded..."); 663 710 }
Note: See TracChangeset
for help on using the changeset viewer.
