Commit a8293102 authored by Melledy's avatar Melledy Committed by GitHub
Browse files

Merge branch 'development' into stable

parents 304b9cb8 ecf7a81a
package emu.grasscutter.game.world; package emu.grasscutter.game.world;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import emu.grasscutter.game.entity.GameEntity;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.player.Player.SceneLoadState; import emu.grasscutter.game.player.Player.SceneLoadState;
import emu.grasscutter.game.props.ClimateType;
import emu.grasscutter.game.props.EnterReason; import emu.grasscutter.game.props.EnterReason;
import emu.grasscutter.game.props.EntityIdType; import emu.grasscutter.game.props.EntityIdType;
import emu.grasscutter.game.props.FightProperty; import emu.grasscutter.game.props.SceneType;
import emu.grasscutter.game.props.LifeState;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.DungeonData; import emu.grasscutter.data.excels.DungeonData;
import emu.grasscutter.data.def.SceneData; import emu.grasscutter.data.excels.SceneData;
import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.entity.EntityClientGadget;
import emu.grasscutter.game.entity.EntityBaseGadget;
import emu.grasscutter.net.packet.BasePacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.proto.AttackResultOuterClass.AttackResult;
import emu.grasscutter.net.proto.EnterTypeOuterClass.EnterType; import emu.grasscutter.net.proto.EnterTypeOuterClass.EnterType;
import emu.grasscutter.net.proto.VisionTypeOuterClass.VisionType;
import emu.grasscutter.scripts.data.SceneConfig; import emu.grasscutter.scripts.data.SceneConfig;
import emu.grasscutter.server.game.GameServer; import emu.grasscutter.server.game.GameServer;
import emu.grasscutter.server.packet.send.PacketDelTeamEntityNotify; import emu.grasscutter.server.packet.send.PacketDelTeamEntityNotify;
import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify;
import emu.grasscutter.server.packet.send.PacketLifeStateChangeNotify;
import emu.grasscutter.server.packet.send.PacketPlayerEnterSceneNotify; import emu.grasscutter.server.packet.send.PacketPlayerEnterSceneNotify;
import emu.grasscutter.server.packet.send.PacketSceneEntityAppearNotify;
import emu.grasscutter.server.packet.send.PacketSceneEntityDisappearNotify;
import emu.grasscutter.server.packet.send.PacketScenePlayerInfoNotify; import emu.grasscutter.server.packet.send.PacketScenePlayerInfoNotify;
import emu.grasscutter.server.packet.send.PacketSyncScenePlayTeamEntityNotify; import emu.grasscutter.server.packet.send.PacketSyncScenePlayTeamEntityNotify;
import emu.grasscutter.server.packet.send.PacketSyncTeamEntityNotify; import emu.grasscutter.server.packet.send.PacketSyncTeamEntityNotify;
...@@ -207,7 +193,7 @@ public class World implements Iterable<Player> { ...@@ -207,7 +193,7 @@ public class World implements Iterable<Player> {
World world = new World(victim); World world = new World(victim);
world.addPlayer(victim); world.addPlayer(victim);
victim.sendPacket(new PacketPlayerEnterSceneNotify(victim, EnterType.ENTER_SELF, EnterReason.TeamKick, victim.getSceneId(), victim.getPos())); victim.sendPacket(new PacketPlayerEnterSceneNotify(victim, EnterType.ENTER_TYPE_SELF, EnterReason.TeamKick, victim.getSceneId(), victim.getPos()));
} }
} }
} }
...@@ -274,14 +260,17 @@ public class World implements Iterable<Player> { ...@@ -274,14 +260,17 @@ public class World implements Iterable<Player> {
} }
// Get enter types // Get enter types
EnterType enterType = EnterType.ENTER_JUMP; EnterType enterType = EnterType.ENTER_TYPE_JUMP;
EnterReason enterReason = EnterReason.TransPoint; EnterReason enterReason = EnterReason.TransPoint;
if (dungeonData != null) { if (dungeonData != null) {
enterType = EnterType.ENTER_DUNGEON; enterType = EnterType.ENTER_TYPE_DUNGEON;
enterReason = EnterReason.DungeonEnter; enterReason = EnterReason.DungeonEnter;
} else if (oldScene == newScene) { } else if (oldScene == newScene) {
enterType = EnterType.ENTER_GOTO; enterType = EnterType.ENTER_TYPE_GOTO;
} else if (newScene.getSceneType() == SceneType.SCENE_HOME_WORLD) {
// Home
enterType = EnterType.ENTER_TYPE_SELF_HOME;
} }
// Teleport packet // Teleport packet
......
package emu.grasscutter.net.packet; package emu.grasscutter.net.packet;
import java.util.Arrays; import java.util.HashSet;
import java.util.List;
public class PacketOpcodes { public class PacketOpcodes {
// Empty // Empty
public static final int NONE = 0; public static final int NONE = 0;
// Opcodes // Opcodes
public static final int AbilityChangeNotify = 1179; public static final int AbilityChangeNotify = 1155;
public static final int AbilityInvocationFailNotify = 1137; public static final int AbilityInvocationFailNotify = 1132;
public static final int AbilityInvocationFixedNotify = 1160; public static final int AbilityInvocationFixedNotify = 1109;
public static final int AbilityInvocationsNotify = 1133; public static final int AbilityInvocationsNotify = 1131;
public static final int AcceptCityReputationRequestReq = 2845; public static final int AcceptCityReputationRequestReq = 2835;
public static final int AcceptCityReputationRequestRsp = 2875; public static final int AcceptCityReputationRequestRsp = 2849;
public static final int AchievementAllDataNotify = 1155; public static final int AchievementAllDataNotify = 2668;
public static final int AchievementUpdateNotify = 1146; public static final int AchievementUpdateNotify = 2659;
public static final int ActivityCoinInfoNotify = 2056; public static final int ActivityCoinInfoNotify = 2094;
public static final int ActivityCondStateChangeNotify = 2162; public static final int ActivityCondStateChangeNotify = 2120;
public static final int ActivityDisableTransferPointInteractionNotify = 8295; public static final int ActivityDisableTransferPointInteractionNotify = 8686;
public static final int ActivityInfoNotify = 2023; public static final int ActivityInfoNotify = 2125;
public static final int ActivityPlayOpenAnimNotify = 2164; public static final int ActivityPlayOpenAnimNotify = 2146;
public static final int ActivitySaleChangeNotify = 2043; public static final int ActivitySaleChangeNotify = 2109;
public static final int ActivityScheduleInfoNotify = 2180; public static final int ActivityScheduleInfoNotify = 2033;
public static final int ActivityScheduleInfoNotify_1 = 2187; public static final int ActivitySelectAvatarCardReq = 2030;
public static final int ActivitySelectAvatarCardReq = 2153; public static final int ActivitySelectAvatarCardRsp = 2127;
public static final int ActivitySelectAvatarCardRsp = 2069; public static final int ActivityTakeAllScoreRewardReq = 8424;
public static final int ActivityTakeAllScoreRewardReq = 8708; public static final int ActivityTakeAllScoreRewardRsp = 8692;
public static final int ActivityTakeAllScoreRewardRsp = 8836; public static final int ActivityTakeScoreRewardReq = 8321;
public static final int ActivityTakeScoreRewardReq = 8767; public static final int ActivityTakeScoreRewardRsp = 8218;
public static final int ActivityTakeScoreRewardRsp = 8445; public static final int ActivityTakeWatcherRewardBatchReq = 2079;
public static final int ActivityTakeWatcherRewardBatchReq = 2027; public static final int ActivityTakeWatcherRewardBatchRsp = 2150;
public static final int ActivityTakeWatcherRewardBatchRsp = 2036; public static final int ActivityTakeWatcherRewardReq = 2090;
public static final int ActivityTakeWatcherRewardReq = 2074; public static final int ActivityTakeWatcherRewardRsp = 2025;
public static final int ActivityTakeWatcherRewardRsp = 2180; public static final int ActivityUpdateWatcherNotify = 2172;
public static final int ActivityTakeWatcherRewardRsp_1 = 2187; public static final int AddBlacklistReq = 4050;
public static final int ActivityUpdateWatcherNotify = 2101;
public static final int AddBlacklistReq = 4067;
public static final int AddBlacklistRsp = 4020; public static final int AddBlacklistRsp = 4020;
public static final int AddFriendNotify = 4026; public static final int AddFriendNotify = 4024;
public static final int AddNoGachaAvatarCardNotify = 1740; public static final int AddNoGachaAvatarCardNotify = 1648;
public static final int AddQuestContentProgressReq = 493; public static final int AddQuestContentProgressReq = 417;
public static final int AddQuestContentProgressRsp = 444; public static final int AddQuestContentProgressRsp = 485;
public static final int AddRandTaskInfoNotify = 147; public static final int AddRandTaskInfoNotify = 116;
public static final int AddSeenMonsterNotify = 242; public static final int AddSeenMonsterNotify = 251;
public static final int AdjustWorldLevelReq = 104; public static final int AdjustWorldLevelReq = 195;
public static final int AdjustWorldLevelRsp = 106; public static final int AdjustWorldLevelRsp = 115;
public static final int AllCoopInfoNotify = 1985; public static final int AllCoopInfoNotify = 1968;
public static final int AllMarkPointNotify = 3462; public static final int AllMarkPointNotify = 3195;
public static final int AllSeenMonsterNotify = 276; public static final int AllSeenMonsterNotify = 226;
public static final int AllWidgetDataNotify = 4284; public static final int AllWidgetDataNotify = 4273;
public static final int AnchorPointDataNotify = 4285; public static final int AnchorPointDataNotify = 4268;
public static final int AnchorPointOpReq = 4298; public static final int AnchorPointOpReq = 4254;
public static final int AnchorPointOpRsp = 4263; public static final int AnchorPointOpRsp = 4278;
public static final int AnimatorForceSetAirMoveNotify = 308; public static final int AnimatorForceSetAirMoveNotify = 346;
public static final int AntiAddictNotify = 177; public static final int AntiAddictNotify = 148;
public static final int ArenaChallengeFinishNotify = 2083; public static final int ArenaChallengeFinishNotify = 2082;
public static final int AskAddFriendNotify = 4062; public static final int AskAddFriendNotify = 4038;
public static final int AskAddFriendReq = 4037; public static final int AskAddFriendReq = 4032;
public static final int AskAddFriendRsp = 4093; public static final int AskAddFriendRsp = 4017;
public static final int AsterLargeInfoNotify = 2133; public static final int AsterLargeInfoNotify = 2192;
public static final int AsterLittleInfoNotify = 2058; public static final int AsterLittleInfoNotify = 2188;
public static final int AsterMidCampInfoNotify = 2115; public static final int AsterMidCampInfoNotify = 2020;
public static final int AsterMidInfoNotify = 2151; public static final int AsterMidInfoNotify = 2121;
public static final int AsterMiscInfoNotify = 2098; public static final int AsterMiscInfoNotify = 2187;
public static final int AsterProgressInfoNotify = 2065; public static final int AsterProgressInfoNotify = 2193;
public static final int AvatarAddNotify = 1759; public static final int AvatarAddNotify = 1757;
public static final int AvatarBuffAddNotify = 367; public static final int AvatarBuffAddNotify = 350;
public static final int AvatarBuffDelNotify = 320; public static final int AvatarBuffDelNotify = 320;
public static final int AvatarCardChangeReq = 667; public static final int AvatarCardChangeReq = 650;
public static final int AvatarCardChangeRsp = 620; public static final int AvatarCardChangeRsp = 620;
public static final int AvatarChangeAnimHashReq = 1630; public static final int AvatarChangeAnimHashReq = 1798;
public static final int AvatarChangeAnimHashRsp = 1747; public static final int AvatarChangeAnimHashRsp = 1622;
public static final int AvatarChangeCostumeNotify = 1748; public static final int AvatarChangeCostumeNotify = 1780;
public static final int AvatarChangeCostumeReq = 1650; public static final int AvatarChangeCostumeReq = 1734;
public static final int AvatarChangeCostumeRsp = 1632; public static final int AvatarChangeCostumeRsp = 1723;
public static final int AvatarChangeElementTypeReq = 1741; public static final int AvatarChangeElementTypeReq = 1706;
public static final int AvatarChangeElementTypeRsp = 1626; public static final int AvatarChangeElementTypeRsp = 1708;
public static final int AvatarDataNotify = 1757; public static final int AvatarDataNotify = 1695;
public static final int AvatarDelNotify = 1624; public static final int AvatarDelNotify = 1608;
public static final int AvatarDieAnimationEndReq = 1635; public static final int AvatarDieAnimationEndReq = 1616;
public static final int AvatarDieAnimationEndRsp = 1638; public static final int AvatarDieAnimationEndRsp = 1765;
public static final int AvatarEnterElementViewNotify = 366; public static final int AvatarEnterElementViewNotify = 311;
public static final int AvatarEquipAffixStartNotify = 1734; public static final int AvatarEquipAffixStartNotify = 1609;
public static final int AvatarEquipChangeNotify = 674; public static final int AvatarEquipChangeNotify = 690;
public static final int AvatarExpeditionAllDataReq = 1721; public static final int AvatarExpeditionAllDataReq = 1659;
public static final int AvatarExpeditionAllDataRsp = 1800; public static final int AvatarExpeditionAllDataRsp = 1636;
public static final int AvatarExpeditionCallBackReq = 1607; public static final int AvatarExpeditionCallBackReq = 1655;
public static final int AvatarExpeditionCallBackRsp = 1783; public static final int AvatarExpeditionCallBackRsp = 1642;
public static final int AvatarExpeditionDataNotify = 1777; public static final int AvatarExpeditionDataNotify = 1698;
public static final int AvatarExpeditionGetRewardReq = 1604; public static final int AvatarExpeditionGetRewardReq = 1603;
public static final int AvatarExpeditionGetRewardRsp = 1731; public static final int AvatarExpeditionGetRewardRsp = 1646;
public static final int AvatarExpeditionStartReq = 1788; public static final int AvatarExpeditionStartReq = 1675;
public static final int AvatarExpeditionStartRsp = 1786; public static final int AvatarExpeditionStartRsp = 1688;
public static final int AvatarFetterDataNotify = 1718; public static final int AvatarFetterDataNotify = 1777;
public static final int AvatarFetterLevelRewardReq = 1717; public static final int AvatarFetterLevelRewardReq = 1704;
public static final int AvatarFetterLevelRewardRsp = 1690; public static final int AvatarFetterLevelRewardRsp = 1606;
public static final int AvatarFightPropNotify = 1237; public static final int AvatarFightPropNotify = 1232;
public static final int AvatarFightPropUpdateNotify = 1293; public static final int AvatarFightPropUpdateNotify = 1217;
public static final int AvatarFlycloakChangeNotify = 1761; public static final int AvatarFlycloakChangeNotify = 1681;
public static final int AvatarFollowRouteNotify = 3210; public static final int AvatarFollowRouteNotify = 3353;
public static final int AvatarGainCostumeNotify = 1778; public static final int AvatarGainCostumeNotify = 1670;
public static final int AvatarGainFlycloakNotify = 1676; public static final int AvatarGainFlycloakNotify = 1615;
public static final int AvatarLifeStateChangeNotify = 1245; public static final int AvatarLifeStateChangeNotify = 1235;
public static final int AvatarPromoteGetRewardReq = 1784; public static final int AvatarPromoteGetRewardReq = 1676;
public static final int AvatarPromoteGetRewardRsp = 1776; public static final int AvatarPromoteGetRewardRsp = 1613;
public static final int AvatarPromoteReq = 1661; public static final int AvatarPromoteReq = 1711;
public static final int AvatarPromoteRsp = 1712; public static final int AvatarPromoteRsp = 1668;
public static final int AvatarPropChangeReasonNotify = 1275; public static final int AvatarPropChangeReasonNotify = 1249;
public static final int AvatarPropNotify = 1279; public static final int AvatarPropNotify = 1255;
public static final int AvatarSatiationDataNotify = 1639; public static final int AvatarSatiationDataNotify = 1632;
public static final int AvatarSkillChangeNotify = 1088; public static final int AvatarSkillChangeNotify = 1030;
public static final int AvatarSkillDepotChangeNotify = 1015; public static final int AvatarSkillDepotChangeNotify = 1037;
public static final int AvatarSkillInfoNotify = 1045; public static final int AvatarSkillInfoNotify = 1035;
public static final int AvatarSkillMaxChargeCountNotify = 1044; public static final int AvatarSkillMaxChargeCountNotify = 1085;
public static final int AvatarSkillUpgradeReq = 1091; public static final int AvatarSkillUpgradeReq = 1027;
public static final int AvatarSkillUpgradeRsp = 1097; public static final int AvatarSkillUpgradeRsp = 1007;
public static final int AvatarTeamUpdateNotify = 1649; public static final int AvatarTeamUpdateNotify = 1713;
public static final int AvatarUnlockTalentNotify = 1010; public static final int AvatarUnlockTalentNotify = 1041;
public static final int AvatarUpgradeReq = 1660; public static final int AvatarUpgradeReq = 1680;
public static final int AvatarUpgradeRsp = 1735; public static final int AvatarUpgradeRsp = 1779;
public static final int AvatarWearFlycloakReq = 1677; public static final int AvatarWearFlycloakReq = 1728;
public static final int AvatarWearFlycloakRsp = 1782; public static final int AvatarWearFlycloakRsp = 1770;
public static final int BackMyWorldReq = 219; public static final int BackMyWorldReq = 221;
public static final int BackMyWorldRsp = 269; public static final int BackMyWorldRsp = 223;
public static final int BargainOfferPriceReq = 409; public static final int BargainOfferPriceReq = 419;
public static final int BargainOfferPriceRsp = 465; public static final int BargainOfferPriceRsp = 412;
public static final int BargainStartNotify = 489; public static final int BargainStartNotify = 406;
public static final int BargainTerminateNotify = 403; public static final int BargainTerminateNotify = 458;
public static final int BattlePassAllDataNotify = 2635; public static final int BattlePassAllDataNotify = 2618;
public static final int BattlePassBuySuccNotify = 2612; public static final int BattlePassBuySuccNotify = 2614;
public static final int BattlePassCurScheduleUpdateNotify = 2648; public static final int BattlePassCurScheduleUpdateNotify = 2604;
public static final int BattlePassMissionDelNotify = 2645; public static final int BattlePassMissionDelNotify = 2643;
public static final int BattlePassMissionUpdateNotify = 2625; public static final int BattlePassMissionUpdateNotify = 2609;
public static final int BeginCameraSceneLookNotify = 261; public static final int BeginCameraSceneLookNotify = 203;
public static final int BigTalentPointConvertReq = 1037; public static final int BigTalentPointConvertReq = 1032;
public static final int BigTalentPointConvertRsp = 1093; public static final int BigTalentPointConvertRsp = 1017;
public static final int BlessingAcceptAllGivePicReq = 2176; public static final int BlessingAcceptAllGivePicReq = 2123;
public static final int BlessingAcceptAllGivePicRsp = 2050; public static final int BlessingAcceptAllGivePicRsp = 2180;
public static final int BlessingAcceptGivePicReq = 2134; public static final int BlessingAcceptGivePicReq = 2006;
public static final int BlessingAcceptGivePicRsp = 2117; public static final int BlessingAcceptGivePicRsp = 2048;
public static final int BlessingGetAllRecvPicRecordListReq = 2090; public static final int BlessingGetAllRecvPicRecordListReq = 2076;
public static final int BlessingGetAllRecvPicRecordListRsp = 2140; public static final int BlessingGetAllRecvPicRecordListRsp = 2013;
public static final int BlessingGetFriendPicListReq = 2077; public static final int BlessingGetFriendPicListReq = 2081;
public static final int BlessingGetFriendPicListRsp = 2182; public static final int BlessingGetFriendPicListRsp = 2015;
public static final int BlessingGiveFriendPicReq = 2161; public static final int BlessingGiveFriendPicReq = 2009;
public static final int BlessingGiveFriendPicRsp = 2076; public static final int BlessingGiveFriendPicRsp = 2104;
public static final int BlessingRecvFriendPicNotify = 2184; public static final int BlessingRecvFriendPicNotify = 2134;
public static final int BlessingRedeemRewardReq = 2172; public static final int BlessingRedeemRewardReq = 2128;
public static final int BlessingRedeemRewardRsp = 2039; public static final int BlessingRedeemRewardRsp = 2170;
public static final int BlessingScanReq = 2186; public static final int BlessingScanReq = 2012;
public static final int BlessingScanRsp = 2007; public static final int BlessingScanRsp = 2032;
public static final int BlitzRushParkourRestartReq = 8212; public static final int BlitzRushParkourRestartReq = 8355;
public static final int BlitzRushParkourRestartRsp = 8962; public static final int BlitzRushParkourRestartRsp = 8943;
public static final int BlossomBriefInfoNotify = 2710; public static final int BlossomBriefInfoNotify = 2741;
public static final int BlossomChestCreateNotify = 2793; public static final int BlossomChestCreateNotify = 2717;
public static final int BlossomChestInfoNotify = 845; public static final int BlossomChestInfoNotify = 835;
public static final int BonusActivityInfoReq = 2597; public static final int BonusActivityInfoReq = 2507;
public static final int BonusActivityInfoRsp = 2588; public static final int BonusActivityInfoRsp = 2530;
public static final int BonusActivityUpdateNotify = 2591; public static final int BonusActivityUpdateNotify = 2527;
public static final int BossChestActivateNotify = 844; public static final int BossChestActivateNotify = 885;
public static final int BounceConjuringSettleNotify = 8339; public static final int BounceConjuringSettleNotify = 8313;
public static final int BuoyantCombatSettleNotify = 9000; public static final int BuoyantCombatSettleNotify = 8347;
public static final int BuyBattlePassLevelReq = 2639; public static final int BuyBattlePassLevelReq = 2612;
public static final int BuyBattlePassLevelRsp = 2621; public static final int BuyBattlePassLevelRsp = 2646;
public static final int BuyGoodsReq = 710; public static final int BuyGoodsReq = 741;
public static final int BuyGoodsRsp = 715; public static final int BuyGoodsRsp = 737;
public static final int BuyResinReq = 630; public static final int BuyResinReq = 602;
public static final int BuyResinRsp = 647; public static final int BuyResinRsp = 616;
public static final int CalcWeaponUpgradeReturnItemsReq = 643; public static final int CalcWeaponUpgradeReturnItemsReq = 610;
public static final int CalcWeaponUpgradeReturnItemsRsp = 686; public static final int CalcWeaponUpgradeReturnItemsRsp = 666;
public static final int CancelCityReputationRequestReq = 2834; public static final int CancelCityReputationRequestReq = 2882;
public static final int CancelCityReputationRequestRsp = 2879; public static final int CancelCityReputationRequestRsp = 2855;
public static final int CancelCoopTaskReq = 1989; public static final int CancelCoopTaskReq = 1962;
public static final int CancelCoopTaskRsp = 1971; public static final int CancelCoopTaskRsp = 1996;
public static final int CancelFinishParentQuestNotify = 492; public static final int CancelFinishParentQuestNotify = 459;
public static final int CanUseSkillNotify = 1055; public static final int CanUseSkillNotify = 1098;
public static final int CardProductRewardNotify = 4148; public static final int CardProductRewardNotify = 4104;
public static final int ChallengeDataNotify = 983; public static final int ChallengeDataNotify = 963;
public static final int ChallengeRecordNotify = 909; public static final int ChallengeRecordNotify = 919;
public static final int ChangeAvatarReq = 1743; public static final int ChangeAvatarReq = 1662;
public static final int ChangeAvatarRsp = 1672; public static final int ChangeAvatarRsp = 1710;
public static final int ChangeGameTimeReq = 175; public static final int ChangeGameTimeReq = 149;
public static final int ChangeGameTimeRsp = 134; public static final int ChangeGameTimeRsp = 182;
public static final int ChangeMailStarNotify = 1497; public static final int ChangeMailStarNotify = 1407;
public static final int ChangeMpTeamAvatarReq = 1794; public static final int ChangeMpTeamAvatarReq = 1689;
public static final int ChangeMpTeamAvatarRsp = 1629; public static final int ChangeMpTeamAvatarRsp = 1617;
public static final int ChangeServerGlobalValueNotify = 65; public static final int ChangeServerGlobalValueNotify = 12;
public static final int ChangeTeamNameReq = 1793; public static final int ChangeTeamNameReq = 1762;
public static final int ChangeTeamNameRsp = 1707; public static final int ChangeTeamNameRsp = 1789;
public static final int ChangeWorldToSingleModeNotify = 3293; public static final int ChangeWorldToSingleModeNotify = 3260;
public static final int ChangeWorldToSingleModeReq = 3174; public static final int ChangeWorldToSingleModeReq = 3140;
public static final int ChangeWorldToSingleModeRsp = 3308; public static final int ChangeWorldToSingleModeRsp = 3083;
public static final int ChannelerSlabStageActiveChallengeIndexNotify = 8578; public static final int ChannelerSlabStageActiveChallengeIndexNotify = 8864;
public static final int ChannelerSlabStageOneoffDungeonNotify = 8137; public static final int ChannelerSlabStageOneoffDungeonNotify = 8522;
public static final int ChannellerSlabCheckEnterLoopDungeonReq = 8684; public static final int ChannellerSlabCheckEnterLoopDungeonReq = 8304;
public static final int ChannellerSlabCheckEnterLoopDungeonRsp = 8376; public static final int ChannellerSlabCheckEnterLoopDungeonRsp = 8928;
public static final int ChannellerSlabEnterLoopDungeonReq = 8090; public static final int ChannellerSlabEnterLoopDungeonReq = 8687;
public static final int ChannellerSlabEnterLoopDungeonRsp = 8120; public static final int ChannellerSlabEnterLoopDungeonRsp = 8639;
public static final int ChannellerSlabLoopDungeonChallengeInfoNotify = 8263; public static final int ChannellerSlabLoopDungeonChallengeInfoNotify = 8555;
public static final int ChannellerSlabLoopDungeonSelectConditionReq = 8741; public static final int ChannellerSlabLoopDungeonSelectConditionReq = 8383;
public static final int ChannellerSlabLoopDungeonSelectConditionRsp = 8341; public static final int ChannellerSlabLoopDungeonSelectConditionRsp = 8979;
public static final int ChannellerSlabLoopDungeonTakeFirstPassRewardReq = 8914; public static final int ChannellerSlabLoopDungeonTakeFirstPassRewardReq = 8910;
public static final int ChannellerSlabLoopDungeonTakeFirstPassRewardRsp = 8503; public static final int ChannellerSlabLoopDungeonTakeFirstPassRewardRsp = 8482;
public static final int ChannellerSlabLoopDungeonTakeScoreRewardReq = 8012; public static final int ChannellerSlabLoopDungeonTakeScoreRewardReq = 8305;
public static final int ChannellerSlabLoopDungeonTakeScoreRewardRsp = 8123; public static final int ChannellerSlabLoopDungeonTakeScoreRewardRsp = 8552;
public static final int ChannellerSlabOneOffDungeonInfoNotify = 8795; public static final int ChannellerSlabOneOffDungeonInfoNotify = 8008;
public static final int ChannellerSlabOneOffDungeonInfoReq = 8772; public static final int ChannellerSlabOneOffDungeonInfoReq = 8295;
public static final int ChannellerSlabOneOffDungeonInfoRsp = 8715; public static final int ChannellerSlabOneOffDungeonInfoRsp = 8716;
public static final int ChannellerSlabSaveAssistInfoReq = 8518; public static final int ChannellerSlabSaveAssistInfoReq = 8860;
public static final int ChannellerSlabSaveAssistInfoRsp = 8773; public static final int ChannellerSlabSaveAssistInfoRsp = 8320;
public static final int ChannellerSlabTakeoffBuffReq = 8407; public static final int ChannellerSlabTakeoffBuffReq = 8577;
public static final int ChannellerSlabTakeoffBuffRsp = 8260; public static final int ChannellerSlabTakeoffBuffRsp = 8689;
public static final int ChannellerSlabWearBuffReq = 8850; public static final int ChannellerSlabWearBuffReq = 8132;
public static final int ChannellerSlabWearBuffRsp = 8203; public static final int ChannellerSlabWearBuffRsp = 8315;
public static final int ChapterStateNotify = 455; public static final int ChapterStateNotify = 498;
public static final int ChatChannelDataNotify = 5047; public static final int ChatChannelDataNotify = 4957;
public static final int ChatChannelUpdateNotify = 5041; public static final int ChatChannelUpdateNotify = 4977;
public static final int ChatHistoryNotify = 3265; public static final int ChatHistoryNotify = 3213;
public static final int CheckAddItemExceedLimitNotify = 639; public static final int CheckAddItemExceedLimitNotify = 653;
public static final int CheckSegmentCRCNotify = 56; public static final int CheckSegmentCRCNotify = 86;
public static final int CheckSegmentCRCReq = 83; public static final int CheckSegmentCRCReq = 63;
public static final int ChessEscapedMonstersNotify = 5394; public static final int ChessEscapedMonstersNotify = 5374;
public static final int ChessLeftMonstersNotify = 5378; public static final int ChessLeftMonstersNotify = 5391;
public static final int ChessManualRefreshCardsReq = 5325; public static final int ChessManualRefreshCardsReq = 5373;
public static final int ChessManualRefreshCardsRsp = 5349; public static final int ChessManualRefreshCardsRsp = 5361;
public static final int ChessPickCardNotify = 5377; public static final int ChessPickCardNotify = 5348;
public static final int ChessPickCardReq = 5343; public static final int ChessPickCardReq = 5310;
public static final int ChessPickCardRsp = 5386; public static final int ChessPickCardRsp = 5366;
public static final int ChessPlayerInfoNotify = 5385; public static final int ChessPlayerInfoNotify = 5388;
public static final int ChessSelectedCardsNotify = 5339; public static final int ChessSelectedCardsNotify = 5353;
public static final int ChooseCurAvatarTeamReq = 1713; public static final int ChooseCurAvatarTeamReq = 1800;
public static final int ChooseCurAvatarTeamRsp = 1608; public static final int ChooseCurAvatarTeamRsp = 1673;
public static final int CityReputationDataNotify = 2855; public static final int CityReputationDataNotify = 2898;
public static final int CityReputationLevelupNotify = 2837; public static final int CityReputationLevelupNotify = 2832;
public static final int ClearRoguelikeCurseNotify = 8997; public static final int ClearRoguelikeCurseNotify = 8291;
public static final int ClientAbilitiesInitFinishCombineNotify = 1144; public static final int ClientAbilitiesInitFinishCombineNotify = 1185;
public static final int ClientAbilityChangeNotify = 1191; public static final int ClientAbilityChangeNotify = 1127;
public static final int ClientAbilityInitBeginNotify = 1110; public static final int ClientAbilityInitBeginNotify = 1141;
public static final int ClientAbilityInitFinishNotify = 1115; public static final int ClientAbilityInitFinishNotify = 1137;
public static final int ClientAIStateNotify = 1128; public static final int ClientAIStateNotify = 1197;
public static final int ClientBulletCreateNotify = 89; public static final int ClientBulletCreateNotify = 6;
public static final int ClientCollectorDataNotify = 4262; public static final int ClientCollectorDataNotify = 4264;
public static final int ClientHashDebugNotify = 3163; public static final int ClientHashDebugNotify = 3192;
public static final int ClientLoadingCostumeVerificationNotify = 3133; public static final int ClientLoadingCostumeVerificationNotify = 3488;
public static final int ClientLockGameTimeNotify = 194; public static final int ClientLockGameTimeNotify = 174;
public static final int ClientNewMailNotify = 1434; public static final int ClientNewMailNotify = 1482;
public static final int ClientPauseNotify = 278; public static final int ClientPauseNotify = 291;
public static final int ClientReconnectNotify = 91; public static final int ClientReconnectNotify = 27;
public static final int ClientReportNotify = 28; public static final int ClientReportNotify = 97;
public static final int ClientScriptEventNotify = 218; public static final int ClientScriptEventNotify = 214;
public static final int ClientTransmitReq = 252; public static final int ClientTransmitReq = 272;
public static final int ClientTransmitRsp = 292; public static final int ClientTransmitRsp = 259;
public static final int ClientTriggerEventNotify = 197; public static final int ClientTriggerEventNotify = 107;
public static final int CloseCommonTipsNotify = 3187; public static final int CloseCommonTipsNotify = 3496;
public static final int ClosedItemNotify = 694; public static final int ClosedItemNotify = 674;
public static final int CodexDataFullNotify = 4204; public static final int CodexDataFullNotify = 4201;
public static final int CodexDataUpdateNotify = 4205; public static final int CodexDataUpdateNotify = 4210;
public static final int CombatInvocationsNotify = 347; public static final int CombatInvocationsNotify = 316;
public static final int CombineDataNotify = 649; public static final int CombineDataNotify = 661;
public static final int CombineFormulaDataNotify = 685; public static final int CombineFormulaDataNotify = 688;
public static final int CombineReq = 663; public static final int CombineReq = 654;
public static final int CombineRsp = 608; public static final int CombineRsp = 646;
public static final int CommonPlayerTipsNotify = 8928; public static final int CommonPlayerTipsNotify = 8490;
public static final int CompoundDataNotify = 181; public static final int CompoundDataNotify = 136;
public static final int CompoundUnlockNotify = 199; public static final int CompoundUnlockNotify = 181;
public static final int CookDataNotify = 164; public static final int CookDataNotify = 142;
public static final int CookGradeDataNotify = 166; public static final int CookGradeDataNotify = 111;
public static final int CookRecipeDataNotify = 101; public static final int CookRecipeDataNotify = 101;
public static final int CoopCgShowNotify = 1983; public static final int CoopCgShowNotify = 1989;
public static final int CoopCgUpdateNotify = 1993; public static final int CoopCgUpdateNotify = 1966;
public static final int CoopChapterUpdateNotify = 1986; public static final int CoopChapterUpdateNotify = 1997;
public static final int CoopDataNotify = 1967; public static final int CoopDataNotify = 1976;
public static final int CoopPointUpdateNotify = 1987; public static final int CoopPointUpdateNotify = 1987;
public static final int CoopProgressUpdateNotify = 2000; public static final int CoopProgressUpdateNotify = 1961;
public static final int CoopRewardUpdateNotify = 1976; public static final int CoopRewardUpdateNotify = 1951;
public static final int CreateMassiveEntityNotify = 336; public static final int CreateMassiveEntityNotify = 325;
public static final int CreateMassiveEntityReq = 323; public static final int CreateMassiveEntityReq = 370;
public static final int CreateMassiveEntityRsp = 313; public static final int CreateMassiveEntityRsp = 329;
public static final int CreateVehicleReq = 809; public static final int CreateVehicleReq = 819;
public static final int CreateVehicleRsp = 865; public static final int CreateVehicleRsp = 812;
public static final int CutSceneBeginNotify = 241; public static final int CutSceneBeginNotify = 300;
public static final int CutSceneEndNotify = 214; public static final int CutSceneEndNotify = 299;
public static final int CutSceneFinishNotify = 248; public static final int CutSceneFinishNotify = 294;
public static final int DailyTaskDataNotify = 124; public static final int DailyTaskDataNotify = 183;
public static final int DailyTaskFilterCityReq = 159; public static final int DailyTaskFilterCityReq = 192;
public static final int DailyTaskFilterCityRsp = 150; public static final int DailyTaskFilterCityRsp = 118;
public static final int DailyTaskProgressNotify = 161; public static final int DailyTaskProgressNotify = 103;
public static final int DailyTaskScoreRewardNotify = 138; public static final int DailyTaskScoreRewardNotify = 134;
public static final int DailyTaskUnlockedCitiesNotify = 119; public static final int DailyTaskUnlockedCitiesNotify = 121;
public static final int DataResVersionNotify = 136; public static final int DataResVersionNotify = 125;
public static final int DealAddFriendReq = 4044; public static final int DealAddFriendReq = 4085;
public static final int DealAddFriendRsp = 4045; public static final int DealAddFriendRsp = 4035;
public static final int DeleteFriendNotify = 4083; public static final int DebugNotify = 101;
public static final int DeleteFriendReq = 4079; public static final int DeleteFriendNotify = 4063;
public static final int DeleteFriendRsp = 4091; public static final int DeleteFriendReq = 4055;
public static final int DelMailReq = 1493; public static final int DeleteFriendRsp = 4027;
public static final int DelMailRsp = 1444; public static final int DelMailReq = 1417;
public static final int DelScenePlayTeamEntityNotify = 3117; public static final int DelMailRsp = 1485;
public static final int DelTeamEntityNotify = 330; public static final int DelScenePlayTeamEntityNotify = 3087;
public static final int DestroyMassiveEntityNotify = 324; public static final int DelTeamEntityNotify = 302;
public static final int DestroyMaterialReq = 670; public static final int DestroyMassiveEntityNotify = 383;
public static final int DestroyMaterialRsp = 654; public static final int DestroyMaterialReq = 678;
public static final int DigActivityChangeGadgetStateReq = 8283; public static final int DestroyMaterialRsp = 608;
public static final int DigActivityChangeGadgetStateRsp = 8609; public static final int DigActivityChangeGadgetStateReq = 8155;
public static final int DigActivityMarkPointChangeNotify = 8143; public static final int DigActivityChangeGadgetStateRsp = 8851;
public static final int DisableRoguelikeTrapNotify = 8029; public static final int DigActivityMarkPointChangeNotify = 8679;
public static final int DoGachaReq = 1510; public static final int DisableRoguelikeTrapNotify = 8250;
public static final int DoGachaRsp = 1515; public static final int DoGachaReq = 1541;
public static final int DoRoguelikeDungeonCardGachaReq = 8897; public static final int DoGachaRsp = 1537;
public static final int DoRoguelikeDungeonCardGachaRsp = 8973; public static final int DoRoguelikeDungeonCardGachaReq = 8764;
public static final int DoSetPlayerBornDataNotify = 174; public static final int DoRoguelikeDungeonCardGachaRsp = 8641;
public static final int DraftGuestReplyInviteNotify = 5445; public static final int DoSetPlayerBornDataNotify = 190;
public static final int DraftGuestReplyInviteReq = 5493; public static final int DraftGuestReplyInviteNotify = 5435;
public static final int DraftGuestReplyInviteRsp = 5444; public static final int DraftGuestReplyInviteReq = 5417;
public static final int DraftGuestReplyTwiceConfirmNotify = 5488; public static final int DraftGuestReplyInviteRsp = 5485;
public static final int DraftGuestReplyTwiceConfirmReq = 5479; public static final int DraftGuestReplyTwiceConfirmNotify = 5430;
public static final int DraftGuestReplyTwiceConfirmRsp = 5491; public static final int DraftGuestReplyTwiceConfirmReq = 5455;
public static final int DraftInviteResultNotify = 5475; public static final int DraftGuestReplyTwiceConfirmRsp = 5427;
public static final int DraftOwnerInviteNotify = 5437; public static final int DraftInviteResultNotify = 5449;
public static final int DraftOwnerStartInviteReq = 5410; public static final int DraftOwnerInviteNotify = 5432;
public static final int DraftOwnerStartInviteRsp = 5415; public static final int DraftOwnerStartInviteReq = 5441;
public static final int DraftOwnerTwiceConfirmNotify = 5434; public static final int DraftOwnerStartInviteRsp = 5437;
public static final int DraftTwiceConfirmResultNotify = 5497; public static final int DraftOwnerTwiceConfirmNotify = 5482;
public static final int DragonSpineChapterFinishNotify = 2196; public static final int DraftTwiceConfirmResultNotify = 5407;
public static final int DragonSpineChapterOpenNotify = 2070; public static final int DragonSpineChapterFinishNotify = 2135;
public static final int DragonSpineChapterProgressChangeNotify = 2001; public static final int DragonSpineChapterOpenNotify = 2119;
public static final int DragonSpineCoinChangeNotify = 2189; public static final int DragonSpineChapterProgressChangeNotify = 2102;
public static final int DropHintNotify = 673; public static final int DragonSpineCoinChangeNotify = 2031;
public static final int DropItemReq = 634; public static final int DropHintNotify = 622;
public static final int DropItemRsp = 679; public static final int DropItemReq = 682;
public static final int DropSubfieldReq = 232; public static final int DropItemRsp = 655;
public static final int DropSubfieldRsp = 251; public static final int DungeonCandidateTeamChangeAvatarReq = 984;
public static final int DungeonCandidateTeamChangeAvatarReq = 958; public static final int DungeonCandidateTeamChangeAvatarRsp = 970;
public static final int DungeonCandidateTeamChangeAvatarRsp = 923; public static final int DungeonCandidateTeamCreateReq = 942;
public static final int DungeonCandidateTeamCreateReq = 964;
public static final int DungeonCandidateTeamCreateRsp = 901; public static final int DungeonCandidateTeamCreateRsp = 901;
public static final int DungeonCandidateTeamDismissNotify = 980; public static final int DungeonCandidateTeamDismissNotify = 913;
public static final int DungeonCandidateTeamInfoNotify = 965; public static final int DungeonCandidateTeamInfoNotify = 912;
public static final int DungeonCandidateTeamInviteNotify = 903; public static final int DungeonCandidateTeamInviteNotify = 958;
public static final int DungeonCandidateTeamInviteReq = 966; public static final int DungeonCandidateTeamInviteReq = 911;
public static final int DungeonCandidateTeamInviteRsp = 973; public static final int DungeonCandidateTeamInviteRsp = 922;
public static final int DungeonCandidateTeamKickReq = 963; public static final int DungeonCandidateTeamKickReq = 954;
public static final int DungeonCandidateTeamKickRsp = 908; public static final int DungeonCandidateTeamKickRsp = 946;
public static final int DungeonCandidateTeamLeaveReq = 917; public static final int DungeonCandidateTeamLeaveReq = 933;
public static final int DungeonCandidateTeamLeaveRsp = 981; public static final int DungeonCandidateTeamLeaveRsp = 936;
public static final int DungeonCandidateTeamPlayerLeaveNotify = 920; public static final int DungeonCandidateTeamPlayerLeaveNotify = 920;
public static final int DungeonCandidateTeamRefuseNotify = 967; public static final int DungeonCandidateTeamRefuseNotify = 950;
public static final int DungeonCandidateTeamReplyInviteReq = 927; public static final int DungeonCandidateTeamReplyInviteReq = 928;
public static final int DungeonCandidateTeamReplyInviteRsp = 902; public static final int DungeonCandidateTeamReplyInviteRsp = 976;
public static final int DungeonCandidateTeamSetChangingAvatarReq = 954; public static final int DungeonCandidateTeamSetChangingAvatarReq = 908;
public static final int DungeonCandidateTeamSetChangingAvatarRsp = 935; public static final int DungeonCandidateTeamSetChangingAvatarRsp = 904;
public static final int DungeonCandidateTeamSetReadyReq = 952; public static final int DungeonCandidateTeamSetReadyReq = 972;
public static final int DungeonCandidateTeamSetReadyRsp = 992; public static final int DungeonCandidateTeamSetReadyRsp = 959;
public static final int DungeonChallengeBeginNotify = 974; public static final int DungeonChallengeBeginNotify = 990;
public static final int DungeonChallengeFinishNotify = 956; public static final int DungeonChallengeFinishNotify = 986;
public static final int DungeonDataNotify = 946; public static final int DungeonDataNotify = 945;
public static final int DungeonDieOptionReq = 991; public static final int DungeonDieOptionReq = 927;
public static final int DungeonDieOptionRsp = 997; public static final int DungeonDieOptionRsp = 907;
public static final int DungeonEntryInfoReq = 960; public static final int DungeonEntryInfoReq = 909;
public static final int DungeonEntryInfoRsp = 933; public static final int DungeonEntryInfoRsp = 931;
public static final int DungeonEntryToBeExploreNotify = 3067; public static final int DungeonEntryToBeExploreNotify = 3414;
public static final int DungeonFollowNotify = 926; public static final int DungeonFollowNotify = 924;
public static final int DungeonGetStatueDropReq = 962; public static final int DungeonGetStatueDropReq = 938;
public static final int DungeonGetStatueDropRsp = 989; public static final int DungeonGetStatueDropRsp = 906;
public static final int DungeonInterruptChallengeReq = 938; public static final int DungeonInterruptChallengeReq = 934;
public static final int DungeonInterruptChallengeRsp = 930; public static final int DungeonInterruptChallengeRsp = 902;
public static final int DungeonPlayerDieNotify = 979; public static final int DungeonPlayerDieNotify = 955;
public static final int DungeonPlayerDieReq = 928; public static final int DungeonPlayerDieReq = 997;
public static final int DungeonPlayerDieRsp = 955; public static final int DungeonPlayerDieRsp = 998;
public static final int DungeonRestartInviteNotify = 984; public static final int DungeonRestartInviteNotify = 977;
public static final int DungeonRestartInviteReplyNotify = 972; public static final int DungeonRestartInviteReplyNotify = 989;
public static final int DungeonRestartInviteReplyReq = 912; public static final int DungeonRestartInviteReplyReq = 943;
public static final int DungeonRestartInviteReplyRsp = 953; public static final int DungeonRestartInviteReplyRsp = 987;
public static final int DungeonRestartReq = 932; public static final int DungeonRestartReq = 993;
public static final int DungeonRestartResultNotify = 970; public static final int DungeonRestartResultNotify = 978;
public static final int DungeonRestartRsp = 951; public static final int DungeonRestartRsp = 960;
public static final int DungeonReviseLevelNotify = 957; public static final int DungeonReviseLevelNotify = 905;
public static final int DungeonSettleNotify = 934; public static final int DungeonSettleNotify = 982;
public static final int DungeonShowReminderNotify = 988; public static final int DungeonShowReminderNotify = 930;
public static final int DungeonSlipRevivePointActivateReq = 924; public static final int DungeonSlipRevivePointActivateReq = 983;
public static final int DungeonSlipRevivePointActivateRsp = 961; public static final int DungeonSlipRevivePointActivateRsp = 903;
public static final int DungeonWayPointActivateReq = 945; public static final int DungeonWayPointActivateReq = 935;
public static final int DungeonWayPointActivateRsp = 975; public static final int DungeonWayPointActivateRsp = 949;
public static final int DungeonWayPointNotify = 944; public static final int DungeonWayPointNotify = 985;
public static final int EchoNotify = 62; public static final int EchoNotify = 38;
public static final int EchoShellTakeRewardReq = 8801; public static final int EchoShellTakeRewardReq = 8074;
public static final int EchoShellTakeRewardRsp = 8888; public static final int EchoShellTakeRewardRsp = 8446;
public static final int EchoShellUpdateNotify = 8730; public static final int EchoShellUpdateNotify = 8077;
public static final int EffigyChallengeInfoNotify = 2159; public static final int EffigyChallengeInfoNotify = 2153;
public static final int EffigyChallengeResultNotify = 2024; public static final int EffigyChallengeResultNotify = 2064;
public static final int EndCameraSceneLookNotify = 238; public static final int EndCameraSceneLookNotify = 234;
public static final int EnterChessDungeonReq = 8336; public static final int EnterChessDungeonReq = 8571;
public static final int EnterChessDungeonRsp = 8581; public static final int EnterChessDungeonRsp = 8819;
public static final int EnterFishingReq = 5835; public static final int EnterFishingReq = 5818;
public static final int EnterFishingRsp = 5825; public static final int EnterFishingRsp = 5809;
public static final int EnterMechanicusDungeonReq = 3979; public static final int EnterMechanicusDungeonReq = 3955;
public static final int EnterMechanicusDungeonRsp = 3991; public static final int EnterMechanicusDungeonRsp = 3927;
public static final int EnterRoguelikeDungeonNotify = 8330; public static final int EnterRoguelikeDungeonNotify = 8646;
public static final int EnterSceneDoneReq = 268; public static final int EnterSceneDoneReq = 279;
public static final int EnterSceneDoneRsp = 290; public static final int EnterSceneDoneRsp = 269;
public static final int EnterScenePeerNotify = 282; public static final int EnterScenePeerNotify = 257;
public static final int EnterSceneReadyReq = 298; public static final int EnterSceneReadyReq = 244;
public static final int EnterSceneReadyRsp = 296; public static final int EnterSceneReadyRsp = 252;
public static final int EnterSceneWeatherAreaNotify = 258; public static final int EnterSceneWeatherAreaNotify = 284;
public static final int EnterTransPointRegionNotify = 255; public static final int EnterTransPointRegionNotify = 298;
public static final int EnterTrialAvatarActivityDungeonReq = 2031; public static final int EnterTrialAvatarActivityDungeonReq = 2057;
public static final int EnterTrialAvatarActivityDungeonRsp = 2175; public static final int EnterTrialAvatarActivityDungeonRsp = 2021;
public static final int EnterWorldAreaReq = 273; public static final int EnterWorldAreaReq = 222;
public static final int EnterWorldAreaRsp = 263; public static final int EnterWorldAreaRsp = 254;
public static final int EntityAiKillSelfNotify = 370; public static final int EntityAiKillSelfNotify = 378;
public static final int EntityAiSyncNotify = 312; public static final int EntityAiSyncNotify = 343;
public static final int EntityAuthorityChangeNotify = 303; public static final int EntityAuthorityChangeNotify = 358;
public static final int EntityConfigHashNotify = 3458; public static final int EntityConfigHashNotify = 3271;
public static final int EntityFightPropChangeReasonNotify = 1244; public static final int EntityFightPropChangeReasonNotify = 1285;
public static final int EntityFightPropNotify = 1210; public static final int EntityFightPropNotify = 1241;
public static final int EntityFightPropUpdateNotify = 1215; public static final int EntityFightPropUpdateNotify = 1237;
public static final int EntityForceSyncReq = 208; public static final int EntityForceSyncReq = 246;
public static final int EntityForceSyncRsp = 217; public static final int EntityForceSyncRsp = 233;
public static final int EntityJumpNotify = 226; public static final int EntityJumpNotify = 224;
public static final int EntityMoveRoomNotify = 3135; public static final int EntityMoveRoomNotify = 3209;
public static final int EntityPropNotify = 1260; public static final int EntityPropNotify = 1209;
public static final int EntityTagChangeNotify = 3262; public static final int EntityTagChangeNotify = 3273;
public static final int EquipRoguelikeRuneReq = 8579; public static final int EquipRoguelikeRuneReq = 8510;
public static final int EquipRoguelikeRuneRsp = 8412; public static final int EquipRoguelikeRuneRsp = 8516;
public static final int EvtAiSyncCombatThreatInfoNotify = 351; public static final int EvtAiSyncCombatThreatInfoNotify = 360;
public static final int EvtAiSyncSkillCdNotify = 317; public static final int EvtAiSyncSkillCdNotify = 333;
public static final int EvtAnimatorParameterNotify = 333; public static final int EvtAnimatorParameterNotify = 331;
public static final int EvtAnimatorStateChangedNotify = 379; public static final int EvtAnimatorStateChangedNotify = 355;
public static final int EvtAvatarEnterFocusNotify = 389; public static final int EvtAvatarEnterFocusNotify = 306;
public static final int EvtAvatarExitFocusNotify = 309; public static final int EvtAvatarExitFocusNotify = 319;
public static final int EvtAvatarLockChairReq = 354; public static final int EvtAvatarLockChairReq = 308;
public static final int EvtAvatarLockChairRsp = 335; public static final int EvtAvatarLockChairRsp = 304;
public static final int EvtAvatarSitDownNotify = 392; public static final int EvtAvatarSitDownNotify = 359;
public static final int EvtAvatarStandUpNotify = 358; public static final int EvtAvatarStandUpNotify = 384;
public static final int EvtAvatarUpdateFocusNotify = 365; public static final int EvtAvatarUpdateFocusNotify = 312;
public static final int EvtBeingHitNotify = 360; public static final int EvtBeingHitNotify = 309;
public static final int EvtBeingHitsCombineNotify = 381; public static final int EvtBeingHitsCombineNotify = 336;
public static final int EvtBulletDeactiveNotify = 388; public static final int EvtBulletDeactiveNotify = 330;
public static final int EvtBulletHitNotify = 397; public static final int EvtBulletHitNotify = 307;
public static final int EvtBulletMoveNotify = 362; public static final int EvtBulletMoveNotify = 338;
public static final int EvtCostStaminaNotify = 375; public static final int EvtCostStaminaNotify = 349;
public static final int EvtCreateGadgetNotify = 337; public static final int EvtCreateGadgetNotify = 332;
public static final int EvtDestroyGadgetNotify = 393; public static final int EvtDestroyGadgetNotify = 317;
public static final int EvtDestroyServerGadgetNotify = 372; public static final int EvtDestroyServerGadgetNotify = 389;
public static final int EvtDoSkillSuccNotify = 315; public static final int EvtDoSkillSuccNotify = 337;
public static final int EvtEntityRenderersChangedNotify = 363; public static final int EvtEntityRenderersChangedNotify = 354;
public static final int EvtEntityStartDieEndNotify = 328; public static final int EvtEntityStartDieEndNotify = 397;
public static final int EvtFaceToDirNotify = 345; public static final int EvtFaceToDirNotify = 335;
public static final int EvtFaceToEntityNotify = 344; public static final int EvtFaceToEntityNotify = 385;
public static final int EvtRushMoveNotify = 391; public static final int EvtRushMoveNotify = 327;
public static final int EvtSetAttackTargetNotify = 334; public static final int EvtSetAttackTargetNotify = 382;
public static final int ExclusiveRuleNotify = 169; public static final int ExclusiveRuleNotify = 123;
public static final int ExecuteGadgetLuaReq = 231; public static final int ExecuteGadgetLuaReq = 267;
public static final int ExecuteGadgetLuaRsp = 240; public static final int ExecuteGadgetLuaRsp = 271;
public static final int ExecuteGroupTriggerReq = 284; public static final int ExecuteGroupTriggerReq = 277;
public static final int ExecuteGroupTriggerRsp = 212; public static final int ExecuteGroupTriggerRsp = 243;
public static final int ExitFishingReq = 5812; public static final int ExitFishingReq = 5814;
public static final int ExitFishingRsp = 5839; public static final int ExitFishingRsp = 5812;
public static final int ExitSceneWeatherAreaNotify = 223; public static final int ExitSceneWeatherAreaNotify = 270;
public static final int ExitTransPointRegionNotify = 246; public static final int ExitTransPointRegionNotify = 245;
public static final int ExpeditionChallengeEnterRegionNotify = 2095; public static final int ExpeditionChallengeEnterRegionNotify = 2050;
public static final int ExpeditionChallengeFinishedNotify = 2197; public static final int ExpeditionChallengeFinishedNotify = 2034;
public static final int ExpeditionRecallReq = 2114; public static final int ExpeditionRecallReq = 2122;
public static final int ExpeditionRecallRsp = 2108; public static final int ExpeditionRecallRsp = 2156;
public static final int ExpeditionStartReq = 2032; public static final int ExpeditionStartReq = 2026;
public static final int ExpeditionStartRsp = 2148; public static final int ExpeditionStartRsp = 2163;
public static final int ExpeditionTakeRewardReq = 2053; public static final int ExpeditionTakeRewardReq = 2173;
public static final int ExpeditionTakeRewardRsp = 2181; public static final int ExpeditionTakeRewardRsp = 2196;
public static final int FindHilichurlAcceptQuestNotify = 8292; public static final int FindHilichurlAcceptQuestNotify = 8465;
public static final int FindHilichurlFinishSecondQuestNotify = 8799; public static final int FindHilichurlFinishSecondQuestNotify = 8981;
public static final int FinishDeliveryNotify = 2126; public static final int FinishDeliveryNotify = 2158;
public static final int FinishedParentQuestNotify = 415; public static final int FinishedParentQuestNotify = 437;
public static final int FinishedParentQuestUpdateNotify = 437; public static final int FinishedParentQuestUpdateNotify = 432;
public static final int FinishMainCoopReq = 1963; public static final int FinishMainCoopReq = 1978;
public static final int FinishMainCoopRsp = 1951; public static final int FinishMainCoopRsp = 1953;
public static final int FishAttractNotify = 5821; public static final int FishAttractNotify = 5846;
public static final int FishBaitGoneNotify = 5846; public static final int FishBaitGoneNotify = 5827;
public static final int FishBattleBeginReq = 5815; public static final int FishBattleBeginReq = 5802;
public static final int FishBattleBeginRsp = 5827; public static final int FishBattleBeginRsp = 5813;
public static final int FishBattleEndReq = 5837; public static final int FishBattleEndReq = 5837;
public static final int FishBattleEndRsp = 5806; public static final int FishBattleEndRsp = 5832;
public static final int FishBiteReq = 5843; public static final int FishBiteReq = 5816;
public static final int FishBiteRsp = 5826; public static final int FishBiteRsp = 5801;
public static final int FishCastRodReq = 5813; public static final int FishCastRodReq = 5828;
public static final int FishCastRodRsp = 5801; public static final int FishCastRodRsp = 5803;
public static final int FishChosenNotify = 5817; public static final int FishChosenNotify = 5826;
public static final int FishEscapeNotify = 5836; public static final int FishEscapeNotify = 5847;
public static final int FishingGallerySettleNotify = 8870; public static final int FishingGallerySettleNotify = 8896;
public static final int FishPoolDataNotify = 5850; public static final int FishPoolDataNotify = 5811;
public static final int FleurFairBalloonSettleNotify = 2192; public static final int FleurFairBalloonSettleNotify = 2139;
public static final int FleurFairBuffEnergyNotify = 5392; public static final int FleurFairBuffEnergyNotify = 5359;
public static final int FleurFairFallSettleNotify = 2015; public static final int FleurFairFallSettleNotify = 2097;
public static final int FleurFairFinishGalleryStageNotify = 5323; public static final int FleurFairFinishGalleryStageNotify = 5370;
public static final int FleurFairMusicGameSettleReq = 2064; public static final int FleurFairMusicGameSettleReq = 2115;
public static final int FleurFairMusicGameSettleRsp = 2040; public static final int FleurFairMusicGameSettleRsp = 2124;
public static final int FleurFairMusicGameStartReq = 2105; public static final int FleurFairMusicGameStartReq = 2171;
public static final int FleurFairMusicGameStartRsp = 2179; public static final int FleurFairMusicGameStartRsp = 2149;
public static final int FleurFairReplayMiniGameReq = 2146; public static final int FleurFairReplayMiniGameReq = 2152;
public static final int FleurFairReplayMiniGameRsp = 2089; public static final int FleurFairReplayMiniGameRsp = 2101;
public static final int FleurFairStageSettleNotify = 5358; public static final int FleurFairStageSettleNotify = 5384;
public static final int FlightActivityRestartReq = 2073; public static final int FlightActivityRestartReq = 2164;
public static final int FlightActivityRestartRsp = 2045; public static final int FlightActivityRestartRsp = 2002;
public static final int FlightActivitySettleNotify = 2195; public static final int FlightActivitySettleNotify = 2084;
public static final int FocusAvatarReq = 1710; public static final int FocusAvatarReq = 1652;
public static final int FocusAvatarRsp = 1772; public static final int FocusAvatarRsp = 1612;
public static final int ForceAddPlayerFriendReq = 4084; public static final int ForceAddPlayerFriendReq = 4077;
public static final int ForceAddPlayerFriendRsp = 4012; public static final int ForceAddPlayerFriendRsp = 4043;
public static final int ForceDragAvatarNotify = 3056; public static final int ForceDragAvatarNotify = 3425;
public static final int ForceDragBackTransferNotify = 3171; public static final int ForceDragBackTransferNotify = 3088;
public static final int ForgeDataNotify = 677; public static final int ForgeDataNotify = 648;
public static final int ForgeFormulaDataNotify = 625; public static final int ForgeFormulaDataNotify = 673;
public static final int ForgeGetQueueDataReq = 681; public static final int ForgeGetQueueDataReq = 636;
public static final int ForgeGetQueueDataRsp = 627; public static final int ForgeGetQueueDataRsp = 628;
public static final int ForgeQueueDataNotify = 617; public static final int ForgeQueueDataNotify = 633;
public static final int ForgeQueueManipulateReq = 692; public static final int ForgeQueueManipulateReq = 659;
public static final int ForgeQueueManipulateRsp = 658; public static final int ForgeQueueManipulateRsp = 684;
public static final int ForgeStartReq = 602; public static final int ForgeStartReq = 676;
public static final int ForgeStartRsp = 652; public static final int ForgeStartRsp = 672;
public static final int FoundationNotify = 874; public static final int FoundationNotify = 890;
public static final int FoundationReq = 855; public static final int FoundationReq = 898;
public static final int FoundationRsp = 846; public static final int FoundationRsp = 845;
public static final int FriendInfoChangeNotify = 4085; public static final int FriendInfoChangeNotify = 4088;
public static final int FunitureMakeMakeInfoChangeNotify = 4523; public static final int FunitureMakeMakeInfoChangeNotify = 4488;
public static final int FurnitureCurModuleArrangeCountNotify = 4770; public static final int FurnitureCurModuleArrangeCountNotify = 4681;
public static final int FurnitureMakeBeHelpedNotify = 4825; public static final int FurnitureMakeBeHelpedNotify = 4626;
public static final int FurnitureMakeCancelReq = 4495; public static final int FurnitureMakeCancelReq = 4834;
public static final int FurnitureMakeCancelRsp = 4814; public static final int FurnitureMakeCancelRsp = 4660;
public static final int FurnitureMakeFinishNotify = 4707; public static final int FurnitureMakeFinishNotify = 4557;
public static final int FurnitureMakeHelpReq = 4779; public static final int FurnitureMakeHelpReq = 4580;
public static final int FurnitureMakeHelpRsp = 4455; public static final int FurnitureMakeHelpRsp = 4722;
public static final int FurnitureMakeReq = 4885; public static final int FurnitureMakeReq = 4551;
public static final int FurnitureMakeRsp = 4819; public static final int FurnitureMakeRsp = 4530;
public static final int FurnitureMakeStartReq = 4518; public static final int FurnitureMakeStartReq = 4582;
public static final int FurnitureMakeStartRsp = 4521; public static final int FurnitureMakeStartRsp = 4463;
public static final int GachaOpenWishNotify = 1544; public static final int GachaOpenWishNotify = 1585;
public static final int GachaSimpleInfoNotify = 1545; public static final int GachaSimpleInfoNotify = 1535;
public static final int GachaWishReq = 1537; public static final int GachaWishReq = 1532;
public static final int GachaWishRsp = 1593; public static final int GachaWishRsp = 1517;
public static final int GadgetAutoPickDropInfoNotify = 888; public static final int GadgetAutoPickDropInfoNotify = 830;
public static final int GadgetChainLevelChangeNotify = 826; public static final int GadgetChainLevelChangeNotify = 824;
public static final int GadgetChainLevelUpdateNotify = 883; public static final int GadgetChainLevelUpdateNotify = 863;
public static final int GadgetCustomTreeInfoNotify = 873; public static final int GadgetCustomTreeInfoNotify = 822;
public static final int GadgetGeneralRewardInfoNotify = 897; public static final int GadgetGeneralRewardInfoNotify = 807;
public static final int GadgetInteractReq = 860; public static final int GadgetInteractReq = 809;
public static final int GadgetInteractRsp = 833; public static final int GadgetInteractRsp = 831;
public static final int GadgetPlayDataNotify = 879; public static final int GadgetPlayDataNotify = 855;
public static final int GadgetPlayStartNotify = 875; public static final int GadgetPlayStartNotify = 849;
public static final int GadgetPlayStopNotify = 834; public static final int GadgetPlayStopNotify = 882;
public static final int GadgetPlayUidOpNotify = 891; public static final int GadgetPlayUidOpNotify = 827;
public static final int GadgetStateNotify = 810; public static final int GadgetStateNotify = 841;
public static final int GadgetTalkChangeNotify = 856; public static final int GadgetTalkChangeNotify = 886;
public static final int GalleryBalloonScoreNotify = 5510; public static final int GalleryBalloonScoreNotify = 5541;
public static final int GalleryBalloonShootNotify = 5533; public static final int GalleryBalloonShootNotify = 5531;
public static final int GalleryBounceConjuringHitNotify = 5555; public static final int GalleryBounceConjuringHitNotify = 5598;
public static final int GalleryBrokenFloorFallNotify = 5591; public static final int GalleryBrokenFloorFallNotify = 5527;
public static final int GalleryBulletHitNotify = 5579; public static final int GalleryBulletHitNotify = 5555;
public static final int GalleryFallCatchNotify = 5537; public static final int GalleryFallCatchNotify = 5532;
public static final int GalleryFallScoreNotify = 5593; public static final int GalleryFallScoreNotify = 5517;
public static final int GalleryFlowerCatchNotify = 5575; public static final int GalleryFlowerCatchNotify = 5549;
public static final int GalleryPreStartNotify = 5534; public static final int GalleryPreStartNotify = 5582;
public static final int GalleryStartNotify = 5560; public static final int GalleryStartNotify = 5509;
public static final int GalleryStopNotify = 5515; public static final int GalleryStopNotify = 5537;
public static final int GallerySumoKillMonsterNotify = 5546; public static final int GallerySumoKillMonsterNotify = 5545;
public static final int GetActivityInfoReq = 2011; public static final int GetActivityInfoReq = 2067;
public static final int GetActivityInfoRsp = 2170; public static final int GetActivityInfoRsp = 2144;
public static final int GetActivityScheduleReq = 2663; public static final int GetActivityScheduleReq = 2049;
public static final int GetActivityScheduleRsp = 2651; public static final int GetActivityScheduleRsp = 2044;
public static final int GetActivityShopSheetInfoReq = 744; public static final int GetActivityShopSheetInfoReq = 785;
public static final int GetActivityShopSheetInfoRsp = 745; public static final int GetActivityShopSheetInfoRsp = 735;
public static final int GetAllActivatedBargainDataReq = 480; public static final int GetAllActivatedBargainDataReq = 413;
public static final int GetAllActivatedBargainDataRsp = 464; public static final int GetAllActivatedBargainDataRsp = 442;
public static final int GetAllH5ActivityInfoReq = 5675; public static final int GetAllH5ActivityInfoReq = 5659;
public static final int GetAllH5ActivityInfoRsp = 5685; public static final int GetAllH5ActivityInfoRsp = 5668;
public static final int GetAllMailReq = 1479; public static final int GetAllMailReq = 1455;
public static final int GetAllMailRsp = 1491; public static final int GetAllMailRsp = 1427;
public static final int GetAllSceneGalleryInfoReq = 5544; public static final int GetAllSceneGalleryInfoReq = 5585;
public static final int GetAllSceneGalleryInfoRsp = 5545; public static final int GetAllSceneGalleryInfoRsp = 5535;
public static final int GetAllUnlockNameCardReq = 4065; public static final int GetAllUnlockNameCardReq = 4012;
public static final int GetAllUnlockNameCardRsp = 4003; public static final int GetAllUnlockNameCardRsp = 4058;
public static final int GetAreaExplorePointReq = 227; public static final int GetAreaExplorePointReq = 228;
public static final int GetAreaExplorePointRsp = 202; public static final int GetAreaExplorePointRsp = 276;
public static final int GetAuthkeyReq = 1445; public static final int GetAuthkeyReq = 1435;
public static final int GetAuthkeyRsp = 1475; public static final int GetAuthkeyRsp = 1449;
public static final int GetAuthSalesmanInfoReq = 2082; public static final int GetAuthSalesmanInfoReq = 2161;
public static final int GetAuthSalesmanInfoRsp = 2173; public static final int GetAuthSalesmanInfoRsp = 2039;
public static final int GetBargainDataReq = 467; public static final int GetBargainDataReq = 450;
public static final int GetBargainDataRsp = 420; public static final int GetBargainDataRsp = 420;
public static final int GetBattlePassProductReq = 2643; public static final int GetBattlePassProductReq = 2616;
public static final int GetBattlePassProductRsp = 2626; public static final int GetBattlePassProductRsp = 2601;
public static final int GetBlossomBriefInfoListReq = 2760; public static final int GetBlossomBriefInfoListReq = 2709;
public static final int GetBlossomBriefInfoListRsp = 2733; public static final int GetBlossomBriefInfoListRsp = 2731;
public static final int GetBonusActivityRewardReq = 2528; public static final int GetBonusActivityRewardReq = 2597;
public static final int GetBonusActivityRewardRsp = 2555; public static final int GetBonusActivityRewardRsp = 2598;
public static final int GetChatEmojiCollectionReq = 4057; public static final int GetChatEmojiCollectionReq = 4005;
public static final int GetChatEmojiCollectionRsp = 4043; public static final int GetChatEmojiCollectionRsp = 4010;
public static final int GetCityHuntingOfferReq = 4456; public static final int GetCityHuntingOfferReq = 4343;
public static final int GetCityHuntingOfferRsp = 4747; public static final int GetCityHuntingOfferRsp = 4304;
public static final int GetCityReputationInfoReq = 2860; public static final int GetCityReputationInfoReq = 2809;
public static final int GetCityReputationInfoRsp = 2833; public static final int GetCityReputationInfoRsp = 2831;
public static final int GetCityReputationMapInfoReq = 2891; public static final int GetCityReputationMapInfoReq = 2827;
public static final int GetCityReputationMapInfoRsp = 2897; public static final int GetCityReputationMapInfoRsp = 2807;
public static final int GetCompoundDataReq = 127; public static final int GetCompoundDataReq = 128;
public static final int GetCompoundDataRsp = 102; public static final int GetCompoundDataRsp = 176;
public static final int GetDailyDungeonEntryInfoReq = 913; public static final int GetDailyDungeonEntryInfoReq = 929;
public static final int GetDailyDungeonEntryInfoRsp = 936; public static final int GetDailyDungeonEntryInfoRsp = 925;
public static final int GetDungeonEntryExploreConditionReq = 3208; public static final int GetDungeonEntryExploreConditionReq = 3136;
public static final int GetDungeonEntryExploreConditionRsp = 3391; public static final int GetDungeonEntryExploreConditionRsp = 3099;
public static final int GetExpeditionAssistInfoListReq = 2124; public static final int GetExpeditionAssistInfoListReq = 2181;
public static final int GetExpeditionAssistInfoListRsp = 2168; public static final int GetExpeditionAssistInfoListRsp = 2045;
public static final int GetFriendShowAvatarInfoReq = 4061; public static final int GetFriendShowAvatarInfoReq = 4003;
public static final int GetFriendShowAvatarInfoRsp = 4038; public static final int GetFriendShowAvatarInfoRsp = 4034;
public static final int GetFriendShowNameCardInfoReq = 4032; public static final int GetFriendShowNameCardInfoReq = 4093;
public static final int GetFriendShowNameCardInfoRsp = 4051; public static final int GetFriendShowNameCardInfoRsp = 4060;
public static final int GetFurnitureCurModuleArrangeCountReq = 4618; public static final int GetFurnitureCurModuleArrangeCountReq = 4603;
public static final int GetGachaInfoReq = 1560; public static final int GetGachaInfoReq = 1509;
public static final int GetGachaInfoRsp = 1533; public static final int GetGachaInfoRsp = 1531;
public static final int GetHomeLevelUpRewardReq = 4508; public static final int GetHomeLevelUpRewardReq = 4747;
public static final int GetHomeLevelUpRewardRsp = 4864; public static final int GetHomeLevelUpRewardRsp = 4517;
public static final int GetHuntingOfferRewardReq = 4769; public static final int GetHuntingOfferRewardReq = 4328;
public static final int GetHuntingOfferRewardRsp = 4860; public static final int GetHuntingOfferRewardRsp = 4303;
public static final int GetInvestigationMonsterReq = 1928; public static final int GetInvestigationMonsterReq = 1902;
public static final int GetInvestigationMonsterRsp = 1921; public static final int GetInvestigationMonsterRsp = 1911;
public static final int GetMailItemReq = 1415; public static final int GetMailItemReq = 1437;
public static final int GetMailItemRsp = 1437; public static final int GetMailItemRsp = 1432;
public static final int GetMapAreaReq = 3269; public static final int GetMapAreaReq = 3466;
public static final int GetMapAreaRsp = 3366; public static final int GetMapAreaRsp = 3012;
public static final int GetMapMarkTipsReq = 3307; public static final int GetMapMarkTipsReq = 3329;
public static final int GetMapMarkTipsRsp = 3040; public static final int GetMapMarkTipsRsp = 3118;
public static final int GetMechanicusInfoReq = 3960; public static final int GetMechanicusInfoReq = 3909;
public static final int GetMechanicusInfoRsp = 3933; public static final int GetMechanicusInfoRsp = 3931;
public static final int GetNextResourceInfoReq = 139; public static final int GetNextResourceInfoReq = 153;
public static final int GetNextResourceInfoRsp = 187; public static final int GetNextResourceInfoRsp = 139;
public static final int GetOnlinePlayerInfoReq = 46; public static final int GetOnlinePlayerInfoReq = 45;
public static final int GetOnlinePlayerInfoRsp = 74; public static final int GetOnlinePlayerInfoRsp = 90;
public static final int GetOnlinePlayerListReq = 45; public static final int GetOnlinePlayerListReq = 35;
public static final int GetOnlinePlayerListRsp = 75; public static final int GetOnlinePlayerListRsp = 49;
public static final int GetOpActivityInfoReq = 5160; public static final int GetOpActivityInfoReq = 5109;
public static final int GetOpActivityInfoRsp = 5133; public static final int GetOpActivityInfoRsp = 5131;
public static final int GetPlayerAskFriendListReq = 4054; public static final int GetPlayerAskFriendListReq = 4008;
public static final int GetPlayerAskFriendListRsp = 4035; public static final int GetPlayerAskFriendListRsp = 4004;
public static final int GetPlayerBlacklistReq = 4002; public static final int GetPlayerBlacklistReq = 4076;
public static final int GetPlayerBlacklistRsp = 4052; public static final int GetPlayerBlacklistRsp = 4072;
public static final int GetPlayerFriendListReq = 4060; public static final int GetPlayerFriendListReq = 4009;
public static final int GetPlayerFriendListRsp = 4033; public static final int GetPlayerFriendListRsp = 4031;
public static final int GetPlayerHomeCompInfoReq = 4540; public static final int GetPlayerHomeCompInfoReq = 4845;
public static final int GetPlayerMpModeAvailabilityReq = 1843; public static final int GetPlayerMpModeAvailabilityReq = 1816;
public static final int GetPlayerMpModeAvailabilityRsp = 1826; public static final int GetPlayerMpModeAvailabilityRsp = 1801;
public static final int GetPlayerSocialDetailReq = 4075; public static final int GetPlayerSocialDetailReq = 4049;
public static final int GetPlayerSocialDetailRsp = 4034; public static final int GetPlayerSocialDetailRsp = 4082;
public static final int GetPlayerTokenReq = 160; public static final int GetPlayerTokenReq = 109;
public static final int GetPlayerTokenRsp = 133; public static final int GetPlayerTokenRsp = 131;
public static final int GetPushTipsRewardReq = 2265; public static final int GetPushTipsRewardReq = 2212;
public static final int GetPushTipsRewardRsp = 2203; public static final int GetPushTipsRewardRsp = 2258;
public static final int GetQuestTalkHistoryReq = 445; public static final int GetQuestTalkHistoryReq = 435;
public static final int GetQuestTalkHistoryRsp = 475; public static final int GetQuestTalkHistoryRsp = 449;
public static final int GetRecentMpPlayerListReq = 4066; public static final int GetRecentMpPlayerListReq = 4011;
public static final int GetRecentMpPlayerListRsp = 4073; public static final int GetRecentMpPlayerListRsp = 4022;
public static final int GetRegionSearchReq = 5613; public static final int GetRegionSearchReq = 5628;
public static final int GetReunionMissionInfoReq = 5093; public static final int GetReunionMissionInfoReq = 5066;
public static final int GetReunionMissionInfoRsp = 5076; public static final int GetReunionMissionInfoRsp = 5051;
public static final int GetReunionPrivilegeInfoReq = 5089; public static final int GetReunionPrivilegeInfoReq = 5062;
public static final int GetReunionPrivilegeInfoRsp = 5071; public static final int GetReunionPrivilegeInfoRsp = 5096;
public static final int GetReunionSignInInfoReq = 5063; public static final int GetReunionSignInInfoReq = 5078;
public static final int GetReunionSignInInfoRsp = 5051; public static final int GetReunionSignInInfoRsp = 5053;
public static final int GetSceneAreaReq = 262; public static final int GetSceneAreaReq = 238;
public static final int GetSceneAreaRsp = 289; public static final int GetSceneAreaRsp = 206;
public static final int GetSceneNpcPositionReq = 515; public static final int GetSceneNpcPositionReq = 537;
public static final int GetSceneNpcPositionRsp = 537; public static final int GetSceneNpcPositionRsp = 532;
public static final int GetScenePerformanceReq = 3217; public static final int GetScenePerformanceReq = 3340;
public static final int GetScenePerformanceRsp = 3319; public static final int GetScenePerformanceRsp = 3447;
public static final int GetScenePointReq = 288; public static final int GetScenePointReq = 230;
public static final int GetScenePointRsp = 228; public static final int GetScenePointRsp = 297;
public static final int GetShopmallDataReq = 737; public static final int GetShopmallDataReq = 732;
public static final int GetShopmallDataRsp = 793; public static final int GetShopmallDataRsp = 717;
public static final int GetShopReq = 760; public static final int GetShopReq = 709;
public static final int GetShopRsp = 733; public static final int GetShopRsp = 731;
public static final int GetSignInRewardReq = 2537; public static final int GetSignInRewardReq = 2532;
public static final int GetSignInRewardRsp = 2593; public static final int GetSignInRewardRsp = 2517;
public static final int GetWidgetSlotReq = 4258; public static final int GetWidgetSlotReq = 4267;
public static final int GetWidgetSlotRsp = 4294; public static final int GetWidgetSlotRsp = 4300;
public static final int GetWorldMpInfoReq = 3439; public static final int GetWorldMpInfoReq = 3264;
public static final int GetWorldMpInfoRsp = 3424; public static final int GetWorldMpInfoRsp = 3179;
public static final int GiveUpRoguelikeDungeonCardReq = 8425; public static final int GiveUpRoguelikeDungeonCardReq = 8977;
public static final int GiveUpRoguelikeDungeonCardRsp = 8976; public static final int GiveUpRoguelikeDungeonCardRsp = 8583;
public static final int GivingRecordChangeNotify = 172; public static final int GivingRecordChangeNotify = 189;
public static final int GivingRecordNotify = 153; public static final int GivingRecordNotify = 187;
public static final int GMShowNavMeshReq = 2384; public static final int GMShowNavMeshReq = 2377;
public static final int GMShowNavMeshRsp = 2312; public static final int GMShowNavMeshRsp = 2343;
public static final int GMShowObstacleReq = 2332; public static final int GMShowObstacleReq = 2393;
public static final int GMShowObstacleRsp = 2351; public static final int GMShowObstacleRsp = 2360;
public static final int GmTalkNotify = 3; public static final int GmTalkNotify = 58;
public static final int GmTalkReq = 33; public static final int GmTalkReq = 31;
public static final int GmTalkRsp = 10; public static final int GmTalkRsp = 41;
public static final int GrantRewardNotify = 680; public static final int GrantRewardNotify = 613;
public static final int GroupLinkAllNotify = 5785; public static final int GroupLinkAllNotify = 5768;
public static final int GroupLinkChangeNotify = 5775; public static final int GroupLinkChangeNotify = 5759;
public static final int GroupLinkDeleteNotify = 5795; public static final int GroupLinkDeleteNotify = 5793;
public static final int GroupSuiteNotify = 3368; public static final int GroupSuiteNotify = 3476;
public static final int GroupUnloadNotify = 3019; public static final int GroupUnloadNotify = 3416;
public static final int GuestBeginEnterSceneNotify = 3033; public static final int GuestBeginEnterSceneNotify = 3125;
public static final int GuestPostEnterSceneNotify = 3198; public static final int GuestPostEnterSceneNotify = 3379;
public static final int H5ActivityIdsNotify = 5695; public static final int H5ActivityIdsNotify = 5693;
public static final int HideAndSeekPlayerReadyNotify = 5330; public static final int HideAndSeekPlayerReadyNotify = 5302;
public static final int HideAndSeekPlayerSetAvatarNotify = 5347; public static final int HideAndSeekPlayerSetAvatarNotify = 5316;
public static final int HideAndSeekSelectAvatarReq = 5313; public static final int HideAndSeekSelectAvatarReq = 5329;
public static final int HideAndSeekSelectAvatarRsp = 5336; public static final int HideAndSeekSelectAvatarRsp = 5325;
public static final int HideAndSeekSelectSkillReq = 8689; public static final int HideAndSeekSelectSkillReq = 8307;
public static final int HideAndSeekSelectSkillRsp = 8948; public static final int HideAndSeekSelectSkillRsp = 8227;
public static final int HideAndSeekSetReadyReq = 5324; public static final int HideAndSeekSetReadyReq = 5383;
public static final int HideAndSeekSetReadyRsp = 5361; public static final int HideAndSeekSetReadyRsp = 5303;
public static final int HideAndSeekSettleNotify = 5338; public static final int HideAndSeekSettleNotify = 5334;
public static final int HitClientTrivialNotify = 250; public static final int HitClientTrivialNotify = 218;
public static final int HitTreeNotify = 3432; public static final int HitTreeNotify = 3222;
public static final int HomeAvatarAllFinishRewardNotify = 4612; public static final int HomeAvatarAllFinishRewardNotify = 4648;
public static final int HomeAvatarCostumeChangeNotify = 4888; public static final int HomeAvatarCostumeChangeNotify = 4685;
public static final int HomeAvatarRewardEventGetReq = 4568; public static final int HomeAvatarRewardEventGetReq = 4775;
public static final int HomeAvatarRewardEventGetRsp = 4453; public static final int HomeAvatarRewardEventGetRsp = 4873;
public static final int HomeAvatarRewardEventNotify = 4801; public static final int HomeAvatarRewardEventNotify = 4789;
public static final int HomeAvatarSummonAllEventNotify = 4575; public static final int HomeAvatarSummonAllEventNotify = 4617;
public static final int HomeAvatarSummonEventReq = 4871; public static final int HomeAvatarSummonEventReq = 4615;
public static final int HomeAvatarSummonEventRsp = 4895; public static final int HomeAvatarSummonEventRsp = 4498;
public static final int HomeAvatarSummonFinishReq = 4654; public static final int HomeAvatarSummonFinishReq = 4748;
public static final int HomeAvatarSummonFinishRsp = 4503; public static final int HomeAvatarSummonFinishRsp = 4782;
public static final int HomeAvatarTalkFinishInfoNotify = 4800; public static final int HomeAvatarTalkFinishInfoNotify = 4502;
public static final int HomeAvatarTalkReq = 4610; public static final int HomeAvatarTalkReq = 4712;
public static final int HomeAvatarTalkRsp = 4507; public static final int HomeAvatarTalkRsp = 4700;
public static final int HomeAvtarAllFinishRewardNotify = 4546; public static final int HomeAvtarAllFinishRewardNotify = 4849;
public static final int HomeBasicInfoNotify = 4869; public static final int HomeBasicInfoNotify = 4872;
public static final int HomeBlockNotify = 4784; public static final int HomeBlockNotify = 4542;
public static final int HomeChangeEditModeReq = 4483; public static final int HomeChangeEditModeReq = 4625;
public static final int HomeChangeEditModeRsp = 4880; public static final int HomeChangeEditModeRsp = 4885;
public static final int HomeChangeModuleReq = 4604; public static final int HomeChangeModuleReq = 4688;
public static final int HomeChangeModuleRsp = 4631; public static final int HomeChangeModuleRsp = 4821;
public static final int HomeChooseModuleReq = 4567; public static final int HomeChooseModuleReq = 4479;
public static final int HomeChooseModuleRsp = 4633; public static final int HomeChooseModuleRsp = 4745;
public static final int HomeComfortInfoNotify = 4649; public static final int HomeComfortInfoNotify = 4649;
public static final int HomeCustomFurnitureInfoNotify = 4636; public static final int HomeCustomFurnitureInfoNotify = 4482;
public static final int HomeEditCustomFurnitureReq = 4621; public static final int HomeEditCustomFurnitureReq = 4516;
public static final int HomeEditCustomFurnitureRsp = 4804; public static final int HomeEditCustomFurnitureRsp = 4871;
public static final int HomeFishFarmingInfoNotify = 4893; public static final int HomeFishFarmingInfoNotify = 4682;
public static final int HomeGetArrangementInfoReq = 4480; public static final int HomeGetArrangementInfoReq = 4848;
public static final int HomeGetArrangementInfoRsp = 4781; public static final int HomeGetArrangementInfoRsp = 4456;
public static final int HomeGetBasicInfoReq = 4839; public static final int HomeGetBasicInfoReq = 4535;
public static final int HomeGetFishFarmingInfoReq = 4848; public static final int HomeGetFishFarmingInfoReq = 4455;
public static final int HomeGetFishFarmingInfoRsp = 4451; public static final int HomeGetFishFarmingInfoRsp = 4889;
public static final int HomeGetOnlineStatusReq = 4673; public static final int HomeGetOnlineStatusReq = 4796;
public static final int HomeGetOnlineStatusRsp = 4626; public static final int HomeGetOnlineStatusRsp = 4554;
public static final int HomeKickPlayerReq = 4547; public static final int HomeKickPlayerReq = 4809;
public static final int HomeKickPlayerRsp = 4897; public static final int HomeKickPlayerRsp = 4752;
public static final int HomeLimitedShopBuyGoodsReq = 4620; public static final int HomeLimitedShopBuyGoodsReq = 4638;
public static final int HomeLimitedShopBuyGoodsRsp = 4667; public static final int HomeLimitedShopBuyGoodsRsp = 4790;
public static final int HomeLimitedShopGoodsListReq = 4706; public static final int HomeLimitedShopGoodsListReq = 4579;
public static final int HomeLimitedShopGoodsListRsp = 4587; public static final int HomeLimitedShopGoodsListRsp = 4846;
public static final int HomeLimitedShopInfoChangeNotify = 4691; public static final int HomeLimitedShopInfoChangeNotify = 4814;
public static final int HomeLimitedShopInfoNotify = 4679; public static final int HomeLimitedShopInfoNotify = 4621;
public static final int HomeLimitedShopInfoReq = 4715; public static final int HomeLimitedShopInfoReq = 4616;
public static final int HomeLimitedShopInfoRsp = 4808; public static final int HomeLimitedShopInfoRsp = 4585;
public static final int HomeMarkPointNotify = 4764; public static final int HomeMarkPointNotify = 4746;
public static final int HomeModuleSeenReq = 4642; public static final int HomeModuleSeenReq = 4546;
public static final int HomeModuleSeenRsp = 4688; public static final int HomeModuleSeenRsp = 4526;
public static final int HomeModuleUnlockNotify = 4778; public static final int HomeModuleUnlockNotify = 4781;
public static final int HomePlantFieldNotify = 4529; public static final int HomePlantFieldNotify = 4466;
public static final int HomePlantInfoNotify = 4832; public static final int HomePlantInfoNotify = 4835;
public static final int HomePlantInfoReq = 4771; public static final int HomePlantInfoReq = 4833;
public static final int HomePlantInfoRsp = 4806; public static final int HomePlantInfoRsp = 4859;
public static final int HomePlantSeedReq = 4730; public static final int HomePlantSeedReq = 4614;
public static final int HomePlantSeedRsp = 4857; public static final int HomePlantSeedRsp = 4804;
public static final int HomePlantWeedReq = 4760; public static final int HomePlantWeedReq = 4877;
public static final int HomePlantWeedRsp = 4463; public static final int HomePlantWeedRsp = 4575;
public static final int HomePriorCheckNotify = 4601; public static final int HomePriorCheckNotify = 4690;
public static final int HomeResourceNotify = 4513; public static final int HomeResourceNotify = 4806;
public static final int HomeResourceTakeFetterExpReq = 4884; public static final int HomeResourceTakeFetterExpReq = 4840;
public static final int HomeResourceTakeFetterExpRsp = 4608; public static final int HomeResourceTakeFetterExpRsp = 4500;
public static final int HomeResourceTakeHomeCoinReq = 4812; public static final int HomeResourceTakeHomeCoinReq = 4763;
public static final int HomeResourceTakeHomeCoinRsp = 4481; public static final int HomeResourceTakeHomeCoinRsp = 4658;
public static final int HomeSceneInitFinishReq = 4520; public static final int HomeSceneInitFinishReq = 4552;
public static final int HomeSceneInitFinishRsp = 4605; public static final int HomeSceneInitFinishRsp = 4592;
public static final int HomeSceneJumpReq = 4862; public static final int HomeSceneJumpReq = 4659;
public static final int HomeSceneJumpRsp = 4663; public static final int HomeSceneJumpRsp = 4570;
public static final int HomeTransferReq = 4656; public static final int HomeTransferReq = 4880;
public static final int HomeTransferRsp = 4669; public static final int HomeTransferRsp = 4767;
public static final int HomeUpdateArrangementInfoReq = 4632; public static final int HomeUpdateArrangementInfoReq = 4472;
public static final int HomeUpdateArrangementInfoRsp = 4820; public static final int HomeUpdateArrangementInfoRsp = 4822;
public static final int HomeUpdateFishFarmingInfoReq = 4810; public static final int HomeUpdateFishFarmingInfoReq = 4604;
public static final int HomeUpdateFishFarmingInfoRsp = 4500; public static final int HomeUpdateFishFarmingInfoRsp = 4856;
public static final int HostPlayerNotify = 310; public static final int HostPlayerNotify = 341;
public static final int HuntingFailNotify = 4345; public static final int HuntingFailNotify = 4302;
public static final int HuntingGiveUpReq = 4313; public static final int HuntingGiveUpReq = 4337;
public static final int HuntingGiveUpRsp = 4301; public static final int HuntingGiveUpRsp = 4332;
public static final int HuntingOngoingNotify = 4348; public static final int HuntingOngoingNotify = 4313;
public static final int HuntingRevealClueNotify = 4564; public static final int HuntingRevealClueNotify = 4347;
public static final int HuntingRevealFinalNotify = 4335; public static final int HuntingRevealFinalNotify = 4316;
public static final int HuntingStartNotify = 4694; public static final int HuntingStartNotify = 4326;
public static final int HuntingSuccessNotify = 4325; public static final int HuntingSuccessNotify = 4301;
public static final int InBattleMechanicusBuildingPointsNotify = 5344; public static final int InBattleMechanicusBuildingPointsNotify = 5385;
public static final int InBattleMechanicusCardResultNotify = 5388; public static final int InBattleMechanicusCardResultNotify = 5330;
public static final int InBattleMechanicusConfirmCardNotify = 5397; public static final int InBattleMechanicusConfirmCardNotify = 5307;
public static final int InBattleMechanicusConfirmCardReq = 5379; public static final int InBattleMechanicusConfirmCardReq = 5355;
public static final int InBattleMechanicusConfirmCardRsp = 5391; public static final int InBattleMechanicusConfirmCardRsp = 5327;
public static final int InBattleMechanicusExcapeMonsterNotify = 5337; public static final int InBattleMechanicusExcapeMonsterNotify = 5332;
public static final int InBattleMechanicusLeftMonsterNotify = 5393; public static final int InBattleMechanicusLeftMonsterNotify = 5317;
public static final int InBattleMechanicusPickCardNotify = 5334; public static final int InBattleMechanicusPickCardNotify = 5382;
public static final int InBattleMechanicusPickCardReq = 5345; public static final int InBattleMechanicusPickCardReq = 5335;
public static final int InBattleMechanicusPickCardRsp = 5375; public static final int InBattleMechanicusPickCardRsp = 5349;
public static final int InBattleMechanicusSettleNotify = 5355; public static final int InBattleMechanicusSettleNotify = 5398;
public static final int InteractDailyDungeonInfoNotify = 947; public static final int InteractDailyDungeonInfoNotify = 916;
public static final int InterruptGalleryReq = 5597; public static final int InterruptGalleryReq = 5507;
public static final int InterruptGalleryRsp = 5588; public static final int InterruptGalleryRsp = 5530;
public static final int InvestigationMonsterUpdateNotify = 1918; public static final int InvestigationMonsterUpdateNotify = 1922;
public static final int ItemAddHintNotify = 637; public static final int ItemAddHintNotify = 632;
public static final int ItemCdGroupTimeNotify = 666; public static final int ItemCdGroupTimeNotify = 611;
public static final int ItemExceedLimitNotify = 639; public static final int ItemGivingReq = 178;
public static final int ItemGivingReq = 170; public static final int ItemGivingRsp = 108;
public static final int ItemGivingRsp = 154; public static final int JoinHomeWorldFailNotify = 4863;
public static final int JoinHomeWorldFailNotify = 4502; public static final int JoinPlayerFailNotify = 268;
public static final int JoinPlayerFailNotify = 295; public static final int JoinPlayerSceneReq = 253;
public static final int JoinPlayerSceneReq = 239; public static final int JoinPlayerSceneRsp = 239;
public static final int JoinPlayerSceneRsp = 287; public static final int KeepAliveNotify = 9;
public static final int KeepAliveNotify = 60; public static final int LeaveSceneReq = 231;
public static final int LeaveSceneReq = 233; public static final int LeaveSceneRsp = 241;
public static final int LeaveSceneRsp = 210; public static final int LeaveWorldNotify = 3420;
public static final int LeaveWorldNotify = 3203; public static final int LevelupCityReq = 287;
public static final int LevelupCityReq = 253; public static final int LevelupCityRsp = 289;
public static final int LevelupCityRsp = 272; public static final int LifeStateChangeNotify = 1231;
public static final int LifeStateChangeNotify = 1233;
public static final int LiveEndNotify = 801; public static final int LiveEndNotify = 801;
public static final int LiveStartNotify = 820; public static final int LiveStartNotify = 820;
public static final int LoadActivityTerrainNotify = 2152; public static final int LoadActivityTerrainNotify = 2175;
public static final int LuaEnvironmentEffectNotify = 3175; public static final int LuaEnvironmentEffectNotify = 3289;
public static final int LuaSetOptionNotify = 353; public static final int LuaSetOptionNotify = 387;
public static final int LunaRiteAreaFinishNotify = 8822; public static final int LunaRiteAreaFinishNotify = 8107;
public static final int LunaRiteGroupBundleRegisterNotify = 8956; public static final int LunaRiteGroupBundleRegisterNotify = 8327;
public static final int LunaRiteHintPointRemoveNotify = 8544; public static final int LunaRiteHintPointRemoveNotify = 8420;
public static final int LunaRiteHintPointReq = 8173; public static final int LunaRiteHintPointReq = 8342;
public static final int LunaRiteHintPointRsp = 8129; public static final int LunaRiteHintPointRsp = 8481;
public static final int LunaRiteSacrificeReq = 8364; public static final int LunaRiteSacrificeReq = 8062;
public static final int LunaRiteSacrificeRsp = 8328; public static final int LunaRiteSacrificeRsp = 8401;
public static final int LunaRiteTakeSacrificeRewardReq = 8987; public static final int LunaRiteTakeSacrificeRewardReq = 8669;
public static final int LunaRiteTakeSacrificeRewardRsp = 8352; public static final int LunaRiteTakeSacrificeRewardRsp = 8252;
public static final int MailChangeNotify = 1433; public static final int MailChangeNotify = 1431;
public static final int MainCoopUpdateNotify = 1975; public static final int MainCoopUpdateNotify = 1959;
public static final int MapAreaChangeNotify = 3055; public static final int MapAreaChangeNotify = 3103;
public static final int MarkEntityInMinMapNotify = 230; public static final int MarkEntityInMinMapNotify = 202;
public static final int MarkMapReq = 3053; public static final int MarkMapReq = 3208;
public static final int MarkMapRsp = 3139; public static final int MarkMapRsp = 3421;
public static final int MarkNewNotify = 1291; public static final int MarkNewNotify = 1227;
public static final int MarkTargetInvestigationMonsterNotify = 1924; public static final int MarkTargetInvestigationMonsterNotify = 1928;
public static final int MassiveEntityElementOpBatchNotify = 384; public static final int MassiveEntityElementOpBatchNotify = 377;
public static final int MassiveEntityStateChangedNotify = 361; public static final int MassiveEntityStateChangedNotify = 303;
public static final int MaterialDeleteReturnNotify = 632; public static final int MaterialDeleteReturnNotify = 693;
public static final int MaterialDeleteUpdateNotify = 612; public static final int MaterialDeleteUpdateNotify = 643;
public static final int McoinExchangeHcoinReq = 653; public static final int McoinExchangeHcoinReq = 687;
public static final int McoinExchangeHcoinRsp = 672; public static final int McoinExchangeHcoinRsp = 689;
public static final int MechanicusCandidateTeamCreateReq = 3928; public static final int MechanicusCandidateTeamCreateReq = 3997;
public static final int MechanicusCandidateTeamCreateRsp = 3955; public static final int MechanicusCandidateTeamCreateRsp = 3998;
public static final int MechanicusCloseNotify = 3993; public static final int MechanicusCloseNotify = 3917;
public static final int MechanicusCoinNotify = 3915; public static final int MechanicusCoinNotify = 3937;
public static final int MechanicusLevelupGearReq = 3975; public static final int MechanicusLevelupGearReq = 3949;
public static final int MechanicusLevelupGearRsp = 3934; public static final int MechanicusLevelupGearRsp = 3982;
public static final int MechanicusOpenNotify = 3937; public static final int MechanicusOpenNotify = 3932;
public static final int MechanicusSequenceOpenNotify = 3910; public static final int MechanicusSequenceOpenNotify = 3941;
public static final int MechanicusUnlockGearReq = 3944; public static final int MechanicusUnlockGearReq = 3985;
public static final int MechanicusUnlockGearRsp = 3945; public static final int MechanicusUnlockGearRsp = 3935;
public static final int MeetNpcReq = 544; public static final int MeetNpcReq = 585;
public static final int MeetNpcRsp = 545; public static final int MeetNpcRsp = 535;
public static final int MetNpcIdListNotify = 593; public static final int MetNpcIdListNotify = 517;
public static final int MiracleRingDataNotify = 5245; public static final int MiracleRingDataNotify = 5243;
public static final int MiracleRingDeliverItemReq = 5217; public static final int MiracleRingDeliverItemReq = 5226;
public static final int MiracleRingDeliverItemRsp = 5236; public static final int MiracleRingDeliverItemRsp = 5247;
public static final int MiracleRingDestroyNotify = 5243; public static final int MiracleRingDestroyNotify = 5216;
public static final int MiracleRingDropResultNotify = 5201; public static final int MiracleRingDropResultNotify = 5203;
public static final int MiracleRingTakeRewardReq = 5248; public static final int MiracleRingTakeRewardReq = 5204;
public static final int MiracleRingTakeRewardRsp = 5213; public static final int MiracleRingTakeRewardRsp = 5228;
public static final int MistTrialDunegonFailNotify = 8337; public static final int MistTrialDunegonFailNotify = 8580;
public static final int MistTrialGetChallengeMissionReq = 8250; public static final int MistTrialGetChallengeMissionReq = 8668;
public static final int MistTrialGetChallengeMissionRsp = 8894; public static final int MistTrialGetChallengeMissionRsp = 8385;
public static final int MistTrialSelectAvatarAndEnterDungeonReq = 8186; public static final int MistTrialSelectAvatarAndEnterDungeonReq = 8318;
public static final int MistTrialSelectAvatarAndEnterDungeonRsp = 8522; public static final int MistTrialSelectAvatarAndEnterDungeonRsp = 8403;
public static final int MonsterAIConfigHashNotify = 3024; public static final int MonsterAIConfigHashNotify = 3121;
public static final int MonsterAlertChangeNotify = 380; public static final int MonsterAlertChangeNotify = 313;
public static final int MonsterForceAlertNotify = 364; public static final int MonsterForceAlertNotify = 342;
public static final int MonsterPointArrayRouteUpdateNotify = 3292; public static final int MonsterPointArrayRouteUpdateNotify = 3138;
public static final int MonsterSummonTagNotify = 1360; public static final int MonsterSummonTagNotify = 1309;
public static final int MpBlockNotify = 1824; public static final int MpBlockNotify = 1808;
public static final int MpPlayGuestReplyInviteReq = 1850; public static final int MpPlayGuestReplyInviteReq = 1811;
public static final int MpPlayGuestReplyInviteRsp = 1822; public static final int MpPlayGuestReplyInviteRsp = 1841;
public static final int MpPlayGuestReplyNotify = 1802; public static final int MpPlayGuestReplyNotify = 1805;
public static final int MpPlayInviteResultNotify = 1830; public static final int MpPlayInviteResultNotify = 1806;
public static final int MpPlayOwnerCheckReq = 1812; public static final int MpPlayOwnerCheckReq = 1814;
public static final int MpPlayOwnerCheckRsp = 1839; public static final int MpPlayOwnerCheckRsp = 1812;
public static final int MpPlayOwnerInviteNotify = 1831; public static final int MpPlayOwnerInviteNotify = 1815;
public static final int MpPlayOwnerStartInviteReq = 1821; public static final int MpPlayOwnerStartInviteReq = 1846;
public static final int MpPlayOwnerStartInviteRsp = 1846; public static final int MpPlayOwnerStartInviteRsp = 1827;
public static final int MpPlayPrepareInterruptNotify = 1838; public static final int MpPlayPrepareInterruptNotify = 1848;
public static final int MpPlayPrepareNotify = 1833; public static final int MpPlayPrepareNotify = 1839;
public static final int MultistagePlayEndNotify = 5307; public static final int MultistagePlayEndNotify = 5375;
public static final int MultistagePlayFinishStageReq = 5333; public static final int MultistagePlayFinishStageReq = 5331;
public static final int MultistagePlayFinishStageRsp = 5328; public static final int MultistagePlayFinishStageRsp = 5397;
public static final int MultistagePlayInfoNotify = 5360; public static final int MultistagePlayInfoNotify = 5309;
public static final int MultistagePlaySettleNotify = 5318; public static final int MultistagePlaySettleNotify = 5314;
public static final int MultistagePlayStageEndNotify = 5321; public static final int MultistagePlayStageEndNotify = 5340;
public static final int MusicGameSettleReq = 8851; public static final int MusicGameSettleReq = 8745;
public static final int MusicGameSettleRsp = 8028; public static final int MusicGameSettleRsp = 8288;
public static final int MusicGameStartReq = 8760; public static final int MusicGameStartReq = 8927;
public static final int MusicGameStartRsp = 8922; public static final int MusicGameStartRsp = 8101;
public static final int NavMeshStatsNotify = 2353; public static final int NavMeshStatsNotify = 2387;
public static final int NormalUidOpNotify = 5735; public static final int NormalUidOpNotify = 5718;
public static final int NpcTalkReq = 560; public static final int NpcTalkReq = 509;
public static final int NpcTalkRsp = 533; public static final int NpcTalkRsp = 531;
public static final int ObstacleModifyNotify = 2310; public static final int ObstacleModifyNotify = 2341;
public static final int OfferingInteractReq = 2916; public static final int OfferingInteractReq = 2908;
public static final int OfferingInteractRsp = 2912; public static final int OfferingInteractRsp = 2923;
public static final int OneoffGatherPointDetectorDataNotify = 4289; public static final int OneoffGatherPointDetectorDataNotify = 4262;
public static final int OpActivityDataNotify = 5110; public static final int OpActivityDataNotify = 5141;
public static final int OpActivityStateNotify = 2560; public static final int OpActivityStateNotify = 2509;
public static final int OpActivityUpdateNotify = 5115; public static final int OpActivityUpdateNotify = 5137;
public static final int OpenBlossomCircleCampGuideNotify = 2744; public static final int OpenBlossomCircleCampGuideNotify = 2785;
public static final int OpenStateChangeNotify = 165; public static final int OpenStateChangeNotify = 112;
public static final int OpenStateUpdateNotify = 109; public static final int OpenStateUpdateNotify = 119;
public static final int OrderDisplayNotify = 4101; public static final int OrderDisplayNotify = 4103;
public static final int OrderFinishNotify = 4145; public static final int OrderFinishNotify = 4143;
public static final int OtherPlayerEnterHomeNotify = 4591; public static final int OtherPlayerEnterHomeNotify = 4609;
public static final int PacketHead = 13371337; public static final int PathfindingEnterSceneReq = 2332;
public static final int PathfindingEnterSceneReq = 2337; public static final int PathfindingEnterSceneRsp = 2317;
public static final int PathfindingEnterSceneRsp = 2393; public static final int PathfindingPingNotify = 2337;
public static final int PathfindingPingNotify = 2315; public static final int PersonalLineAllDataReq = 446;
public static final int PersonalLineAllDataReq = 408; public static final int PersonalLineAllDataRsp = 433;
public static final int PersonalLineAllDataRsp = 417; public static final int PersonalLineNewUnlockNotify = 470;
public static final int PersonalLineNewUnlockNotify = 423; public static final int PersonalSceneJumpReq = 266;
public static final int PersonalSceneJumpReq = 286; public static final int PersonalSceneJumpRsp = 248;
public static final int PersonalSceneJumpRsp = 277; public static final int PingReq = 32;
public static final int PingReq = 37; public static final int PingRsp = 17;
public static final int PingRsp = 93; public static final int PlantFlowerAcceptAllGiveFlowerReq = 8017;
public static final int PlantFlowerAcceptAllGiveFlowerReq = 8775; public static final int PlantFlowerAcceptAllGiveFlowerRsp = 8831;
public static final int PlantFlowerAcceptAllGiveFlowerRsp = 8174; public static final int PlantFlowerAcceptGiveFlowerReq = 8137;
public static final int PlantFlowerAcceptGiveFlowerReq = 8525; public static final int PlantFlowerAcceptGiveFlowerRsp = 8431;
public static final int PlantFlowerAcceptGiveFlowerRsp = 8957; public static final int PlantFlowerEditFlowerCombinationReq = 8506;
public static final int PlantFlowerEditFlowerCombinationReq = 8347; public static final int PlantFlowerEditFlowerCombinationRsp = 8335;
public static final int PlantFlowerEditFlowerCombinationRsp = 8625; public static final int PlantFlowerGetCanGiveFriendFlowerReq = 8648;
public static final int PlantFlowerGetCanGiveFriendFlowerReq = 8617; public static final int PlantFlowerGetCanGiveFriendFlowerRsp = 8507;
public static final int PlantFlowerGetCanGiveFriendFlowerRsp = 8091; public static final int PlantFlowerGetFriendFlowerWishListReq = 8840;
public static final int PlantFlowerGetFriendFlowerWishListReq = 8893; public static final int PlantFlowerGetFriendFlowerWishListRsp = 8553;
public static final int PlantFlowerGetFriendFlowerWishListRsp = 8476; public static final int PlantFlowerGetRecvFlowerListReq = 8914;
public static final int PlantFlowerGetRecvFlowerListReq = 8459; public static final int PlantFlowerGetRecvFlowerListRsp = 8929;
public static final int PlantFlowerGetRecvFlowerListRsp = 8597; public static final int PlantFlowerGetSeedInfoReq = 8913;
public static final int PlantFlowerGetSeedInfoReq = 8535; public static final int PlantFlowerGetSeedInfoRsp = 8932;
public static final int PlantFlowerGetSeedInfoRsp = 8584; public static final int PlantFlowerGiveFriendFlowerReq = 8836;
public static final int PlantFlowerGiveFriendFlowerReq = 8934; public static final int PlantFlowerGiveFriendFlowerRsp = 8893;
public static final int PlantFlowerGiveFriendFlowerRsp = 8456; public static final int PlantFlowerHaveRecvFlowerNotify = 8174;
public static final int PlantFlowerHaveRecvFlowerNotify = 8711; public static final int PlantFlowerSetFlowerWishReq = 8650;
public static final int PlantFlowerSetFlowerWishReq = 8601; public static final int PlantFlowerSetFlowerWishRsp = 8588;
public static final int PlantFlowerSetFlowerWishRsp = 8550; public static final int PlantFlowerTakeSeedRewardReq = 8182;
public static final int PlantFlowerTakeSeedRewardReq = 8317; public static final int PlantFlowerTakeSeedRewardRsp = 8386;
public static final int PlantFlowerTakeSeedRewardRsp = 8152; public static final int PlatformChangeRouteNotify = 205;
public static final int PlatformChangeRouteNotify = 257; public static final int PlatformStartRouteNotify = 208;
public static final int PlatformStartRouteNotify = 254; public static final int PlatformStopRouteNotify = 204;
public static final int PlatformStopRouteNotify = 235; public static final int PlayerAllowEnterMpAfterAgreeMatchNotify = 4151;
public static final int PlayerAllowEnterMpAfterAgreeMatchNotify = 4176; public static final int PlayerApplyEnterHomeNotify = 4504;
public static final int PlayerApplyEnterHomeNotify = 4614; public static final int PlayerApplyEnterHomeResultNotify = 4766;
public static final int PlayerApplyEnterHomeResultNotify = 4580; public static final int PlayerApplyEnterHomeResultReq = 4568;
public static final int PlayerApplyEnterHomeResultReq = 4603; public static final int PlayerApplyEnterHomeResultRsp = 4697;
public static final int PlayerApplyEnterHomeResultRsp = 4849; public static final int PlayerApplyEnterMpAfterMatchAgreedNotify = 4163;
public static final int PlayerApplyEnterMpAfterMatchAgreedNotify = 4177; public static final int PlayerApplyEnterMpNotify = 1818;
public static final int PlayerApplyEnterMpNotify = 1835; public static final int PlayerApplyEnterMpReq = 1809;
public static final int PlayerApplyEnterMpReq = 1825; public static final int PlayerApplyEnterMpResultNotify = 1804;
public static final int PlayerApplyEnterMpResultNotify = 1848; public static final int PlayerApplyEnterMpResultReq = 1828;
public static final int PlayerApplyEnterMpResultReq = 1813; public static final int PlayerApplyEnterMpResultRsp = 1803;
public static final int PlayerApplyEnterMpResultRsp = 1801; public static final int PlayerApplyEnterMpRsp = 1843;
public static final int PlayerApplyEnterMpRsp = 1845; public static final int PlayerCancelMatchReq = 4154;
public static final int PlayerCancelMatchReq = 4198; public static final int PlayerCancelMatchRsp = 4178;
public static final int PlayerCancelMatchRsp = 4163; public static final int PlayerChatCDNotify = 3464;
public static final int PlayerChatCDNotify = 3173; public static final int PlayerChatNotify = 3295;
public static final int PlayerChatNotify = 3485; public static final int PlayerChatReq = 3378;
public static final int PlayerChatReq = 3403; public static final int PlayerChatRsp = 3321;
public static final int PlayerChatRsp = 3045; public static final int PlayerCompoundMaterialReq = 122;
public static final int PlayerCompoundMaterialReq = 173; public static final int PlayerCompoundMaterialRsp = 154;
public static final int PlayerCompoundMaterialRsp = 163; public static final int PlayerConfirmMatchReq = 4197;
public static final int PlayerConfirmMatchReq = 4186; public static final int PlayerConfirmMatchRsp = 4166;
public static final int PlayerConfirmMatchRsp = 4193; public static final int PlayerCookArgsReq = 104;
public static final int PlayerCookArgsReq = 135; public static final int PlayerCookArgsRsp = 105;
public static final int PlayerCookArgsRsp = 157; public static final int PlayerCookReq = 158;
public static final int PlayerCookReq = 103; public static final int PlayerCookRsp = 150;
public static final int PlayerCookRsp = 167; public static final int PlayerDataNotify = 135;
public static final int PlayerDataNotify = 145; public static final int PlayerEnterDungeonReq = 941;
public static final int PlayerEnterDungeonReq = 910; public static final int PlayerEnterDungeonRsp = 937;
public static final int PlayerEnterDungeonRsp = 915; public static final int PlayerEnterSceneInfoNotify = 274;
public static final int PlayerEnterSceneInfoNotify = 294; public static final int PlayerEnterSceneNotify = 209;
public static final int PlayerEnterSceneNotify = 260; public static final int PlayerEyePointStateNotify = 3376;
public static final int PlayerEyePointStateNotify = 3461; public static final int PlayerFishingDataNotify = 5815;
public static final int PlayerFishingDataNotify = 5831; public static final int PlayerForceExitReq = 173;
public static final int PlayerForceExitReq = 125; public static final int PlayerForceExitRsp = 161;
public static final int PlayerForceExitRsp = 149; public static final int PlayerGameTimeNotify = 155;
public static final int PlayerGameTimeNotify = 179; public static final int PlayerGeneralMatchConfirmNotify = 4182;
public static final int PlayerGeneralMatchConfirmNotify = 4156;
public static final int PlayerGeneralMatchDismissNotify = 4187; public static final int PlayerGeneralMatchDismissNotify = 4187;
public static final int PlayerGetForceQuitBanInfoReq = 4162; public static final int PlayerGetForceQuitBanInfoReq = 4164;
public static final int PlayerGetForceQuitBanInfoRsp = 4189; public static final int PlayerGetForceQuitBanInfoRsp = 4162;
public static final int PlayerHomeCompInfoNotify = 4863; public static final int PlayerHomeCompInfoNotify = 4563;
public static final int PlayerInjectFixNotify = 185; public static final int PlayerInjectFixNotify = 188;
public static final int PlayerInvestigationAllInfoNotify = 1920; public static final int PlayerInvestigationAllInfoNotify = 1905;
public static final int PlayerInvestigationNotify = 1901; public static final int PlayerInvestigationNotify = 1927;
public static final int PlayerInvestigationTargetNotify = 1919; public static final int PlayerInvestigationTargetNotify = 1906;
public static final int PlayerLevelRewardUpdateNotify = 112; public static final int PlayerLevelRewardUpdateNotify = 143;
public static final int PlayerLoginReq = 110; public static final int PlayerLoginReq = 141;
public static final int PlayerLoginRsp = 115; public static final int PlayerLoginRsp = 137;
public static final int PlayerLogoutNotify = 144; public static final int PlayerLogoutNotify = 185;
public static final int PlayerLogoutReq = 137; public static final int PlayerLogoutReq = 132;
public static final int PlayerLogoutRsp = 193; public static final int PlayerLogoutRsp = 117;
public static final int PlayerLuaShellNotify = 143; public static final int PlayerLuaShellNotify = 110;
public static final int PlayerMatchAgreedResultNotify = 4165; public static final int PlayerMatchAgreedResultNotify = 4152;
public static final int PlayerMatchInfoNotify = 4195; public static final int PlayerMatchInfoNotify = 4193;
public static final int PlayerMatchStopNotify = 4151; public static final int PlayerMatchStopNotify = 4153;
public static final int PlayerMatchSuccNotify = 4167; public static final int PlayerMatchSuccNotify = 4176;
public static final int PlayerOfferingDataNotify = 2915; public static final int PlayerOfferingDataNotify = 2901;
public static final int PlayerOfferingReq = 2914; public static final int PlayerOfferingReq = 2906;
public static final int PlayerOfferingRsp = 2917; public static final int PlayerOfferingRsp = 2911;
public static final int PlayerPreEnterMpNotify = 1836; public static final int PlayerPreEnterMpNotify = 1847;
public static final int PlayerPropChangeNotify = 156; public static final int PlayerPropChangeNotify = 186;
public static final int PlayerPropChangeReasonNotify = 1234; public static final int PlayerPropChangeReasonNotify = 1282;
public static final int PlayerPropNotify = 191; public static final int PlayerPropNotify = 127;
public static final int PlayerQuitDungeonReq = 937; public static final int PlayerQuitDungeonReq = 932;
public static final int PlayerQuitDungeonRsp = 993; public static final int PlayerQuitDungeonRsp = 917;
public static final int PlayerQuitFromHomeNotify = 4757; public static final int PlayerQuitFromHomeNotify = 4776;
public static final int PlayerQuitFromMpNotify = 1817; public static final int PlayerQuitFromMpNotify = 1826;
public static final int PlayerRandomCookReq = 120; public static final int PlayerRandomCookReq = 120;
public static final int PlayerRandomCookRsp = 180; public static final int PlayerRandomCookRsp = 113;
public static final int PlayerRechargeDataNotify = 4113; public static final int PlayerRechargeDataNotify = 4128;
public static final int PlayerReportReq = 4092; public static final int PlayerReportReq = 4059;
public static final int PlayerReportRsp = 4058; public static final int PlayerReportRsp = 4084;
public static final int PlayerRoutineDataNotify = 3535; public static final int PlayerRoutineDataNotify = 3518;
public static final int PlayerSetLanguageReq = 123; public static final int PlayerSetLanguageReq = 170;
public static final int PlayerSetLanguageRsp = 113; public static final int PlayerSetLanguageRsp = 129;
public static final int PlayerSetOnlyMPWithPSPlayerReq = 1815; public static final int PlayerSetOnlyMPWithPSPlayerReq = 1802;
public static final int PlayerSetOnlyMPWithPSPlayerRsp = 1827; public static final int PlayerSetOnlyMPWithPSPlayerRsp = 1813;
public static final int PlayerSetPauseReq = 192; public static final int PlayerSetPauseReq = 159;
public static final int PlayerSetPauseRsp = 158; public static final int PlayerSetPauseRsp = 184;
public static final int PlayerStartMatchReq = 4185; public static final int PlayerStartMatchReq = 4168;
public static final int PlayerStartMatchRsp = 4175; public static final int PlayerStartMatchRsp = 4159;
public static final int PlayerStoreNotify = 660; public static final int PlayerStoreNotify = 609;
public static final int PlayerTimeNotify = 152; public static final int PlayerTimeNotify = 172;
public static final int PlayerWorldSceneInfoListNotify = 3386; public static final int PlayerWorldSceneInfoListNotify = 3172;
public static final int PostEnterSceneReq = 3390; public static final int PostEnterSceneReq = 3097;
public static final int PostEnterSceneRsp = 3213; public static final int PostEnterSceneRsp = 3344;
public static final int PrivateChatNotify = 4960; public static final int PrivateChatNotify = 4991;
public static final int PrivateChatReq = 5010; public static final int PrivateChatReq = 4959;
public static final int PrivateChatRsp = 4983; public static final int PrivateChatRsp = 4981;
public static final int PrivateChatSetSequenceReq = 4965; public static final int PrivateChatSetSequenceReq = 4987;
public static final int PrivateChatSetSequenceRsp = 4987; public static final int PrivateChatSetSequenceRsp = 4982;
public static final int ProfilePictureChangeNotify = 4053; public static final int ProfilePictureChangeNotify = 4087;
public static final int ProjectorOptionReq = 880; public static final int ProjectorOptionReq = 813;
public static final int ProjectorOptionRsp = 864; public static final int ProjectorOptionRsp = 842;
public static final int ProudSkillChangeNotify = 1079; public static final int ProudSkillChangeNotify = 1055;
public static final int ProudSkillExtraLevelNotify = 1028; public static final int ProudSkillExtraLevelNotify = 1097;
public static final int ProudSkillUpgradeReq = 1075; public static final int ProudSkillUpgradeReq = 1049;
public static final int ProudSkillUpgradeRsp = 1034; public static final int ProudSkillUpgradeRsp = 1082;
public static final int PSNBlackListNotify = 4070; public static final int PSNBlackListNotify = 4078;
public static final int PSNFriendListNotify = 4072; public static final int PSNFriendListNotify = 4089;
public static final int PSPlayerApplyEnterMpReq = 1837; public static final int PSPlayerApplyEnterMpReq = 1837;
public static final int PSPlayerApplyEnterMpRsp = 1806; public static final int PSPlayerApplyEnterMpRsp = 1832;
public static final int PullPrivateChatReq = 5043; public static final int PullPrivateChatReq = 4967;
public static final int PullPrivateChatRsp = 4994; public static final int PullPrivateChatRsp = 5035;
public static final int PullRecentChatReq = 4995; public static final int PullRecentChatReq = 4985;
public static final int PullRecentChatRsp = 5025; public static final int PullRecentChatRsp = 4999;
public static final int PushTipsAllDataNotify = 2226; public static final int PushTipsAllDataNotify = 2224;
public static final int PushTipsChangeNotify = 2262; public static final int PushTipsChangeNotify = 2238;
public static final int PushTipsReadFinishReq = 2289; public static final int PushTipsReadFinishReq = 2206;
public static final int PushTipsReadFinishRsp = 2209; public static final int PushTipsReadFinishRsp = 2219;
public static final int QueryCodexMonsterBeKilledNumReq = 4207; public static final int QueryCodexMonsterBeKilledNumReq = 4207;
public static final int QueryCodexMonsterBeKilledNumRsp = 4208; public static final int QueryCodexMonsterBeKilledNumRsp = 4205;
public static final int QueryPathReq = 2360; public static final int QueryPathReq = 2309;
public static final int QueryPathRsp = 2333; public static final int QueryPathRsp = 2331;
public static final int QuestCreateEntityReq = 434; public static final int QuestCreateEntityReq = 482;
public static final int QuestCreateEntityRsp = 479; public static final int QuestCreateEntityRsp = 455;
public static final int QuestDelNotify = 410; public static final int QuestDelNotify = 441;
public static final int QuestDestroyEntityReq = 491; public static final int QuestDestroyEntityReq = 427;
public static final int QuestDestroyEntityRsp = 497; public static final int QuestDestroyEntityRsp = 407;
public static final int QuestDestroyNpcReq = 426; public static final int QuestDestroyNpcReq = 424;
public static final int QuestDestroyNpcRsp = 462; public static final int QuestDestroyNpcRsp = 438;
public static final int QuestGlobalVarNotify = 466; public static final int QuestGlobalVarNotify = 411;
public static final int QuestListNotify = 460; public static final int QuestListNotify = 409;
public static final int QuestListUpdateNotify = 433; public static final int QuestListUpdateNotify = 431;
public static final int QuestProgressUpdateNotify = 446; public static final int QuestProgressUpdateNotify = 445;
public static final int QuestTransmitReq = 473; public static final int QuestTransmitReq = 422;
public static final int QuestTransmitRsp = 463; public static final int QuestTransmitRsp = 454;
public static final int QuestUpdateQuestTimeVarNotify = 458; public static final int QuestUpdateQuestTimeVarNotify = 484;
public static final int QuestUpdateQuestVarNotify = 483; public static final int QuestUpdateQuestVarNotify = 463;
public static final int QuestUpdateQuestVarReq = 474; public static final int QuestUpdateQuestVarReq = 490;
public static final int QuestUpdateQuestVarRsp = 456; public static final int QuestUpdateQuestVarRsp = 486;
public static final int QuickUseWidgetReq = 4276; public static final int QuickUseWidgetReq = 4251;
public static final int QuickUseWidgetRsp = 4265; public static final int QuickUseWidgetRsp = 4252;
public static final int ReadMailNotify = 1410; public static final int ReadMailNotify = 1441;
public static final int ReadPrivateChatReq = 4984; public static final int ReadPrivateChatReq = 5032;
public static final int ReadPrivateChatRsp = 5029; public static final int ReadPrivateChatRsp = 5005;
public static final int ReceivedTrialAvatarActivityRewardReq = 2020; public static final int ReceivedTrialAvatarActivityRewardReq = 2054;
public static final int ReceivedTrialAvatarActivityRewardRsp = 2087; public static final int ReceivedTrialAvatarActivityRewardRsp = 2199;
public static final int RechargeReq = 4135; public static final int RechargeReq = 4118;
public static final int RechargeRsp = 4125; public static final int RechargeRsp = 4109;
public static final int RedeemLegendaryKeyReq = 481; public static final int RedeemLegendaryKeyReq = 436;
public static final int RedeemLegendaryKeyRsp = 427; public static final int RedeemLegendaryKeyRsp = 428;
public static final int RefreshBackgroundAvatarReq = 1744; public static final int RefreshBackgroundAvatarReq = 1660;
public static final int RefreshBackgroundAvatarRsp = 1719; public static final int RefreshBackgroundAvatarRsp = 1751;
public static final int RefreshRoguelikeDungeonCardReq = 8433; public static final int RefreshRoguelikeDungeonCardReq = 8072;
public static final int RefreshRoguelikeDungeonCardRsp = 8678; public static final int RefreshRoguelikeDungeonCardRsp = 8644;
public static final int RegionSearchChangeRegionNotify = 5625; public static final int RegionSearchChangeRegionNotify = 5609;
public static final int RegionSearchNotify = 5635; public static final int RegionSearchNotify = 5618;
public static final int ReliquaryDecomposeReq = 606; public static final int ReliquaryDecomposeReq = 615;
public static final int ReliquaryDecomposeRsp = 659; public static final int ReliquaryDecomposeRsp = 692;
public static final int ReliquaryPromoteReq = 665; public static final int ReliquaryPromoteReq = 612;
public static final int ReliquaryPromoteRsp = 603; public static final int ReliquaryPromoteRsp = 658;
public static final int ReliquaryUpgradeReq = 689; public static final int ReliquaryUpgradeReq = 606;
public static final int ReliquaryUpgradeRsp = 609; public static final int ReliquaryUpgradeRsp = 619;
public static final int RemoveBlacklistReq = 4080; public static final int RemoveBlacklistReq = 4013;
public static final int RemoveBlacklistRsp = 4064; public static final int RemoveBlacklistRsp = 4042;
public static final int RemoveRandTaskInfoNotify = 132; public static final int RemoveRandTaskInfoNotify = 193;
public static final int ReportFightAntiCheatNotify = 357; public static final int ReportFightAntiCheatNotify = 305;
public static final int ReportTrackingIOInfoNotify = 4117; public static final int ReportTrackingIOInfoNotify = 4126;
public static final int RequestLiveInfoReq = 803; public static final int RequestLiveInfoReq = 858;
public static final int RequestLiveInfoRsp = 867; public static final int RequestLiveInfoRsp = 850;
public static final int ResinCardDataUpdateNotify = 4126; public static final int ResinCardDataUpdateNotify = 4101;
public static final int ResinChangeNotify = 623; public static final int ResinChangeNotify = 670;
public static final int RestartEffigyChallengeReq = 2061; public static final int RestartEffigyChallengeReq = 2023;
public static final int RestartEffigyChallengeRsp = 2112; public static final int RestartEffigyChallengeRsp = 2133;
public static final int ReunionActivateNotify = 5081; public static final int ReunionActivateNotify = 5065;
public static final int ReunionBriefInfoReq = 5085; public static final int ReunionBriefInfoReq = 5068;
public static final int ReunionBriefInfoRsp = 5075; public static final int ReunionBriefInfoRsp = 5059;
public static final int ReunionDailyRefreshNotify = 5072; public static final int ReunionDailyRefreshNotify = 5091;
public static final int ReunionPrivilegeChangeNotify = 5100; public static final int ReunionPrivilegeChangeNotify = 5061;
public static final int ReunionSettleNotify = 5096; public static final int ReunionSettleNotify = 5077;
public static final int RobotPushPlayerDataNotify = 88; public static final int RobotPushPlayerDataNotify = 30;
public static final int RogueCellUpdateNotify = 8074; public static final int RogueCellUpdateNotify = 8022;
public static final int RogueDungeonPlayerCellChangeNotify = 8784; public static final int RogueDungeonPlayerCellChangeNotify = 8832;
public static final int RogueHealAvatarsReq = 8959; public static final int RogueHealAvatarsReq = 8331;
public static final int RogueHealAvatarsRsp = 8473; public static final int RogueHealAvatarsRsp = 8937;
public static final int RoguelikeCardGachaNotify = 8079; public static final int RoguelikeCardGachaNotify = 8618;
public static final int RoguelikeEffectDataNotify = 8529; public static final int RoguelikeEffectDataNotify = 8606;
public static final int RoguelikeEffectViewReq = 8396; public static final int RoguelikeEffectViewReq = 8377;
public static final int RoguelikeEffectViewRsp = 8040; public static final int RoguelikeEffectViewRsp = 8770;
public static final int RoguelikeGiveUpReq = 8716; public static final int RoguelikeGiveUpReq = 8988;
public static final int RoguelikeGiveUpRsp = 8728; public static final int RoguelikeGiveUpRsp = 8009;
public static final int RoguelikeMistClearNotify = 8471; public static final int RoguelikeMistClearNotify = 8198;
public static final int RoguelikeRefreshCardCostUpdateNotify = 8304; public static final int RoguelikeRefreshCardCostUpdateNotify = 8912;
public static final int RoguelikeResourceBonusPropUpdateNotify = 8312; public static final int RoguelikeResourceBonusPropUpdateNotify = 8823;
public static final int RoguelikeRuneRecordUpdateNotify = 8985; public static final int RoguelikeRuneRecordUpdateNotify = 8497;
public static final int RoguelikeSelectAvatarAndEnterDungeonReq = 8697; public static final int RoguelikeSelectAvatarAndEnterDungeonReq = 8975;
public static final int RoguelikeSelectAvatarAndEnterDungeonRsp = 8377; public static final int RoguelikeSelectAvatarAndEnterDungeonRsp = 8471;
public static final int RoguelikeTakeStageFirstPassRewardReq = 8667; public static final int RoguelikeTakeStageFirstPassRewardReq = 8205;
public static final int RoguelikeTakeStageFirstPassRewardRsp = 8101; public static final int RoguelikeTakeStageFirstPassRewardRsp = 8409;
public static final int RogueResumeDungeonReq = 8496; public static final int RogueResumeDungeonReq = 8417;
public static final int RogueResumeDungeonRsp = 8759; public static final int RogueResumeDungeonRsp = 8565;
public static final int RogueSwitchAvatarReq = 8856; public static final int RogueSwitchAvatarReq = 8930;
public static final int RogueSwitchAvatarRsp = 8141; public static final int RogueSwitchAvatarRsp = 8556;
public static final int SalesmanDeliverItemReq = 2103; public static final int SalesmanDeliverItemReq = 2118;
public static final int SalesmanDeliverItemRsp = 2198; public static final int SalesmanDeliverItemRsp = 2038;
public static final int SalesmanTakeRewardReq = 2091; public static final int SalesmanTakeRewardReq = 2007;
public static final int SalesmanTakeRewardRsp = 2171; public static final int SalesmanTakeRewardRsp = 2100;
public static final int SalesmanTakeSpecialRewardReq = 2156; public static final int SalesmanTakeSpecialRewardReq = 2065;
public static final int SalesmanTakeSpecialRewardRsp = 2102; public static final int SalesmanTakeSpecialRewardRsp = 2107;
public static final int SaveCoopDialogReq = 1972; public static final int SaveCoopDialogReq = 1991;
public static final int SaveCoopDialogRsp = 1952; public static final int SaveCoopDialogRsp = 1955;
public static final int SaveMainCoopReq = 1995; public static final int SaveMainCoopReq = 1993;
public static final int SaveMainCoopRsp = 1998; public static final int SaveMainCoopRsp = 1954;
public static final int SceneAreaUnlockNotify = 209; public static final int SceneAreaUnlockNotify = 219;
public static final int SceneAreaWeatherNotify = 213; public static final int SceneAreaWeatherNotify = 229;
public static final int SceneAudioNotify = 3260; public static final int SceneAudioNotify = 3430;
public static final int SceneAvatarStaminaStepReq = 234; public static final int SceneAvatarStaminaStepReq = 282;
public static final int SceneAvatarStaminaStepRsp = 279; public static final int SceneAvatarStaminaStepRsp = 255;
public static final int SceneCreateEntityReq = 267; public static final int SceneCreateEntityReq = 250;
public static final int SceneCreateEntityRsp = 220; public static final int SceneCreateEntityRsp = 220;
public static final int SceneDataNotify = 3179; public static final int SceneDataNotify = 3117;
public static final int SceneDestroyEntityReq = 280; public static final int SceneDestroyEntityReq = 213;
public static final int SceneDestroyEntityRsp = 264; public static final int SceneDestroyEntityRsp = 242;
public static final int SceneEntitiesMoveCombineNotify = 3312; public static final int SceneEntitiesMoveCombineNotify = 3298;
public static final int SceneEntitiesMovesReq = 221; public static final int SceneEntitiesMovesReq = 240;
public static final int SceneEntitiesMovesRsp = 207; public static final int SceneEntitiesMovesRsp = 275;
public static final int SceneEntityAppearNotify = 293; public static final int SceneEntityAppearNotify = 217;
public static final int SceneEntityDisappearNotify = 244; public static final int SceneEntityDisappearNotify = 285;
public static final int SceneEntityDrownReq = 265; public static final int SceneEntityDrownReq = 212;
public static final int SceneEntityDrownRsp = 203; public static final int SceneEntityDrownRsp = 258;
public static final int SceneEntityMoveNotify = 291; public static final int SceneEntityMoveNotify = 227;
public static final int SceneEntityMoveReq = 245; public static final int SceneEntityMoveReq = 235;
public static final int SceneEntityMoveRsp = 275; public static final int SceneEntityMoveRsp = 249;
public static final int SceneEntityUpdateNotify = 3423; public static final int SceneEntityUpdateNotify = 3089;
public static final int SceneForceLockNotify = 266; public static final int SceneForceLockNotify = 211;
public static final int SceneForceUnlockNotify = 201; public static final int SceneForceUnlockNotify = 201;
public static final int SceneGalleryInfoNotify = 5528; public static final int SceneGalleryInfoNotify = 5597;
public static final int SceneInitFinishReq = 215; public static final int SceneInitFinishReq = 237;
public static final int SceneInitFinishRsp = 237; public static final int SceneInitFinishRsp = 232;
public static final int SceneKickPlayerNotify = 259; public static final int SceneKickPlayerNotify = 292;
public static final int SceneKickPlayerReq = 204; public static final int SceneKickPlayerReq = 295;
public static final int SceneKickPlayerRsp = 206; public static final int SceneKickPlayerRsp = 215;
public static final int ScenePlayBattleInfoListNotify = 4378; public static final int ScenePlayBattleInfoListNotify = 4447;
public static final int ScenePlayBattleInfoNotify = 4410; public static final int ScenePlayBattleInfoNotify = 4359;
public static final int ScenePlayBattleInterruptNotify = 4441; public static final int ScenePlayBattleInterruptNotify = 4377;
public static final int ScenePlayBattleResultNotify = 4447; public static final int ScenePlayBattleResultNotify = 4357;
public static final int ScenePlayBattleUidOpNotify = 4438; public static final int ScenePlayBattleUidOpNotify = 4380;
public static final int ScenePlayerInfoNotify = 236; public static final int ScenePlayerInfoNotify = 225;
public static final int ScenePlayerLocationNotify = 297; public static final int ScenePlayerLocationNotify = 207;
public static final int ScenePlayerSoundNotify = 243; public static final int ScenePlayerSoundNotify = 210;
public static final int ScenePlayGuestReplyInviteReq = 4394; public static final int ScenePlayGuestReplyInviteReq = 4435;
public static final int ScenePlayGuestReplyInviteRsp = 4395; public static final int ScenePlayGuestReplyInviteRsp = 4385;
public static final int ScenePlayGuestReplyNotify = 4425; public static final int ScenePlayGuestReplyNotify = 4399;
public static final int ScenePlayInfoListNotify = 4429; public static final int ScenePlayInfoListNotify = 4405;
public static final int ScenePlayInviteResultNotify = 4384; public static final int ScenePlayInviteResultNotify = 4432;
public static final int ScenePlayOutofRegionNotify = 4405; public static final int ScenePlayOutofRegionNotify = 4448;
public static final int ScenePlayOwnerCheckReq = 4383; public static final int ScenePlayOwnerCheckReq = 4381;
public static final int ScenePlayOwnerCheckRsp = 4360; public static final int ScenePlayOwnerCheckRsp = 4391;
public static final int ScenePlayOwnerInviteNotify = 4443; public static final int ScenePlayOwnerInviteNotify = 4367;
public static final int ScenePlayOwnerStartInviteReq = 4365; public static final int ScenePlayOwnerStartInviteReq = 4387;
public static final int ScenePlayOwnerStartInviteRsp = 4387; public static final int ScenePlayOwnerStartInviteRsp = 4382;
public static final int ScenePointUnlockNotify = 274; public static final int ScenePointUnlockNotify = 290;
public static final int SceneRouteChangeNotify = 270; public static final int SceneRouteChangeNotify = 278;
public static final int SceneTeamUpdateNotify = 1696; public static final int SceneTeamUpdateNotify = 1699;
public static final int SceneTimeNotify = 229; public static final int SceneTimeNotify = 262;
public static final int SceneTransToPointReq = 256; public static final int SceneTransToPointReq = 286;
public static final int SceneTransToPointRsp = 283; public static final int SceneTransToPointRsp = 263;
public static final int SceneUnlockInfoNotify = 3386; public static final int SceneWeatherForcastReq = 3190;
public static final int SceneWeatherForcastReq = 3167; public static final int SceneWeatherForcastRsp = 3063;
public static final int SceneWeatherForcastRsp = 3023; public static final int SeaLampCoinNotify = 2096;
public static final int SeaLampCoinNotify = 2028; public static final int SeaLampContributeItemReq = 2168;
public static final int SeaLampContributeItemReq = 2122; public static final int SeaLampContributeItemRsp = 2159;
public static final int SeaLampContributeItemRsp = 2084; public static final int SeaLampFlyLampNotify = 2051;
public static final int SeaLampFlyLampNotify = 2075; public static final int SeaLampFlyLampReq = 2071;
public static final int SeaLampFlyLampReq = 2174; public static final int SeaLampFlyLampRsp = 2019;
public static final int SeaLampFlyLampRsp = 2080; public static final int SeaLampPopularityNotify = 2112;
public static final int SeaLampPopularityNotify = 2062; public static final int SeaLampTakeContributionRewardReq = 2069;
public static final int SeaLampTakeContributionRewardReq = 2052; public static final int SeaLampTakeContributionRewardRsp = 2103;
public static final int SeaLampTakeContributionRewardRsp = 2057; public static final int SeaLampTakePhaseRewardReq = 2092;
public static final int SeaLampTakePhaseRewardReq = 2109; public static final int SeaLampTakePhaseRewardRsp = 2160;
public static final int SeaLampTakePhaseRewardRsp = 2132; public static final int SealBattleBeginNotify = 273;
public static final int SealBattleBeginNotify = 225; public static final int SealBattleEndNotify = 261;
public static final int SealBattleEndNotify = 249; public static final int SealBattleProgressNotify = 288;
public static final int SealBattleProgressNotify = 285; public static final int SeeMonsterReq = 281;
public static final int SeeMonsterReq = 299; public static final int SeeMonsterRsp = 264;
public static final int SeeMonsterRsp = 300; public static final int SelectAsterMidDifficultyReq = 2190;
public static final int SelectAsterMidDifficultyReq = 2019; public static final int SelectAsterMidDifficultyRsp = 2010;
public static final int SelectAsterMidDifficultyRsp = 2003; public static final int SelectEffigyChallengeConditionReq = 2111;
public static final int SelectEffigyChallengeConditionReq = 2143; public static final int SelectEffigyChallengeConditionRsp = 2068;
public static final int SelectEffigyChallengeConditionRsp = 2072; public static final int SelectRoguelikeDungeonCardReq = 8070;
public static final int SelectRoguelikeDungeonCardReq = 8964; public static final int SelectRoguelikeDungeonCardRsp = 8040;
public static final int SelectRoguelikeDungeonCardRsp = 8572; public static final int SelectWorktopOptionReq = 832;
public static final int SelectWorktopOptionReq = 837; public static final int SelectWorktopOptionRsp = 817;
public static final int SelectWorktopOptionRsp = 893; public static final int ServerAnnounceNotify = 2029;
public static final int ServerAnnounceNotify = 2199; public static final int ServerAnnounceRevokeNotify = 2141;
public static final int ServerAnnounceRevokeNotify = 2129; public static final int ServerBuffChangeNotify = 393;
public static final int ServerBuffChangeNotify = 332;
public static final int ServerCondMeetQuestListUpdateNotify = 401; public static final int ServerCondMeetQuestListUpdateNotify = 401;
public static final int ServerDisconnectClientNotify = 186; public static final int ServerDisconnectClientNotify = 166;
public static final int ServerGlobalValueChangeNotify = 1188; public static final int ServerGlobalValueChangeNotify = 1130;
public static final int ServerLogNotify = 79; public static final int ServerLogNotify = 55;
public static final int ServerMessageNotify = 5725; public static final int ServerMessageNotify = 5709;
public static final int ServerTimeNotify = 34; public static final int ServerTimeNotify = 82;
public static final int ServerUpdateGlobalValueNotify = 1197; public static final int ServerUpdateGlobalValueNotify = 1107;
public static final int SetBattlePassViewedReq = 2637; public static final int SetBattlePassViewedReq = 2637;
public static final int SetBattlePassViewedRsp = 2606; public static final int SetBattlePassViewedRsp = 2632;
public static final int SetChatEmojiCollectionReq = 4086; public static final int SetChatEmojiCollectionReq = 4066;
public static final int SetChatEmojiCollectionRsp = 4077; public static final int SetChatEmojiCollectionRsp = 4048;
public static final int SetCoopChapterViewedReq = 1980; public static final int SetCoopChapterViewedReq = 1956;
public static final int SetCoopChapterViewedRsp = 1988; public static final int SetCoopChapterViewedRsp = 1998;
public static final int SetCurExpeditionChallengeIdReq = 2017; public static final int SetCurExpeditionChallengeIdReq = 2130;
public static final int SetCurExpeditionChallengeIdRsp = 2099; public static final int SetCurExpeditionChallengeIdRsp = 2093;
public static final int SetEntityClientDataNotify = 3303; public static final int SetEntityClientDataNotify = 3375;
public static final int SetEquipLockStateReq = 635; public static final int SetEquipLockStateReq = 604;
public static final int SetEquipLockStateRsp = 657; public static final int SetEquipLockStateRsp = 605;
public static final int SetFriendEnterHomeOptionReq = 4613; public static final int SetFriendEnterHomeOptionReq = 4761;
public static final int SetFriendEnterHomeOptionRsp = 4724; public static final int SetFriendEnterHomeOptionRsp = 4590;
public static final int SetFriendRemarkNameReq = 4023; public static final int SetFriendRemarkNameReq = 4070;
public static final int SetFriendRemarkNameRsp = 4013; public static final int SetFriendRemarkNameRsp = 4029;
public static final int SetH5ActivityRedDotTimestampReq = 5698; public static final int SetH5ActivityRedDotTimestampReq = 5654;
public static final int SetH5ActivityRedDotTimestampRsp = 5663; public static final int SetH5ActivityRedDotTimestampRsp = 5678;
public static final int SetIsAutoUnlockSpecificEquipReq = 687; public static final int SetIsAutoUnlockSpecificEquipReq = 639;
public static final int SetIsAutoUnlockSpecificEquipRsp = 604; public static final int SetIsAutoUnlockSpecificEquipRsp = 695;
public static final int SetLimitOptimizationNotify = 8189; public static final int SetLimitOptimizationNotify = 8194;
public static final int SetNameCardReq = 4089; public static final int SetNameCardReq = 4006;
public static final int SetNameCardRsp = 4009; public static final int SetNameCardRsp = 4019;
public static final int SetOpenStateReq = 162; public static final int SetOpenStateReq = 138;
public static final int SetOpenStateRsp = 189; public static final int SetOpenStateRsp = 106;
public static final int SetPlayerBirthdayReq = 4097; public static final int SetPlayerBirthdayReq = 4007;
public static final int SetPlayerBirthdayRsp = 4088; public static final int SetPlayerBirthdayRsp = 4030;
public static final int SetPlayerBornDataReq = 155; public static final int SetPlayerBornDataReq = 198;
public static final int SetPlayerBornDataRsp = 146; public static final int SetPlayerBornDataRsp = 145;
public static final int SetPlayerHeadImageReq = 4046; public static final int SetPlayerHeadImageReq = 4045;
public static final int SetPlayerHeadImageRsp = 4074; public static final int SetPlayerHeadImageRsp = 4090;
public static final int SetPlayerNameReq = 183; public static final int SetPlayerNameReq = 163;
public static final int SetPlayerNameRsp = 126; public static final int SetPlayerNameRsp = 124;
public static final int SetPlayerPropReq = 188; public static final int SetPlayerPropReq = 130;
public static final int SetPlayerPropRsp = 128; public static final int SetPlayerPropRsp = 197;
public static final int SetPlayerSignatureReq = 4028; public static final int SetPlayerSignatureReq = 4097;
public static final int SetPlayerSignatureRsp = 4055; public static final int SetPlayerSignatureRsp = 4098;
public static final int SetSceneWeatherAreaReq = 271; public static final int SetSceneWeatherAreaReq = 256;
public static final int SetSceneWeatherAreaRsp = 205; public static final int SetSceneWeatherAreaRsp = 265;
public static final int SetUpAvatarTeamReq = 1671; public static final int SetUpAvatarTeamReq = 1753;
public static final int SetUpAvatarTeamRsp = 1634; public static final int SetUpAvatarTeamRsp = 1664;
public static final int SetUpLunchBoxWidgetReq = 4286; public static final int SetUpLunchBoxWidgetReq = 4297;
public static final int SetUpLunchBoxWidgetRsp = 4293; public static final int SetUpLunchBoxWidgetRsp = 4266;
public static final int SetWidgetSlotReq = 4266; public static final int SetWidgetSlotReq = 4269;
public static final int SetWidgetSlotRsp = 4279; public static final int SetWidgetSlotRsp = 4260;
public static final int ShowClientGuideNotify = 3190; public static final int ShowClientGuideNotify = 3241;
public static final int ShowClientTutorialNotify = 3374; public static final int ShowClientTutorialNotify = 3079;
public static final int ShowCommonTipsNotify = 3277; public static final int ShowCommonTipsNotify = 3357;
public static final int ShowMessageNotify = 15; public static final int ShowMessageNotify = 37;
public static final int ShowTemplateReminderNotify = 3164; public static final int ShowTemplateReminderNotify = 3011;
public static final int SignInInfoReq = 2510; public static final int SignInInfoReq = 2541;
public static final int SignInInfoRsp = 2515; public static final int SignInInfoRsp = 2537;
public static final int SocialDataNotify = 4063; public static final int SocialDataNotify = 4054;
public static final int SpringUseReq = 1720; public static final int SpringUseReq = 1623;
public static final int SpringUseRsp = 1727; public static final int SpringUseRsp = 1733;
public static final int StartArenaChallengeLevelReq = 2022; public static final int StartArenaChallengeLevelReq = 2154;
public static final int StartArenaChallengeLevelRsp = 2033; public static final int StartArenaChallengeLevelRsp = 2191;
public static final int StartBuoyantCombatGalleryReq = 8313; public static final int StartBuoyantCombatGalleryReq = 9000;
public static final int StartBuoyantCombatGalleryRsp = 8754; public static final int StartBuoyantCombatGalleryRsp = 8364;
public static final int StartCoopPointReq = 1956; public static final int StartCoopPointReq = 1982;
public static final int StartCoopPointRsp = 1962; public static final int StartCoopPointRsp = 1964;
public static final int StartEffigyChallengeReq = 2123; public static final int StartEffigyChallengeReq = 2157;
public static final int StartEffigyChallengeRsp = 2166; public static final int StartEffigyChallengeRsp = 2008;
public static final int StartFishingReq = 5845; public static final int StartFishingReq = 5843;
public static final int StartFishingRsp = 5848; public static final int StartFishingRsp = 5804;
public static final int StartRogueEliteCellChallengeReq = 8620; public static final int StartRogueEliteCellChallengeReq = 8722;
public static final int StartRogueEliteCellChallengeRsp = 8198; public static final int StartRogueEliteCellChallengeRsp = 8876;
public static final int StartRogueNormalCellChallengeReq = 8748; public static final int StartRogueNormalCellChallengeReq = 8456;
public static final int StartRogueNormalCellChallengeRsp = 8630; public static final int StartRogueNormalCellChallengeRsp = 8156;
public static final int StoreItemChangeNotify = 610; public static final int StoreItemChangeNotify = 641;
public static final int StoreItemDelNotify = 615; public static final int StoreItemDelNotify = 637;
public static final int StoreWeightLimitNotify = 633; public static final int StoreWeightLimitNotify = 631;
public static final int SummerTimeFloatSignalPositionNotify = 8389; public static final int SummerTimeFloatSignalPositionNotify = 8622;
public static final int SummerTimeFloatSignalUpdateNotify = 8763; public static final int SummerTimeFloatSignalUpdateNotify = 8333;
public static final int SummerTimeSprintBoatRestartReq = 8682; public static final int SummerTimeSprintBoatRestartReq = 8175;
public static final int SummerTimeSprintBoatRestartRsp = 8562; public static final int SummerTimeSprintBoatRestartRsp = 8563;
public static final int SummerTimeSprintBoatSettleNotify = 8150; public static final int SummerTimeSprintBoatSettleNotify = 8117;
public static final int SumoDungeonSettleNotify = 8946; public static final int SumoDungeonSettleNotify = 8426;
public static final int SumoEnterDungeonNotify = 8540; public static final int SumoEnterDungeonNotify = 8727;
public static final int SumoLeaveDungeonNotify = 8460; public static final int SumoLeaveDungeonNotify = 8440;
public static final int SumoRestartDungeonReq = 8602; public static final int SumoRestartDungeonReq = 8585;
public static final int SumoRestartDungeonRsp = 8498; public static final int SumoRestartDungeonRsp = 8628;
public static final int SumoSaveTeamReq = 8874; public static final int SumoSaveTeamReq = 8970;
public static final int SumoSaveTeamRsp = 8287; public static final int SumoSaveTeamRsp = 8890;
public static final int SumoSelectTeamAndEnterDungeonReq = 8605; public static final int SumoSelectTeamAndEnterDungeonReq = 8030;
public static final int SumoSelectTeamAndEnterDungeonRsp = 8998; public static final int SumoSelectTeamAndEnterDungeonRsp = 8915;
public static final int SumoSetNoSwitchPunishTimeNotify = 8804; public static final int SumoSetNoSwitchPunishTimeNotify = 8269;
public static final int SumoSwitchTeamReq = 8718; public static final int SumoSwitchTeamReq = 8400;
public static final int SumoSwitchTeamRsp = 8356; public static final int SumoSwitchTeamRsp = 8442;
public static final int SyncScenePlayTeamEntityNotify = 3296; public static final int SyncScenePlayTeamEntityNotify = 3096;
public static final int SyncTeamEntityNotify = 338; public static final int SyncTeamEntityNotify = 334;
public static final int TakeAchievementGoalRewardReq = 2695; public static final int TakeAchievementGoalRewardReq = 2678;
public static final int TakeAchievementGoalRewardRsp = 2698; public static final int TakeAchievementGoalRewardRsp = 2653;
public static final int TakeAchievementRewardReq = 2685; public static final int TakeAchievementRewardReq = 2693;
public static final int TakeAchievementRewardRsp = 2675; public static final int TakeAchievementRewardRsp = 2654;
public static final int TakeAsterSpecialRewardReq = 2051; public static final int TakeAsterSpecialRewardReq = 2174;
public static final int TakeAsterSpecialRewardRsp = 2041; public static final int TakeAsterSpecialRewardRsp = 2035;
public static final int TakeBattlePassMissionPointReq = 2617; public static final int TakeBattlePassMissionPointReq = 2626;
public static final int TakeBattlePassMissionPointRsp = 2636; public static final int TakeBattlePassMissionPointRsp = 2647;
public static final int TakeBattlePassRewardReq = 2613; public static final int TakeBattlePassRewardReq = 2628;
public static final int TakeBattlePassRewardRsp = 2601; public static final int TakeBattlePassRewardRsp = 2603;
public static final int TakeCityReputationExploreRewardReq = 2888; public static final int TakeCityReputationExploreRewardReq = 2830;
public static final int TakeCityReputationExploreRewardRsp = 2828; public static final int TakeCityReputationExploreRewardRsp = 2897;
public static final int TakeCityReputationLevelRewardReq = 2810; public static final int TakeCityReputationLevelRewardReq = 2841;
public static final int TakeCityReputationLevelRewardRsp = 2815; public static final int TakeCityReputationLevelRewardRsp = 2837;
public static final int TakeCityReputationParentQuestReq = 2893; public static final int TakeCityReputationParentQuestReq = 2817;
public static final int TakeCityReputationParentQuestRsp = 2844; public static final int TakeCityReputationParentQuestRsp = 2885;
public static final int TakeCompoundOutputReq = 108; public static final int TakeCompoundOutputReq = 146;
public static final int TakeCompoundOutputRsp = 117; public static final int TakeCompoundOutputRsp = 133;
public static final int TakeCoopRewardReq = 1996; public static final int TakeCoopRewardReq = 1977;
public static final int TakeCoopRewardRsp = 1981; public static final int TakeCoopRewardRsp = 1965;
public static final int TakeDeliveryDailyRewardReq = 2055; public static final int TakeDeliveryDailyRewardReq = 2037;
public static final int TakeDeliveryDailyRewardRsp = 2104; public static final int TakeDeliveryDailyRewardRsp = 2083;
public static final int TakeEffigyFirstPassRewardReq = 2071; public static final int TakeEffigyFirstPassRewardReq = 2200;
public static final int TakeEffigyFirstPassRewardRsp = 2034; public static final int TakeEffigyFirstPassRewardRsp = 2073;
public static final int TakeEffigyRewardReq = 2113; public static final int TakeEffigyRewardReq = 2062;
public static final int TakeEffigyRewardRsp = 2008; public static final int TakeEffigyRewardRsp = 2110;
public static final int TakeFirstShareRewardReq = 4008; public static final int TakeFirstShareRewardReq = 4046;
public static final int TakeFirstShareRewardRsp = 4017; public static final int TakeFirstShareRewardRsp = 4033;
public static final int TakeFurnitureMakeReq = 4751; public static final int TakeFurnitureMakeReq = 4768;
public static final int TakeFurnitureMakeRsp = 4457; public static final int TakeFurnitureMakeRsp = 4599;
public static final int TakeHuntingOfferReq = 4750; public static final int TakeHuntingOfferReq = 4318;
public static final int TakeHuntingOfferRsp = 4782; public static final int TakeHuntingOfferRsp = 4309;
public static final int TakeInvestigationRewardReq = 1926; public static final int TakeInvestigationRewardReq = 1925;
public static final int TakeInvestigationRewardRsp = 1925; public static final int TakeInvestigationRewardRsp = 1903;
public static final int TakeInvestigationTargetRewardReq = 1915; public static final int TakeInvestigationTargetRewardReq = 1901;
public static final int TakeInvestigationTargetRewardRsp = 1929; public static final int TakeInvestigationTargetRewardRsp = 1908;
public static final int TakeMaterialDeleteReturnReq = 651; public static final int TakeMaterialDeleteReturnReq = 660;
public static final int TakeMaterialDeleteReturnRsp = 684; public static final int TakeMaterialDeleteReturnRsp = 677;
public static final int TakeoffEquipReq = 655; public static final int TakeoffEquipReq = 698;
public static final int TakeoffEquipRsp = 646; public static final int TakeoffEquipRsp = 645;
public static final int TakeOfferingLevelRewardReq = 2921; public static final int TakeOfferingLevelRewardReq = 2903;
public static final int TakeOfferingLevelRewardRsp = 2910; public static final int TakeOfferingLevelRewardRsp = 2902;
public static final int TakePlayerLevelRewardReq = 151; public static final int TakePlayerLevelRewardReq = 160;
public static final int TakePlayerLevelRewardRsp = 184; public static final int TakePlayerLevelRewardRsp = 177;
public static final int TakeRegionSearchRewardReq = 5645; public static final int TakeRegionSearchRewardReq = 5643;
public static final int TakeRegionSearchRewardRsp = 5648; public static final int TakeRegionSearchRewardRsp = 5604;
public static final int TakeResinCardDailyRewardReq = 4136; public static final int TakeResinCardDailyRewardReq = 4147;
public static final int TakeResinCardDailyRewardRsp = 4143; public static final int TakeResinCardDailyRewardRsp = 4116;
public static final int TakeReunionFirstGiftRewardReq = 5095; public static final int TakeReunionFirstGiftRewardReq = 5093;
public static final int TakeReunionFirstGiftRewardRsp = 5098; public static final int TakeReunionFirstGiftRewardRsp = 5054;
public static final int TakeReunionMissionRewardReq = 5056; public static final int TakeReunionMissionRewardReq = 5082;
public static final int TakeReunionMissionRewardRsp = 5062; public static final int TakeReunionMissionRewardRsp = 5064;
public static final int TakeReunionSignInRewardReq = 5067; public static final int TakeReunionSignInRewardReq = 5076;
public static final int TakeReunionSignInRewardRsp = 5086; public static final int TakeReunionSignInRewardRsp = 5097;
public static final int TakeReunionWatcherRewardReq = 5065; public static final int TakeReunionWatcherRewardReq = 5052;
public static final int TakeReunionWatcherRewardRsp = 5077; public static final int TakeReunionWatcherRewardRsp = 5063;
public static final int TaskVarNotify = 178; public static final int TaskVarNotify = 191;
public static final int TeamResonanceChangeNotify = 1046; public static final int TeamResonanceChangeNotify = 1045;
public static final int TowerAllDataReq = 2445; public static final int TowerAllDataReq = 2435;
public static final int TowerAllDataRsp = 2475; public static final int TowerAllDataRsp = 2449;
public static final int TowerBriefDataNotify = 2460; public static final int TowerBriefDataNotify = 2409;
public static final int TowerBuffSelectReq = 2497; public static final int TowerBuffSelectReq = 2407;
public static final int TowerBuffSelectRsp = 2488; public static final int TowerBuffSelectRsp = 2430;
public static final int TowerCurLevelRecordChangeNotify = 2410; public static final int TowerCurLevelRecordChangeNotify = 2441;
public static final int TowerDailyRewardProgressChangeNotify = 2415; public static final int TowerDailyRewardProgressChangeNotify = 2437;
public static final int TowerEnterLevelReq = 2479; public static final int TowerEnterLevelReq = 2455;
public static final int TowerEnterLevelRsp = 2491; public static final int TowerEnterLevelRsp = 2427;
public static final int TowerFloorRecordChangeNotify = 2433; public static final int TowerFloorRecordChangeNotify = 2431;
public static final int TowerGetFloorStarRewardReq = 2489; public static final int TowerGetFloorStarRewardReq = 2406;
public static final int TowerGetFloorStarRewardRsp = 2409; public static final int TowerGetFloorStarRewardRsp = 2419;
public static final int TowerLevelEndNotify = 2464; public static final int TowerLevelEndNotify = 2442;
public static final int TowerLevelStarCondNotify = 2401; public static final int TowerLevelStarCondNotify = 2401;
public static final int TowerMiddleLevelChangeTeamNotify = 2466; public static final int TowerMiddleLevelChangeTeamNotify = 2411;
public static final int TowerRecordHandbookReq = 2473; public static final int TowerRecordHandbookReq = 2422;
public static final int TowerRecordHandbookRsp = 2463; public static final int TowerRecordHandbookRsp = 2454;
public static final int TowerSurrenderReq = 2426; public static final int TowerSurrenderReq = 2424;
public static final int TowerSurrenderRsp = 2462; public static final int TowerSurrenderRsp = 2438;
public static final int TowerTeamSelectReq = 2493; public static final int TowerTeamSelectReq = 2417;
public static final int TowerTeamSelectRsp = 2444; public static final int TowerTeamSelectRsp = 2485;
public static final int TreasureMapBonusChallengeNotify = 2121; public static final int TreasureMapBonusChallengeNotify = 2075;
public static final int TreasureMapCurrencyNotify = 2127; public static final int TreasureMapCurrencyNotify = 2098;
public static final int TreasureMapDetectorDataNotify = 4272; public static final int TreasureMapDetectorDataNotify = 4291;
public static final int TreasureMapGuideTaskDoneNotify = 2200; public static final int TreasureMapGuideTaskDoneNotify = 2088;
public static final int TreasureMapHostInfoNotify = 8960; public static final int TreasureMapHostInfoNotify = 8206;
public static final int TreasureMapMpChallengeNotify = 2177; public static final int TreasureMapMpChallengeNotify = 2036;
public static final int TreasureMapPreTaskDoneNotify = 2188; public static final int TreasureMapPreTaskDoneNotify = 2055;
public static final int TreasureMapRegionActiveNotify = 2141; public static final int TreasureMapRegionActiveNotify = 2059;
public static final int TreasureMapRegionInfoNotify = 2120; public static final int TreasureMapRegionInfoNotify = 2106;
public static final int TrialAvatarFirstPassDungeonNotify = 2093; public static final int TrialAvatarFirstPassDungeonNotify = 2137;
public static final int TrialAvatarInDungeonIndexNotify = 2138; public static final int TrialAvatarInDungeonIndexNotify = 2024;
public static final int TriggerCreateGadgetToEquipPartNotify = 373; public static final int TriggerCreateGadgetToEquipPartNotify = 322;
public static final int TriggerRoguelikeCurseNotify = 8878; public static final int TriggerRoguelikeCurseNotify = 8235;
public static final int TriggerRoguelikeRuneReq = 8607; public static final int TriggerRoguelikeRuneReq = 8138;
public static final int TriggerRoguelikeRuneRsp = 8246; public static final int TriggerRoguelikeRuneRsp = 8781;
public static final int TryEnterHomeReq = 4622; public static final int TryEnterHomeReq = 4553;
public static final int TryEnterHomeRsp = 4731; public static final int TryEnterHomeRsp = 4610;
public static final int UnfreezeGroupLimitNotify = 3401; public static final int UnfreezeGroupLimitNotify = 3253;
public static final int UnionCmdNotify = 55; public static final int UnionCmdNotify = 98;
public static final int UnlockAvatarTalentReq = 1060; public static final int UnlockAvatarTalentReq = 1009;
public static final int UnlockAvatarTalentRsp = 1033; public static final int UnlockAvatarTalentRsp = 1031;
public static final int UnlockCoopChapterReq = 1965; public static final int UnlockCoopChapterReq = 1952;
public static final int UnlockCoopChapterRsp = 1977; public static final int UnlockCoopChapterRsp = 1963;
public static final int UnlockedFurnitureFormulaDataNotify = 4700; public static final int UnlockedFurnitureFormulaDataNotify = 4680;
public static final int UnlockedFurnitureSuiteDataNotify = 4788; public static final int UnlockedFurnitureSuiteDataNotify = 4717;
public static final int UnlockNameCardNotify = 4001; public static final int UnlockNameCardNotify = 4001;
public static final int UnlockPersonalLineReq = 402; public static final int UnlockPersonalLineReq = 476;
public static final int UnlockPersonalLineRsp = 452; public static final int UnlockPersonalLineRsp = 472;
public static final int UnlockTransPointReq = 3421; public static final int UnlockTransPointReq = 3228;
public static final int UnlockTransPointRsp = 3073; public static final int UnlockTransPointRsp = 3101;
public static final int UnmarkEntityInMinMapNotify = 247; public static final int UnmarkEntityInMinMapNotify = 216;
public static final int UpdateAbilityCreatedMovingPlatformNotify = 828; public static final int UpdateAbilityCreatedMovingPlatformNotify = 897;
public static final int UpdatePlayerShowAvatarListReq = 4036; public static final int UpdatePlayerShowAvatarListReq = 4025;
public static final int UpdatePlayerShowAvatarListRsp = 4024; public static final int UpdatePlayerShowAvatarListRsp = 4083;
public static final int UpdatePlayerShowNameCardListReq = 4030; public static final int UpdatePlayerShowNameCardListReq = 4002;
public static final int UpdatePlayerShowNameCardListRsp = 4047; public static final int UpdatePlayerShowNameCardListRsp = 4016;
public static final int UpdatePS4BlockListReq = 4081; public static final int UpdatePS4BlockListReq = 4036;
public static final int UpdatePS4BlockListRsp = 4027; public static final int UpdatePS4BlockListRsp = 4028;
public static final int UpdatePS4FriendListNotify = 4056; public static final int UpdatePS4FriendListNotify = 4086;
public static final int UpdatePS4FriendListReq = 4025; public static final int UpdatePS4FriendListReq = 4073;
public static final int UpdatePS4FriendListRsp = 4049; public static final int UpdatePS4FriendListRsp = 4061;
public static final int UpdateRedPointNotify = 9; public static final int UpdateRedPointNotify = 19;
public static final int UpdateReunionWatcherNotify = 5087; public static final int UpdateReunionWatcherNotify = 5087;
public static final int UpgradeRoguelikeShikigamiReq = 8575; public static final int UpgradeRoguelikeShikigamiReq = 8422;
public static final int UpgradeRoguelikeShikigamiRsp = 8440; public static final int UpgradeRoguelikeShikigamiRsp = 8671;
public static final int UseItemReq = 645; public static final int UseItemReq = 635;
public static final int UseItemRsp = 675; public static final int UseItemRsp = 649;
public static final int UseMiracleRingReq = 5235; public static final int UseMiracleRingReq = 5218;
public static final int UseMiracleRingRsp = 5225; public static final int UseMiracleRingRsp = 5209;
public static final int UseWidgetCreateGadgetReq = 4278; public static final int UseWidgetCreateGadgetReq = 4283;
public static final int UseWidgetCreateGadgetRsp = 4290; public static final int UseWidgetCreateGadgetRsp = 4279;
public static final int UseWidgetRetractGadgetReq = 4255; public static final int UseWidgetRetractGadgetReq = 4290;
public static final int UseWidgetRetractGadgetRsp = 4297; public static final int UseWidgetRetractGadgetRsp = 4271;
public static final int VehicleInteractReq = 862; public static final int VehicleInteractReq = 838;
public static final int VehicleInteractRsp = 889; public static final int VehicleInteractRsp = 806;
public static final int VehicleSpawnReq = 809; public static final int VehicleStaminaNotify = 811;
public static final int VehicleSpawnRsp = 865; public static final int ViewCodexReq = 4203;
public static final int VehicleStaminaNotify = 866; public static final int ViewCodexRsp = 4202;
public static final int ViewCodexReq = 4210; public static final int WatcherAllDataNotify = 2209;
public static final int ViewCodexRsp = 4209; public static final int WatcherChangeNotify = 2231;
public static final int WatcherAllDataNotify = 2260; public static final int WatcherEventNotify = 2241;
public static final int WatcherChangeNotify = 2233; public static final int WatcherEventTypeNotify = 2237;
public static final int WatcherEventNotify = 2210; public static final int WaterSpritePhaseFinishNotify = 2028;
public static final int WatcherEventTypeNotify = 2215; public static final int WeaponAwakenReq = 642;
public static final int WaterSpritePhaseFinishNotify = 2097;
public static final int WeaponAwakenReq = 664;
public static final int WeaponAwakenRsp = 601; public static final int WeaponAwakenRsp = 601;
public static final int WeaponPromoteReq = 626; public static final int WeaponPromoteReq = 624;
public static final int WeaponPromoteRsp = 662; public static final int WeaponPromoteRsp = 638;
public static final int WeaponUpgradeReq = 656; public static final int WeaponUpgradeReq = 686;
public static final int WeaponUpgradeRsp = 683; public static final int WeaponUpgradeRsp = 663;
public static final int WearEquipReq = 688; public static final int WearEquipReq = 630;
public static final int WearEquipRsp = 628; public static final int WearEquipRsp = 697;
public static final int WidgetActiveChangeNotify = 4273; public static final int WidgetActiveChangeNotify = 4295;
public static final int WidgetCoolDownNotify = 4277; public static final int WidgetCoolDownNotify = 4263;
public static final int WidgetDoBagReq = 4269; public static final int WidgetDoBagReq = 4284;
public static final int WidgetDoBagRsp = 4270; public static final int WidgetDoBagRsp = 4286;
public static final int WidgetGadgetAllDataNotify = 4260; public static final int WidgetGadgetAllDataNotify = 4285;
public static final int WidgetGadgetDataNotify = 4268; public static final int WidgetGadgetDataNotify = 4292;
public static final int WidgetGadgetDestroyNotify = 4282; public static final int WidgetGadgetDestroyNotify = 4275;
public static final int WidgetReportReq = 4287; public static final int WidgetReportReq = 4287;
public static final int WidgetReportRsp = 4256; public static final int WidgetReportRsp = 4282;
public static final int WidgetSlotChangeNotify = 4299; public static final int WidgetSlotChangeNotify = 4274;
public static final int WidgetUseAttachAbilityGroupChangeNotify = 4257; public static final int WidgetUseAttachAbilityGroupChangeNotify = 4299;
public static final int WindSeedClientNotify = 1134; public static final int WindSeedClientNotify = 1182;
public static final int WorktopOptionNotify = 815; public static final int WorktopOptionNotify = 837;
public static final int WorldAllRoutineTypeNotify = 3525; public static final int WorldAllRoutineTypeNotify = 3509;
public static final int WorldDataNotify = 3330; public static final int WorldDataNotify = 3131;
public static final int WorldOwnerBlossomBriefInfoNotify = 2715; public static final int WorldOwnerBlossomBriefInfoNotify = 2737;
public static final int WorldOwnerBlossomScheduleInfoNotify = 2737; public static final int WorldOwnerBlossomScheduleInfoNotify = 2732;
public static final int WorldOwnerDailyTaskNotify = 130; public static final int WorldOwnerDailyTaskNotify = 102;
public static final int WorldPlayerDieNotify = 211; public static final int WorldPlayerDieNotify = 296;
public static final int WorldPlayerInfoNotify = 3088; public static final int WorldPlayerInfoNotify = 3304;
public static final int WorldPlayerLocationNotify = 224; public static final int WorldPlayerLocationNotify = 283;
public static final int WorldPlayerReviveReq = 216; public static final int WorldPlayerReviveReq = 247;
public static final int WorldPlayerReviveRsp = 222; public static final int WorldPlayerReviveRsp = 280;
public static final int WorldPlayerRTTNotify = 26; public static final int WorldPlayerRTTNotify = 24;
public static final int WorldRoutineChangeNotify = 3548; public static final int WorldRoutineChangeNotify = 3504;
public static final int WorldRoutineTypeCloseNotify = 3513; public static final int WorldRoutineTypeCloseNotify = 3528;
public static final int WorldRoutineTypeRefreshNotify = 3545; public static final int WorldRoutineTypeRefreshNotify = 3543;
// Unknown // Unknown
public static final int UNKNOWN = 2013;
public static final int UNKNOWN_1 = 2042;
public static final int UNKNOWN_2 = 343;
public static final int UNKNOWN_3 = 4259;
public static final int UNKNOWN_4 = 4261;
public static final int UNKNOWN_5 = 4306;
public static final int UNKNOWN_6 = 4315;
public static final int UNKNOWN_7 = 4317;
public static final int UNKNOWN_8 = 4326;
public static final int UNKNOWN_9 = 4327;
public static final int UNKNOWN_10 = 4336;
public static final int UNKNOWN_11 = 4337;
public static final int UNKNOWN_12 = 4343;
public static final int UNKNOWN_13 = 5932;
public static final int UNKNOWN_14 = 5959;
public static final int UNKNOWN_15 = 67;
public static final int UNKNOWN_16 = 8010;
public static final int UNKNOWN_17 = 8024;
public static final int UNKNOWN_18 = 8050;
public static final int UNKNOWN_19 = 8077;
public static final int UNKNOWN_20 = 8083;
public static final int UNKNOWN_21 = 8114;
public static final int UNKNOWN_22 = 8154;
public static final int UNKNOWN_23 = 8157;
public static final int UNKNOWN_24 = 8188;
public static final int UNKNOWN_25 = 8190;
public static final int UNKNOWN_26 = 8210;
public static final int UNKNOWN_27 = 8385;
public static final int UNKNOWN_28 = 8405;
public static final int UNKNOWN_29 = 8420;
public static final int UNKNOWN_30 = 8421;
public static final int UNKNOWN_31 = 8429;
public static final int UNKNOWN_32 = 8437;
public static final int UNKNOWN_33 = 8439;
public static final int UNKNOWN_34 = 8461;
public static final int UNKNOWN_35 = 8502;
public static final int UNKNOWN_36 = 8559;
public static final int UNKNOWN_37 = 8580;
public static final int UNKNOWN_38 = 8604;
public static final int UNKNOWN_39 = 8710;
public static final int UNKNOWN_40 = 8761;
public static final int UNKNOWN_41 = 8787;
public static final int UNKNOWN_42 = 8830;
public static final int UNKNOWN_43 = 8877;
public static final int UNKNOWN_44 = 8983;
public static final int UNKNOWN_45 = 943;
public static final List<Integer> BANNED_PACKETS = Arrays.asList(PacketOpcodes.WindSeedClientNotify, PacketOpcodes.PlayerLuaShellNotify); public static final HashSet<Integer> BANNED_PACKETS = new HashSet<Integer>() {{
add(PacketOpcodes.WindSeedClientNotify);
add(PacketOpcodes.PlayerLuaShellNotify);
}};
} }
...@@ -17,10 +17,12 @@ public class PacketOpcodesUtil { ...@@ -17,10 +17,12 @@ public class PacketOpcodesUtil {
Field[] fields = PacketOpcodes.class.getFields(); Field[] fields = PacketOpcodes.class.getFields();
for (Field f : fields) { for (Field f : fields) {
try { if(f.getType().equals(int.class)) {
opcodeMap.put(f.getInt(null), f.getName()); try {
} catch (Exception e) { opcodeMap.put(f.getInt(null), f.getName());
e.printStackTrace(); } catch (Exception e) {
e.printStackTrace();
}
} }
} }
} }
......
...@@ -3,11 +3,15 @@ package emu.grasscutter.plugin; ...@@ -3,11 +3,15 @@ package emu.grasscutter.plugin;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.plugin.api.ServerHook; import emu.grasscutter.plugin.api.ServerHook;
import emu.grasscutter.server.game.GameServer; import emu.grasscutter.server.game.GameServer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.net.URLClassLoader; import java.net.URLClassLoader;
import static emu.grasscutter.Configuration.*;
/** /**
* The base class for all plugins to extend. * The base class for all plugins to extend.
*/ */
...@@ -17,6 +21,7 @@ public abstract class Plugin { ...@@ -17,6 +21,7 @@ public abstract class Plugin {
private PluginIdentifier identifier; private PluginIdentifier identifier;
private URLClassLoader classLoader; private URLClassLoader classLoader;
private File dataFolder; private File dataFolder;
private Logger logger;
/** /**
* This method is reflected into. * This method is reflected into.
...@@ -32,7 +37,8 @@ public abstract class Plugin { ...@@ -32,7 +37,8 @@ public abstract class Plugin {
this.identifier = identifier; this.identifier = identifier;
this.classLoader = classLoader; this.classLoader = classLoader;
this.dataFolder = new File(Grasscutter.getConfig().PLUGINS_FOLDER, identifier.name); this.dataFolder = new File(PLUGIN(), identifier.name);
this.logger = LoggerFactory.getLogger(identifier.name);
if(!this.dataFolder.exists() && !this.dataFolder.mkdirs()) { if(!this.dataFolder.exists() && !this.dataFolder.mkdirs()) {
Grasscutter.getLogger().warn("Failed to create plugin data folder for " + this.identifier.name); Grasscutter.getLogger().warn("Failed to create plugin data folder for " + this.identifier.name);
...@@ -101,6 +107,14 @@ public abstract class Plugin { ...@@ -101,6 +107,14 @@ public abstract class Plugin {
public final ServerHook getHandle() { public final ServerHook getHandle() {
return this.server; return this.server;
} }
/**
* Returns the plugin's logger.
* @return A SLF4J logger.
*/
public final Logger getLogger() {
return this.logger;
}
/* Called when the plugin is first loaded. */ /* Called when the plugin is first loaded. */
public void onLoad() { } public void onLoad() { }
......
...@@ -7,6 +7,7 @@ import emu.grasscutter.server.event.HandlerPriority; ...@@ -7,6 +7,7 @@ import emu.grasscutter.server.event.HandlerPriority;
import emu.grasscutter.utils.Utils; import emu.grasscutter.utils.Utils;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.net.MalformedURLException; import java.net.MalformedURLException;
...@@ -16,6 +17,8 @@ import java.util.*; ...@@ -16,6 +17,8 @@ import java.util.*;
import java.util.jar.JarEntry; import java.util.jar.JarEntry;
import java.util.jar.JarFile; import java.util.jar.JarFile;
import static emu.grasscutter.Configuration.*;
/** /**
* Manages the server's plugins and the event system. * Manages the server's plugins and the event system.
*/ */
...@@ -31,8 +34,7 @@ public final class PluginManager { ...@@ -31,8 +34,7 @@ public final class PluginManager {
* Loads plugins from the config-specified directory. * Loads plugins from the config-specified directory.
*/ */
private void loadPlugins() { private void loadPlugins() {
String directory = Grasscutter.getConfig().PLUGINS_FOLDER; File pluginsDir = new File(Utils.toFilePath(PLUGIN()));
File pluginsDir = new File(Utils.toFilePath(directory));
if(!pluginsDir.exists() && !pluginsDir.mkdirs()) { if(!pluginsDir.exists() && !pluginsDir.mkdirs()) {
Grasscutter.getLogger().error("Failed to create plugins directory: " + pluginsDir.getAbsolutePath()); Grasscutter.getLogger().error("Failed to create plugins directory: " + pluginsDir.getAbsolutePath());
return; return;
...@@ -89,6 +91,8 @@ public final class PluginManager { ...@@ -89,6 +91,8 @@ public final class PluginManager {
fileReader.close(); // Close the file reader. fileReader.close(); // Close the file reader.
} catch (ClassNotFoundException ignored) { } catch (ClassNotFoundException ignored) {
Grasscutter.getLogger().warn("Plugin " + plugin.getName() + " has an invalid main class."); Grasscutter.getLogger().warn("Plugin " + plugin.getName() + " has an invalid main class.");
} catch (FileNotFoundException ignored) {
Grasscutter.getLogger().warn("Plugin " + plugin.getName() + " lacks a valid config file.");
} }
} catch (Exception exception) { } catch (Exception exception) {
Grasscutter.getLogger().error("Failed to load plugin: " + plugin.getName(), exception); Grasscutter.getLogger().error("Failed to load plugin: " + plugin.getName(), exception);
......
...@@ -83,7 +83,7 @@ public final class PlayerHook { ...@@ -83,7 +83,7 @@ public final class PlayerHook {
public void teleport(Position position) { public void teleport(Position position) {
this.player.getPos().set(position); this.player.getPos().set(position);
this.player.sendPacket(new PacketPlayerEnterSceneNotify(this.player, this.player.sendPacket(new PacketPlayerEnterSceneNotify(this.player,
EnterType.ENTER_JUMP, EnterReason.TransPoint, EnterType.ENTER_TYPE_JUMP, EnterReason.TransPoint,
this.player.getSceneId(), position this.player.getSceneId(), position
)); ));
} }
......
package emu.grasscutter.plugin.api; package emu.grasscutter.plugin.api;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.auth.AuthenticationSystem;
import emu.grasscutter.command.Command; import emu.grasscutter.command.Command;
import emu.grasscutter.command.CommandHandler; import emu.grasscutter.command.CommandHandler;
import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.dispatch.DispatchServer;
import emu.grasscutter.server.game.GameServer; import emu.grasscutter.server.game.GameServer;
import emu.grasscutter.server.http.HttpServer;
import emu.grasscutter.server.http.Router;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
...@@ -15,7 +18,7 @@ import java.util.List; ...@@ -15,7 +18,7 @@ import java.util.List;
public final class ServerHook { public final class ServerHook {
private static ServerHook instance; private static ServerHook instance;
private final GameServer gameServer; private final GameServer gameServer;
private final DispatchServer dispatchServer; private final HttpServer httpServer;
/** /**
* Gets the server hook instance. * Gets the server hook instance.
...@@ -28,11 +31,11 @@ public final class ServerHook { ...@@ -28,11 +31,11 @@ public final class ServerHook {
/** /**
* Hooks into a server. * Hooks into a server.
* @param gameServer The game server to hook into. * @param gameServer The game server to hook into.
* @param dispatchServer The dispatch server to hook into. * @param httpServer The HTTP server to hook into.
*/ */
public ServerHook(GameServer gameServer, DispatchServer dispatchServer) { public ServerHook(GameServer gameServer, HttpServer httpServer) {
this.gameServer = gameServer; this.gameServer = gameServer;
this.dispatchServer = dispatchServer; this.httpServer = httpServer;
instance = this; instance = this;
} }
...@@ -45,10 +48,10 @@ public final class ServerHook { ...@@ -45,10 +48,10 @@ public final class ServerHook {
} }
/** /**
* @return The dispatch server. * @return The HTTP server.
*/ */
public DispatchServer getDispatchServer() { public HttpServer getHttpServer() {
return this.dispatchServer; return this.httpServer;
} }
/** /**
...@@ -70,4 +73,28 @@ public final class ServerHook { ...@@ -70,4 +73,28 @@ public final class ServerHook {
Command commandData = clazz.getAnnotation(Command.class); Command commandData = clazz.getAnnotation(Command.class);
this.gameServer.getCommandMap().registerCommand(commandData.label(), handler); this.gameServer.getCommandMap().registerCommand(commandData.label(), handler);
} }
/**
* Adds a router using an instance of a class.
* @param router A router instance.
*/
public void addRouter(Router router) {
this.addRouter(router.getClass());
}
/**
* Adds a router using a class.
* @param router The class of the router.
*/
public void addRouter(Class<? extends Router> router) {
this.httpServer.addRouter(router);
}
/**
* Sets the server's authentication system.
* @param authSystem An instance of the authentication system.
*/
public void setAuthSystem(AuthenticationSystem authSystem) {
Grasscutter.setAuthenticationSystem(authSystem);
}
} }
\ No newline at end of file
package emu.grasscutter.scripts; package emu.grasscutter.scripts;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.script.Bindings; import javax.script.Bindings;
import javax.script.CompiledScript; import javax.script.CompiledScript;
import javax.script.ScriptException; import javax.script.ScriptException;
import org.luaj.vm2.LuaTable; import emu.grasscutter.scripts.service.ScriptMonsterSpawnService;
import emu.grasscutter.scripts.service.ScriptMonsterTideService;
import org.luaj.vm2.LuaError;
import org.luaj.vm2.LuaValue; import org.luaj.vm2.LuaValue;
import org.luaj.vm2.lib.jse.CoerceJavaToLua; import org.luaj.vm2.lib.jse.CoerceJavaToLua;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.MonsterData;
import emu.grasscutter.data.def.WorldLevelData;
import emu.grasscutter.game.entity.EntityGadget; import emu.grasscutter.game.entity.EntityGadget;
import emu.grasscutter.game.entity.EntityMonster;
import emu.grasscutter.game.entity.GameEntity;
import emu.grasscutter.game.props.EntityType;
import emu.grasscutter.game.world.Scene; import emu.grasscutter.game.world.Scene;
import emu.grasscutter.scripts.constants.EventType; import emu.grasscutter.scripts.constants.EventType;
import emu.grasscutter.scripts.constants.ScriptGadgetState;
import emu.grasscutter.scripts.constants.ScriptRegionShape;
import emu.grasscutter.scripts.data.SceneBlock; import emu.grasscutter.scripts.data.SceneBlock;
import emu.grasscutter.scripts.data.SceneConfig; import emu.grasscutter.scripts.data.SceneConfig;
import emu.grasscutter.scripts.data.SceneGadget; import emu.grasscutter.scripts.data.SceneGadget;
...@@ -43,28 +31,43 @@ import emu.grasscutter.scripts.data.ScriptArgs; ...@@ -43,28 +31,43 @@ import emu.grasscutter.scripts.data.ScriptArgs;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import static emu.grasscutter.Configuration.*;
public class SceneScriptManager { public class SceneScriptManager {
private final Scene scene; private final Scene scene;
private final ScriptLib scriptLib; private final ScriptLib scriptLib;
private final LuaValue scriptLibLua; private final LuaValue scriptLibLua;
private final Map<String, Integer> variables; private final Map<String, Integer> variables;
private Bindings bindings; private Bindings bindings;
private SceneConfig config; private SceneConfig config;
private List<SceneBlock> blocks; private List<SceneBlock> blocks;
private boolean isInit; private boolean isInit;
/**
private final Int2ObjectOpenHashMap<Set<SceneTrigger>> triggers; * SceneTrigger Set
*/
private final Map<String, SceneTrigger> triggers;
/**
* current triggers controlled by RefreshGroup
*/
private final Int2ObjectOpenHashMap<Set<SceneTrigger>> currentTriggers;
private final Int2ObjectOpenHashMap<SceneRegion> regions; private final Int2ObjectOpenHashMap<SceneRegion> regions;
private Map<Integer,SceneGroup> sceneGroups;
private SceneGroup currentGroup;
private ScriptMonsterTideService scriptMonsterTideService;
private ScriptMonsterSpawnService scriptMonsterSpawnService;
public SceneScriptManager(Scene scene) { public SceneScriptManager(Scene scene) {
this.scene = scene; this.scene = scene;
this.scriptLib = new ScriptLib(this); this.scriptLib = new ScriptLib(this);
this.scriptLibLua = CoerceJavaToLua.coerce(this.scriptLib); this.scriptLibLua = CoerceJavaToLua.coerce(this.scriptLib);
this.triggers = new Int2ObjectOpenHashMap<>(); this.triggers = new HashMap<>();
this.currentTriggers = new Int2ObjectOpenHashMap<>();
this.regions = new Int2ObjectOpenHashMap<>(); this.regions = new Int2ObjectOpenHashMap<>();
this.variables = new HashMap<>(); this.variables = new HashMap<>();
this.sceneGroups = new HashMap<>();
this.scriptMonsterSpawnService = new ScriptMonsterSpawnService(this);
// TEMPORARY // TEMPORARY
if (this.getScene().getId() < 10) { if (this.getScene().getId() < 10) {
return; return;
...@@ -94,6 +97,10 @@ public class SceneScriptManager { ...@@ -94,6 +97,10 @@ public class SceneScriptManager {
return config; return config;
} }
public SceneGroup getCurrentGroup() {
return currentGroup;
}
public List<SceneBlock> getBlocks() { public List<SceneBlock> getBlocks() {
return blocks; return blocks;
} }
...@@ -103,17 +110,35 @@ public class SceneScriptManager { ...@@ -103,17 +110,35 @@ public class SceneScriptManager {
} }
public Set<SceneTrigger> getTriggersByEvent(int eventId) { public Set<SceneTrigger> getTriggersByEvent(int eventId) {
return triggers.computeIfAbsent(eventId, e -> new HashSet<>()); return currentTriggers.computeIfAbsent(eventId, e -> new HashSet<>());
} }
public void registerTrigger(SceneTrigger trigger) { public void registerTrigger(SceneTrigger trigger) {
this.triggers.put(trigger.name, trigger);
getTriggersByEvent(trigger.event).add(trigger); getTriggersByEvent(trigger.event).add(trigger);
} }
public void deregisterTrigger(SceneTrigger trigger) { public void deregisterTrigger(SceneTrigger trigger) {
this.triggers.remove(trigger.name);
getTriggersByEvent(trigger.event).remove(trigger); getTriggersByEvent(trigger.event).remove(trigger);
} }
public void resetTriggers(List<String> triggerNames) {
for(var name : triggerNames){
var instance = triggers.get(name);
this.currentTriggers.get(instance.event).clear();
this.currentTriggers.get(instance.event).add(instance);
}
}
public void refreshGroup(SceneGroup group, int suiteIndex){
var suite = group.getSuiteByIndex(suiteIndex);
if(suite == null){
return;
}
if(suite.triggers.size() > 0){
resetTriggers(suite.triggers);
}
spawnMonstersInGroup(group, suite);
spawnGadgetsInGroup(group, suite);
}
public SceneRegion getRegionById(int id) { public SceneRegion getRegionById(int id) {
return regions.get(id); return regions.get(id);
} }
...@@ -141,7 +166,7 @@ public class SceneScriptManager { ...@@ -141,7 +166,7 @@ public class SceneScriptManager {
private void init() { private void init() {
// Get compiled script if cached // Get compiled script if cached
CompiledScript cs = ScriptLoader.getScriptByPath( CompiledScript cs = ScriptLoader.getScriptByPath(
Grasscutter.getConfig().SCRIPTS_FOLDER + "Scene/" + getScene().getId() + "/scene" + getScene().getId() + "." + ScriptLoader.getScriptType()); SCRIPT("Scene/" + getScene().getId() + "/scene" + getScene().getId() + "." + ScriptLoader.getScriptType()));
if (cs == null) { if (cs == null) {
Grasscutter.getLogger().warn("No script found for scene " + getScene().getId()); Grasscutter.getLogger().warn("No script found for scene " + getScene().getId());
...@@ -188,7 +213,7 @@ public class SceneScriptManager { ...@@ -188,7 +213,7 @@ public class SceneScriptManager {
private void loadBlockFromScript(SceneBlock block) { private void loadBlockFromScript(SceneBlock block) {
CompiledScript cs = ScriptLoader.getScriptByPath( CompiledScript cs = ScriptLoader.getScriptByPath(
Grasscutter.getConfig().SCRIPTS_FOLDER + "Scene/" + getScene().getId() + "/scene" + getScene().getId() + "_block" + block.id + "." + ScriptLoader.getScriptType()); SCRIPT("Scene/" + getScene().getId() + "/scene" + getScene().getId() + "_block" + block.id + "." + ScriptLoader.getScriptType()));
if (cs == null) { if (cs == null) {
return; return;
...@@ -211,7 +236,7 @@ public class SceneScriptManager { ...@@ -211,7 +236,7 @@ public class SceneScriptManager {
group.setLoaded(true); group.setLoaded(true);
CompiledScript cs = ScriptLoader.getScriptByPath( CompiledScript cs = ScriptLoader.getScriptByPath(
Grasscutter.getConfig().SCRIPTS_FOLDER + "Scene/" + getScene().getId() + "/scene" + getScene().getId() + "_group" + group.id + "." + ScriptLoader.getScriptType()); SCRIPT("Scene/" + getScene().getId() + "/scene" + getScene().getId() + "_group" + group.id + "." + ScriptLoader.getScriptType()));
if (cs == null) { if (cs == null) {
return; return;
...@@ -222,7 +247,8 @@ public class SceneScriptManager { ...@@ -222,7 +247,8 @@ public class SceneScriptManager {
cs.eval(getBindings()); cs.eval(getBindings());
// Set // Set
group.monsters = ScriptLoader.getSerializer().toList(SceneMonster.class, bindings.get("monsters")); group.monsters = ScriptLoader.getSerializer().toList(SceneMonster.class, bindings.get("monsters")).stream()
.collect(Collectors.toMap(x -> x.config_id, y -> y));
group.gadgets = ScriptLoader.getSerializer().toList(SceneGadget.class, bindings.get("gadgets")); group.gadgets = ScriptLoader.getSerializer().toList(SceneGadget.class, bindings.get("gadgets"));
group.triggers = ScriptLoader.getSerializer().toList(SceneTrigger.class, bindings.get("triggers")); group.triggers = ScriptLoader.getSerializer().toList(SceneTrigger.class, bindings.get("triggers"));
group.suites = ScriptLoader.getSerializer().toList(SceneSuite.class, bindings.get("suites")); group.suites = ScriptLoader.getSerializer().toList(SceneSuite.class, bindings.get("suites"));
...@@ -235,21 +261,21 @@ public class SceneScriptManager { ...@@ -235,21 +261,21 @@ public class SceneScriptManager {
// Add monsters to suite TODO optimize // Add monsters to suite TODO optimize
Int2ObjectMap<Object> map = new Int2ObjectOpenHashMap<>(); Int2ObjectMap<Object> map = new Int2ObjectOpenHashMap<>();
group.monsters.forEach(m -> map.put(m.config_id, m)); group.monsters.entrySet().forEach(m -> map.put(m.getValue().config_id, m));
group.gadgets.forEach(m -> map.put(m.config_id, m)); group.gadgets.forEach(m -> map.put(m.config_id, m));
for (SceneSuite suite : group.suites) { for (SceneSuite suite : group.suites) {
suite.sceneMonsters = new ArrayList<>(suite.monsters.size()); suite.sceneMonsters = new ArrayList<>(suite.monsters.size());
for (int id : suite.monsters) { suite.monsters.forEach(id -> {
try { Object objEntry = map.get(id.intValue());
SceneMonster monster = (SceneMonster) map.get(id); if (objEntry instanceof Map.Entry<?,?> monsterEntry) {
if (monster != null) { Object monster = monsterEntry.getValue();
suite.sceneMonsters.add(monster); if(monster instanceof SceneMonster sceneMonster){
suite.sceneMonsters.add(sceneMonster);
} }
} catch (Exception e) {
continue;
} }
} });
suite.sceneGadgets = new ArrayList<>(suite.gadgets.size()); suite.sceneGadgets = new ArrayList<>(suite.gadgets.size());
for (int id : suite.gadgets) { for (int id : suite.gadgets) {
try { try {
...@@ -257,11 +283,10 @@ public class SceneScriptManager { ...@@ -257,11 +283,10 @@ public class SceneScriptManager {
if (gadget != null) { if (gadget != null) {
suite.sceneGadgets.add(gadget); suite.sceneGadgets.add(gadget);
} }
} catch (Exception e) { } catch (Exception ignored) { }
continue;
}
} }
} }
this.sceneGroups.put(group.id, group);
} catch (ScriptException e) { } catch (ScriptException e) {
Grasscutter.getLogger().error("Error loading group " + group.id + " in scene " + getScene().getId(), e); Grasscutter.getLogger().error("Error loading group " + group.id + " in scene " + getScene().getId(), e);
} }
...@@ -321,62 +346,43 @@ public class SceneScriptManager { ...@@ -321,62 +346,43 @@ public class SceneScriptManager {
this.callEvent(EventType.EVENT_GADGET_CREATE, new ScriptArgs(entity.getConfigId())); this.callEvent(EventType.EVENT_GADGET_CREATE, new ScriptArgs(entity.getConfigId()));
} }
} }
public void spawnMonstersInGroup(SceneGroup group, int suiteIndex) { public void spawnMonstersInGroup(SceneGroup group, int suiteIndex) {
spawnMonstersInGroup(group, group.getSuiteByIndex(suiteIndex)); var suite = group.getSuiteByIndex(suiteIndex);
if(suite == null){
return;
}
spawnMonstersInGroup(group, suite);
}
public void spawnMonstersInGroup(SceneGroup group, SceneSuite suite) {
if(suite == null || suite.sceneMonsters.size() <= 0){
return;
}
this.currentGroup = group;
suite.sceneMonsters.forEach(mob -> this.scriptMonsterSpawnService.spawnMonster(group.id, mob));
} }
public void spawnMonstersInGroup(SceneGroup group) { public void spawnMonstersInGroup(SceneGroup group) {
spawnMonstersInGroup(group, null); this.currentGroup = group;
group.monsters.values().forEach(mob -> this.scriptMonsterSpawnService.spawnMonster(group.id, mob));
} }
public void spawnMonstersInGroup(SceneGroup group, SceneSuite suite) {
List<SceneMonster> monsters = group.monsters;
if (suite != null) {
monsters = suite.sceneMonsters;
}
List<GameEntity> toAdd = new ArrayList<>(); public void startMonsterTideInGroup(SceneGroup group, Integer[] ordersConfigId, int tideCount, int sceneLimit) {
this.currentGroup = group;
for (SceneMonster monster : monsters) { this.scriptMonsterTideService =
MonsterData data = GameData.getMonsterDataMap().get(monster.monster_id); new ScriptMonsterTideService(this, group, tideCount, sceneLimit, ordersConfigId);
if (data == null) { }
continue; public void unloadCurrentMonsterTide(){
} if(this.getScriptMonsterTideService() == null){
return;
// Calculate level
int level = monster.level;
if (getScene().getDungeonData() != null) {
level = getScene().getDungeonData().getShowLevel();
} else if (getScene().getWorld().getWorldLevel() > 0) {
WorldLevelData worldLevelData = GameData.getWorldLevelDataMap().get(getScene().getWorld().getWorldLevel());
if (worldLevelData != null) {
level = worldLevelData.getMonsterLevel();
}
}
// Spawn mob
EntityMonster entity = new EntityMonster(getScene(), data, monster.pos, level);
entity.getRotation().set(monster.rot);
entity.setGroupId(group.id);
entity.setConfigId(monster.config_id);
toAdd.add(entity);
}
if (toAdd.size() > 0) {
getScene().addEntities(toAdd);
for (GameEntity entity : toAdd) {
callEvent(EventType.EVENT_ANY_MONSTER_LIVE, new ScriptArgs(entity.getConfigId()));
}
} }
this.getScriptMonsterTideService().unload();
}
public void spawnMonstersByConfigId(int configId, int delayTime) {
// TODO delay
this.scriptMonsterSpawnService.spawnMonster(this.currentGroup.id, this.currentGroup.monsters.get(configId));
} }
// Events // Events
public void callEvent(int eventType, ScriptArgs params) { public void callEvent(int eventType, ScriptArgs params) {
...@@ -395,14 +401,39 @@ public class SceneScriptManager { ...@@ -395,14 +401,39 @@ public class SceneScriptManager {
if (params != null) { if (params != null) {
args = CoerceJavaToLua.coerce(params); args = CoerceJavaToLua.coerce(params);
} }
ret = condition.call(this.getScriptLibLua(), args); ScriptLib.logger.trace("Call Condition Trigger {}", trigger);
ret = safetyCall(trigger.condition, condition, args);
} }
if (ret.checkboolean() == true) { if (ret.isboolean() && ret.checkboolean()) {
ScriptLib.logger.trace("Call Action Trigger {}", trigger);
LuaValue action = (LuaValue) this.getBindings().get(trigger.action); LuaValue action = (LuaValue) this.getBindings().get(trigger.action);
action.call(this.getScriptLibLua(), LuaValue.NIL); // TODO impl the param of SetGroupVariableValueByGroup
var arg = new ScriptArgs();
arg.param2 = 100;
var args = CoerceJavaToLua.coerce(arg);
safetyCall(trigger.action, action, args);
} }
//TODO some ret may not bool
} }
} }
public LuaValue safetyCall(String name, LuaValue func, LuaValue args){
try{
return func.call(this.getScriptLibLua(), args);
}catch (LuaError error){
ScriptLib.logger.error("[LUA] call trigger failed {},{}",name,args,error);
return LuaValue.valueOf(-1);
}
}
public ScriptMonsterTideService getScriptMonsterTideService() {
return scriptMonsterTideService;
}
public ScriptMonsterSpawnService getScriptMonsterSpawnService() {
return scriptMonsterSpawnService;
}
} }
package emu.grasscutter.scripts; package emu.grasscutter.scripts;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import org.luaj.vm2.LuaTable;
import org.luaj.vm2.LuaValue;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.MonsterData;
import emu.grasscutter.game.dungeons.DungeonChallenge; import emu.grasscutter.game.dungeons.DungeonChallenge;
import emu.grasscutter.game.entity.EntityGadget; import emu.grasscutter.game.entity.EntityGadget;
import emu.grasscutter.game.entity.EntityMonster; import emu.grasscutter.game.entity.EntityMonster;
import emu.grasscutter.game.entity.GameEntity; import emu.grasscutter.game.entity.GameEntity;
import emu.grasscutter.scripts.constants.EventType;
import emu.grasscutter.scripts.data.SceneGroup; import emu.grasscutter.scripts.data.SceneGroup;
import emu.grasscutter.scripts.data.SceneMonster;
import emu.grasscutter.scripts.data.SceneRegion; import emu.grasscutter.scripts.data.SceneRegion;
import emu.grasscutter.scripts.data.ScriptArgs; import emu.grasscutter.server.packet.send.PacketCanUseSkillNotify;
import emu.grasscutter.server.packet.send.PacketGadgetStateNotify; import emu.grasscutter.server.packet.send.PacketGadgetStateNotify;
import emu.grasscutter.server.packet.send.PacketWorktopOptionNotify; import emu.grasscutter.server.packet.send.PacketWorktopOptionNotify;
import org.luaj.vm2.LuaTable;
import org.luaj.vm2.LuaValue;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Optional;
public class ScriptLib { public class ScriptLib {
public static final Logger logger = LoggerFactory.getLogger(ScriptLib.class);
private final SceneScriptManager sceneScriptManager; private final SceneScriptManager sceneScriptManager;
public ScriptLib(SceneScriptManager sceneScriptManager) { public ScriptLib(SceneScriptManager sceneScriptManager) {
...@@ -32,8 +28,20 @@ public class ScriptLib { ...@@ -32,8 +28,20 @@ public class ScriptLib {
public SceneScriptManager getSceneScriptManager() { public SceneScriptManager getSceneScriptManager() {
return sceneScriptManager; return sceneScriptManager;
} }
private String printTable(LuaTable table){
StringBuilder sb = new StringBuilder();
sb.append("{");
for(var meta : table.keys()){
sb.append(meta).append(":").append(table.get(meta)).append(",");
}
sb.append("}");
return sb.toString();
}
public int SetGadgetStateByConfigId(int configId, int gadgetState) { public int SetGadgetStateByConfigId(int configId, int gadgetState) {
logger.debug("[LUA] Call SetGadgetStateByConfigId with {},{}",
configId,gadgetState);
Optional<GameEntity> entity = getSceneScriptManager().getScene().getEntities().values().stream() Optional<GameEntity> entity = getSceneScriptManager().getScene().getEntities().values().stream()
.filter(e -> e.getConfigId() == configId).findFirst(); .filter(e -> e.getConfigId() == configId).findFirst();
...@@ -53,6 +61,8 @@ public class ScriptLib { ...@@ -53,6 +61,8 @@ public class ScriptLib {
} }
public int SetGroupGadgetStateByConfigId(int groupId, int configId, int gadgetState) { public int SetGroupGadgetStateByConfigId(int groupId, int configId, int gadgetState) {
logger.debug("[LUA] Call SetGroupGadgetStateByConfigId with {},{},{}",
groupId,configId,gadgetState);
List<GameEntity> list = getSceneScriptManager().getScene().getEntities().values().stream() List<GameEntity> list = getSceneScriptManager().getScene().getEntities().values().stream()
.filter(e -> e.getGroupId() == groupId).toList(); .filter(e -> e.getGroupId() == groupId).toList();
...@@ -71,6 +81,8 @@ public class ScriptLib { ...@@ -71,6 +81,8 @@ public class ScriptLib {
} }
public int SetWorktopOptionsByGroupId(int groupId, int configId, int[] options) { public int SetWorktopOptionsByGroupId(int groupId, int configId, int[] options) {
logger.debug("[LUA] Call SetWorktopOptionsByGroupId with {},{},{}",
groupId,configId,options);
Optional<GameEntity> entity = getSceneScriptManager().getScene().getEntities().values().stream() Optional<GameEntity> entity = getSceneScriptManager().getScene().getEntities().values().stream()
.filter(e -> e.getConfigId() == configId && e.getGroupId() == groupId).findFirst(); .filter(e -> e.getConfigId() == configId && e.getGroupId() == groupId).findFirst();
...@@ -90,6 +102,8 @@ public class ScriptLib { ...@@ -90,6 +102,8 @@ public class ScriptLib {
} }
public int DelWorktopOptionByGroupId(int groupId, int configId, int option) { public int DelWorktopOptionByGroupId(int groupId, int configId, int option) {
logger.debug("[LUA] Call DelWorktopOptionByGroupId with {},{},{}",groupId,configId,option);
Optional<GameEntity> entity = getSceneScriptManager().getScene().getEntities().values().stream() Optional<GameEntity> entity = getSceneScriptManager().getScene().getEntities().values().stream()
.filter(e -> e.getConfigId() == configId && e.getGroupId() == groupId).findFirst(); .filter(e -> e.getConfigId() == configId && e.getGroupId() == groupId).findFirst();
...@@ -109,72 +123,110 @@ public class ScriptLib { ...@@ -109,72 +123,110 @@ public class ScriptLib {
} }
// Some fields are guessed // Some fields are guessed
public int AutoMonsterTide(int challengeIndex, int groupId, int[] config_ids, int param4, int param5, int param6) { public int AutoMonsterTide(int challengeIndex, int groupId, Integer[] ordersConfigId, int tideCount, int sceneLimit, int param6) {
logger.debug("[LUA] Call AutoMonsterTide with {},{},{},{},{},{}",
challengeIndex,groupId,ordersConfigId,tideCount,sceneLimit,param6);
SceneGroup group = getSceneScriptManager().getGroupById(groupId); SceneGroup group = getSceneScriptManager().getGroupById(groupId);
if (group == null || group.monsters == null) { if (group == null || group.monsters == null) {
return 1; return 1;
} }
// TODO just spawn all from group for now this.getSceneScriptManager().startMonsterTideInGroup(group, ordersConfigId, tideCount, sceneLimit);
this.getSceneScriptManager().spawnMonstersInGroup(group);
return 0; return 0;
} }
public int AddExtraGroupSuite(int groupId, int suite) { public int AddExtraGroupSuite(int groupId, int suite) {
logger.debug("[LUA] Call AddExtraGroupSuite with {},{}",
groupId,suite);
SceneGroup group = getSceneScriptManager().getGroupById(groupId); SceneGroup group = getSceneScriptManager().getGroupById(groupId);
if (group == null || group.monsters == null) { if (group == null || group.monsters == null) {
return 1; return 1;
} }
// TODO just spawn all from group for now // avoid spawn wrong monster
if(getSceneScriptManager().getScene().getChallenge() != null)
if(!getSceneScriptManager().getScene().getChallenge().inProgress() ||
getSceneScriptManager().getScene().getChallenge().getGroup().id != groupId){
return 0;
}
this.getSceneScriptManager().spawnMonstersInGroup(group, suite); this.getSceneScriptManager().spawnMonstersInGroup(group, suite);
return 0; return 0;
} }
// param3 (probably time limit for timed dungeons) // param3 (probably time limit for timed dungeons)
public int ActiveChallenge(int challengeId, int challengeIndex, int param3, int groupId, int objectiveKills, int param5) { public int ActiveChallenge(int challengeId, int challengeIndex, int timeLimitOrGroupId, int groupId, int objectiveKills, int param5) {
logger.debug("[LUA] Call ActiveChallenge with {},{},{},{},{},{}",
challengeId,challengeIndex,timeLimitOrGroupId,groupId,objectiveKills,param5);
SceneGroup group = getSceneScriptManager().getGroupById(groupId); SceneGroup group = getSceneScriptManager().getGroupById(groupId);
var objective = objectiveKills;
if(group == null){
group = getSceneScriptManager().getGroupById(timeLimitOrGroupId);
objective = groupId;
}
if (group == null || group.monsters == null) { if (group == null || group.monsters == null) {
return 1; return 1;
} }
DungeonChallenge challenge = new DungeonChallenge(getSceneScriptManager().getScene(), group); if(getSceneScriptManager().getScene().getChallenge() != null &&
challenge.setChallengeId(challengeId); getSceneScriptManager().getScene().getChallenge().inProgress())
challenge.setChallengeIndex(challengeIndex); {
challenge.setObjective(objectiveKills); return 0;
}
DungeonChallenge challenge = new DungeonChallenge(getSceneScriptManager().getScene(),
group, challengeId, challengeIndex, objective);
// set if tower first stage (6-1)
challenge.setStage(getSceneScriptManager().getVariables().getOrDefault("stage", -1) == 0);
getSceneScriptManager().getScene().setChallenge(challenge); getSceneScriptManager().getScene().setChallenge(challenge);
challenge.start(); challenge.start();
return 0; return 0;
} }
public int GetGroupMonsterCountByGroupId(int groupId) { public int GetGroupMonsterCountByGroupId(int groupId) {
logger.debug("[LUA] Call GetGroupMonsterCountByGroupId with {}",
groupId);
return (int) getSceneScriptManager().getScene().getEntities().values().stream() return (int) getSceneScriptManager().getScene().getEntities().values().stream()
.filter(e -> e instanceof EntityMonster && e.getGroupId() == groupId) .filter(e -> e instanceof EntityMonster && e.getGroupId() == groupId)
.count(); .count();
} }
public int GetGroupVariableValue(String var) { public int GetGroupVariableValue(String var) {
logger.debug("[LUA] Call GetGroupVariableValue with {}",
var);
return getSceneScriptManager().getVariables().getOrDefault(var, 0); return getSceneScriptManager().getVariables().getOrDefault(var, 0);
} }
public int SetGroupVariableValue(String var, int value) { public int SetGroupVariableValue(String var, int value) {
logger.debug("[LUA] Call SetGroupVariableValue with {},{}",
var, value);
getSceneScriptManager().getVariables().put(var, value); getSceneScriptManager().getVariables().put(var, value);
return 0; return 0;
} }
public LuaValue ChangeGroupVariableValue(String var, int value) { public LuaValue ChangeGroupVariableValue(String var, int value) {
logger.debug("[LUA] Call ChangeGroupVariableValue with {},{}",
var, value);
getSceneScriptManager().getVariables().put(var, getSceneScriptManager().getVariables().get(var) + value); getSceneScriptManager().getVariables().put(var, getSceneScriptManager().getVariables().get(var) + value);
return LuaValue.ZERO; return LuaValue.ZERO;
} }
/**
* Set the actions and triggers to designated group
*/
public int RefreshGroup(LuaTable table) { public int RefreshGroup(LuaTable table) {
logger.debug("[LUA] Call RefreshGroup with {}",
printTable(table));
// Kill and Respawn? // Kill and Respawn?
int groupId = table.get("group_id").toint(); int groupId = table.get("group_id").toint();
int suite = table.get("suite").toint(); int suite = table.get("suite").toint();
...@@ -185,13 +237,14 @@ public class ScriptLib { ...@@ -185,13 +237,14 @@ public class ScriptLib {
return 1; return 1;
} }
this.getSceneScriptManager().spawnMonstersInGroup(group, suite); getSceneScriptManager().refreshGroup(group, suite);
this.getSceneScriptManager().spawnGadgetsInGroup(group, suite);
return 0; return 0;
} }
public int GetRegionEntityCount(LuaTable table) { public int GetRegionEntityCount(LuaTable table) {
logger.debug("[LUA] Call GetRegionEntityCount with {}",
table);
int regionId = table.get("region_eid").toint(); int regionId = table.get("region_eid").toint();
int entityType = table.get("entity_type").toint(); int entityType = table.get("entity_type").toint();
...@@ -205,21 +258,103 @@ public class ScriptLib { ...@@ -205,21 +258,103 @@ public class ScriptLib {
} }
public void PrintContextLog(String msg) { public void PrintContextLog(String msg) {
Grasscutter.getLogger().info("[LUA] " + msg); logger.info("[LUA] " + msg);
} }
public int TowerCountTimeStatus(int var1, int var2){ public int TowerCountTimeStatus(int isDone, int var2){
logger.debug("[LUA] Call TowerCountTimeStatus with {},{}",
isDone,var2);
// TODO record time
return 0; return 0;
} }
public int GetGroupMonsterCount(int var1){ public int GetGroupMonsterCount(int var1){
// Maybe... logger.debug("[LUA] Call GetGroupMonsterCount with {}",
return GetGroupMonsterCountByGroupId(var1); var1);
return (int) getSceneScriptManager().getScene().getEntities().values().stream()
.filter(e -> e instanceof EntityMonster && e.getGroupId() == getSceneScriptManager().getCurrentGroup().id)
.count();
} }
public int SetMonsterBattleByGroup(int var1, int var2, int var3){ public int SetMonsterBattleByGroup(int var1, int var2, int var3){
logger.debug("[LUA] Call SetMonsterBattleByGroup with {},{},{}",
var1,var2,var3);
// TODO
return 0; return 0;
} }
public int CauseDungeonFail(int var1){ public int CauseDungeonFail(int var1){
logger.debug("[LUA] Call CauseDungeonFail with {}",
var1);
return 0;
}
public int GetGroupVariableValueByGroup(String name, int groupId){
logger.debug("[LUA] Call GetGroupVariableValueByGroup with {},{}",
name,groupId);
return getSceneScriptManager().getVariables().getOrDefault(name, 0);
}
public int SetIsAllowUseSkill(int canUse, int var2){
logger.debug("[LUA] Call SetIsAllowUseSkill with {},{}",
canUse,var2);
getSceneScriptManager().getScene().broadcastPacket(new PacketCanUseSkillNotify(canUse == 1));
return 0;
}
public int KillEntityByConfigId(LuaTable table){
logger.debug("[LUA] Call KillEntityByConfigId with {}",
printTable(table));
var configId = table.get("config_id");
if(configId == LuaValue.NIL){
return 1;
}
var entity = getSceneScriptManager().getScene().getEntityByConfigId(configId.toint());
if(entity == null){
return 1;
}
getSceneScriptManager().getScene().killEntity(entity, 0);
return 0;
}
public int SetGroupVariableValueByGroup(String key, int value, int groupId){
logger.debug("[LUA] Call SetGroupVariableValueByGroup with {},{},{}",
key,value,groupId);
getSceneScriptManager().getVariables().put(key, value);
return 0;
}
public int CreateMonster(LuaTable table){
logger.debug("[LUA] Call CreateMonster with {}",
printTable(table));
var configId = table.get("config_id").toint();
var delayTime = table.get("delay_time").toint();
getSceneScriptManager().spawnMonstersByConfigId(configId, delayTime);
return 0;
}
public int TowerMirrorTeamSetUp(int team, int var1) {
logger.debug("[LUA] Call TowerMirrorTeamSetUp with {},{}",
team,var1);
getSceneScriptManager().unloadCurrentMonsterTide();
getSceneScriptManager().getScene().getPlayers().get(0).getTowerManager().mirrorTeamSetUp(team-1);
return 0;
}
public int CreateGadget(LuaTable table){
logger.debug("[LUA] Call CreateGadget with {}",
printTable(table));
var configId = table.get("config_id").toint();
//TODO
return 0; return 0;
} }
} }
package emu.grasscutter.scripts.data; package emu.grasscutter.scripts.data;
import java.util.List;
import emu.grasscutter.utils.Position; import emu.grasscutter.utils.Position;
import java.util.List;
import java.util.Map;
public class SceneGroup { public class SceneGroup {
public transient int block_id; // Not an actual variable in the scripts but we will keep it here for reference public transient int block_id; // Not an actual variable in the scripts but we will keep it here for reference
public int id; public int id;
public int refresh_id; public int refresh_id;
public Position pos; public Position pos;
public List<SceneMonster> monsters; /**
* ConfigId - Monster
*/
public Map<Integer,SceneMonster> monsters;
public List<SceneGadget> gadgets; public List<SceneGadget> gadgets;
public List<SceneTrigger> triggers; public List<SceneTrigger> triggers;
public List<SceneRegion> regions; public List<SceneRegion> regions;
......
...@@ -7,4 +7,29 @@ public class SceneTrigger { ...@@ -7,4 +7,29 @@ public class SceneTrigger {
public String source; public String source;
public String condition; public String condition;
public String action; public String action;
@Override
public boolean equals(Object obj) {
if(obj instanceof SceneTrigger sceneTrigger){
return this.name.equals(sceneTrigger.name);
}
return super.equals(obj);
}
@Override
public int hashCode() {
return name.hashCode();
}
@Override
public String toString() {
return "SceneTrigger{" +
"name='" + name + '\'' +
", config_id=" + config_id +
", event=" + event +
", source='" + source + '\'' +
", condition='" + condition + '\'' +
", action='" + action + '\'' +
'}';
}
} }
package emu.grasscutter.scripts.listener;
import emu.grasscutter.game.entity.EntityMonster;
public interface ScriptMonsterListener {
void onNotify(EntityMonster sceneMonster);
}
...@@ -70,16 +70,14 @@ public class LuaSerializer implements Serializer { ...@@ -70,16 +70,14 @@ public class LuaSerializer implements Serializer {
} }
try { try {
object = type.getDeclaredConstructor().newInstance(null); //noinspection ConfusingArgumentToVarargsMethod
object = type.getDeclaredConstructor().newInstance();
LuaValue[] keys = table.keys(); LuaValue[] keys = table.keys();
for (LuaValue k : keys) { for (LuaValue k : keys) {
try { try {
Field field = object.getClass().getDeclaredField(k.checkjstring()); Field field = object.getClass().getDeclaredField(k.checkjstring());
if (field == null) {
continue;
}
field.setAccessible(true); field.setAccessible(true);
LuaValue keyValue = table.get(k); LuaValue keyValue = table.get(k);
......
package emu.grasscutter.scripts.service;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.excels.MonsterData;
import emu.grasscutter.data.excels.WorldLevelData;
import emu.grasscutter.game.entity.EntityMonster;
import emu.grasscutter.scripts.SceneScriptManager;
import emu.grasscutter.scripts.constants.EventType;
import emu.grasscutter.scripts.data.SceneMonster;
import emu.grasscutter.scripts.data.ScriptArgs;
import emu.grasscutter.scripts.listener.ScriptMonsterListener;
import java.util.ArrayList;
import java.util.List;
public class ScriptMonsterSpawnService {
private final SceneScriptManager sceneScriptManager;
private final List<ScriptMonsterListener> onMonsterCreatedListener = new ArrayList<>();
private final List<ScriptMonsterListener> onMonsterDeadListener = new ArrayList<>();
public ScriptMonsterSpawnService(SceneScriptManager sceneScriptManager){
this.sceneScriptManager = sceneScriptManager;
}
public void addMonsterCreatedListener(ScriptMonsterListener scriptMonsterListener){
onMonsterCreatedListener.add(scriptMonsterListener);
}
public void addMonsterDeadListener(ScriptMonsterListener scriptMonsterListener){
onMonsterDeadListener.add(scriptMonsterListener);
}
public void removeMonsterCreatedListener(ScriptMonsterListener scriptMonsterListener){
onMonsterCreatedListener.remove(scriptMonsterListener);
}
public void removeMonsterDeadListener(ScriptMonsterListener scriptMonsterListener){
onMonsterDeadListener.remove(scriptMonsterListener);
}
public void onMonsterDead(EntityMonster entityMonster){
onMonsterDeadListener.forEach(l -> l.onNotify(entityMonster));
}
public void spawnMonster(int groupId, SceneMonster monster) {
if(monster == null){
return;
}
MonsterData data = GameData.getMonsterDataMap().get(monster.monster_id);
if (data == null) {
return;
}
// Calculate level
int level = monster.level;
if (sceneScriptManager.getScene().getDungeonData() != null) {
level = sceneScriptManager.getScene().getDungeonData().getShowLevel();
} else if (sceneScriptManager.getScene().getWorld().getWorldLevel() > 0) {
WorldLevelData worldLevelData = GameData.getWorldLevelDataMap().get(sceneScriptManager.getScene().getWorld().getWorldLevel());
if (worldLevelData != null) {
level = worldLevelData.getMonsterLevel();
}
}
// Spawn mob
EntityMonster entity = new EntityMonster(sceneScriptManager.getScene(), data, monster.pos, level);
entity.getRotation().set(monster.rot);
entity.setGroupId(groupId);
entity.setConfigId(monster.config_id);
onMonsterCreatedListener.forEach(action -> action.onNotify(entity));
sceneScriptManager.getScene().addEntity(entity);
sceneScriptManager.callEvent(EventType.EVENT_ANY_MONSTER_LIVE, new ScriptArgs(entity.getConfigId()));
}
}
package emu.grasscutter.scripts.service;
import emu.grasscutter.game.entity.EntityMonster;
import emu.grasscutter.scripts.SceneScriptManager;
import emu.grasscutter.scripts.constants.EventType;
import emu.grasscutter.scripts.data.SceneGroup;
import emu.grasscutter.scripts.data.SceneMonster;
import emu.grasscutter.scripts.data.ScriptArgs;
import emu.grasscutter.scripts.listener.ScriptMonsterListener;
import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.atomic.AtomicInteger;
public class ScriptMonsterTideService {
private final SceneScriptManager sceneScriptManager;
private final SceneGroup currentGroup;
private final AtomicInteger monsterAlive;
private final AtomicInteger monsterTideCount;
private final AtomicInteger monsterKillCount;
private final int monsterSceneLimit;
private final ConcurrentLinkedQueue<Integer> monsterConfigOrders;
private final OnMonsterCreated onMonsterCreated= new OnMonsterCreated();
private final OnMonsterDead onMonsterDead= new OnMonsterDead();
public ScriptMonsterTideService(SceneScriptManager sceneScriptManager,
SceneGroup group, int tideCount, int monsterSceneLimit, Integer[] ordersConfigId){
this.sceneScriptManager = sceneScriptManager;
this.currentGroup = group;
this.monsterSceneLimit = monsterSceneLimit;
this.monsterTideCount = new AtomicInteger(tideCount);
this.monsterKillCount = new AtomicInteger(0);
this.monsterAlive = new AtomicInteger(0);
this.monsterConfigOrders = new ConcurrentLinkedQueue<>(List.of(ordersConfigId));
this.sceneScriptManager.getScriptMonsterSpawnService().addMonsterCreatedListener(onMonsterCreated);
this.sceneScriptManager.getScriptMonsterSpawnService().addMonsterDeadListener(onMonsterDead);
// spawn the first turn
for (int i = 0; i < this.monsterSceneLimit; i++) {
this.sceneScriptManager.getScriptMonsterSpawnService().spawnMonster(group.id, getNextMonster());
}
}
public class OnMonsterCreated implements ScriptMonsterListener{
@Override
public void onNotify(EntityMonster sceneMonster) {
if(monsterSceneLimit > 0){
monsterAlive.incrementAndGet();
monsterTideCount.decrementAndGet();
}
}
}
public SceneMonster getNextMonster(){
var nextId = this.monsterConfigOrders.poll();
if(currentGroup.monsters.containsKey(nextId)){
return currentGroup.monsters.get(nextId);
}
// TODO some monster config_id do not exist in groups, so temporarily set it to the first
return currentGroup.monsters.values().stream().findFirst().orElse(null);
}
public class OnMonsterDead implements ScriptMonsterListener {
@Override
public void onNotify(EntityMonster sceneMonster) {
if (monsterSceneLimit <= 0) {
return;
}
if (monsterAlive.decrementAndGet() >= monsterSceneLimit) {
// maybe not happen
return;
}
monsterKillCount.incrementAndGet();
if (monsterTideCount.get() > 0) {
// add more
sceneScriptManager.getScriptMonsterSpawnService().spawnMonster(currentGroup.id, getNextMonster());
}
// spawn the last turn of monsters
// fix the 5-2
sceneScriptManager.callEvent(EventType.EVENT_MONSTER_TIDE_DIE, new ScriptArgs(monsterKillCount.get()));
}
}
public void unload(){
this.sceneScriptManager.getScriptMonsterSpawnService().removeMonsterCreatedListener(onMonsterCreated);
this.sceneScriptManager.getScriptMonsterSpawnService().removeMonsterDeadListener(onMonsterDead);
}
}
package emu.grasscutter.server.dispatch;
import emu.grasscutter.Grasscutter;
import express.http.HttpContextHandler;
import express.http.Request;
import express.http.Response;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Objects;
public final class AnnouncementHandler implements HttpContextHandler {
@Override
public void handle(Request request, Response response) throws IOException {//event
if (Objects.equals(request.baseUrl(), "/common/hk4e_global/announcement/api/getAnnContent")) {
response.send("{\"retcode\":0,\"message\":\"OK\",\"data\":" + readToString(new File(Grasscutter.getConfig().DATA_FOLDER + "GameAnnouncement.json")) +"}");
} else if (Objects.equals(request.baseUrl(), "/common/hk4e_global/announcement/api/getAnnList")) {
String data = readToString(new File(Grasscutter.getConfig().DATA_FOLDER + "GameAnnouncementList.json")).replace("System.currentTimeMillis()",String.valueOf(System.currentTimeMillis()));
response.send("{\"retcode\":0,\"message\":\"OK\",\"data\": "+data +"}");
}
}
private static String readToString(File file) {
Long filelength = file.length();
byte[] filecontent = new byte[filelength.intValue()];
try {
FileInputStream in = new FileInputStream(file);
in.read(filecontent);
in.close();
} catch (IOException fileNotFoundException) {
fileNotFoundException.printStackTrace();
}
return new String(filecontent);
}
}
\ No newline at end of file
package emu.grasscutter.server.dispatch;
import express.http.HttpContextHandler;
import express.http.Request;
import express.http.Response;
import java.io.IOException;
/**
* Used for processing crash dumps and logs generated by the game.
* Logs are in JSON, and are sent to the server for logging.
*/
public final class ClientLogHandler implements HttpContextHandler {
@Override
public void handle(Request request, Response response) throws IOException {
// TODO: Figure out how to dump request body and log to file.
response.send("{\"code\":0}");
}
}
package emu.grasscutter.server.dispatch;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.protobuf.ByteString;
import emu.grasscutter.Config;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.Grasscutter.ServerDebugMode;
import emu.grasscutter.Grasscutter.ServerRunMode;
import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.Account;
import emu.grasscutter.net.proto.QueryCurrRegionHttpRspOuterClass.QueryCurrRegionHttpRsp;
import emu.grasscutter.net.proto.QueryRegionListHttpRspOuterClass.QueryRegionListHttpRsp;
import emu.grasscutter.net.proto.RegionInfoOuterClass.RegionInfo;
import emu.grasscutter.net.proto.RegionSimpleInfoOuterClass.RegionSimpleInfo;
import emu.grasscutter.server.dispatch.authentication.AuthenticationHandler;
import emu.grasscutter.server.dispatch.authentication.DefaultAuthenticationHandler;
import emu.grasscutter.server.dispatch.http.GachaRecordHandler;
import emu.grasscutter.server.dispatch.json.*;
import emu.grasscutter.server.dispatch.json.ComboTokenReqJson.LoginTokenData;
import emu.grasscutter.server.event.dispatch.QueryAllRegionsEvent;
import emu.grasscutter.server.event.dispatch.QueryCurrentRegionEvent;
import emu.grasscutter.tools.Tools;
import emu.grasscutter.utils.FileUtils;
import emu.grasscutter.utils.Utils;
import express.Express;
import io.javalin.http.staticfiles.Location;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import java.io.*;
import java.net.URLDecoder;
import java.util.*;
import static emu.grasscutter.utils.Language.translate;
public final class DispatchServer {
public static String query_region_list = "";
public static String query_cur_region = "";
private final Gson gson;
private final String defaultServerName = "os_usa";
public String regionListBase64;
public Map<String, RegionData> regions;
private AuthenticationHandler authHandler;
private Express httpServer;
public DispatchServer() {
this.regions = new HashMap<>();
this.gson = new GsonBuilder().create();
this.loadQueries();
this.initRegion();
}
public Express getServer() {
return httpServer;
}
public void setHttpServer(Express httpServer) {
this.httpServer.stop();
this.httpServer = httpServer;
this.httpServer.listen(Grasscutter.getConfig().getDispatchOptions().Port);
}
public Gson getGsonFactory() {
return gson;
}
public QueryCurrRegionHttpRsp getCurrRegion() {
// Needs to be fixed by having the game servers connect to the dispatch server.
if (Grasscutter.getConfig().RunMode == ServerRunMode.HYBRID) {
return regions.get(defaultServerName).parsedRegionQuery;
}
Grasscutter.getLogger().warn("[Dispatch] Unsupported run mode for getCurrRegion()");
return null;
}
public void loadQueries() {
File file;
file = new File(Grasscutter.getConfig().DATA_FOLDER + "query_region_list.txt");
if (file.exists()) {
query_region_list = new String(FileUtils.read(file));
} else {
Grasscutter.getLogger().warn("[Dispatch] query_region_list not found! Using default region list.");
}
file = new File(Grasscutter.getConfig().DATA_FOLDER + "query_cur_region.txt");
if (file.exists()) {
query_cur_region = new String(FileUtils.read(file));
} else {
Grasscutter.getLogger().warn("[Dispatch] query_cur_region not found! Using default current region.");
}
}
private void initRegion() {
try {
byte[] decoded = Base64.getDecoder().decode(query_region_list);
QueryRegionListHttpRsp rl = QueryRegionListHttpRsp.parseFrom(decoded);
byte[] decoded2 = Base64.getDecoder().decode(query_cur_region);
QueryCurrRegionHttpRsp regionQuery = QueryCurrRegionHttpRsp.parseFrom(decoded2);
List<RegionSimpleInfo> servers = new ArrayList<>();
List<String> usedNames = new ArrayList<>(); // List to check for potential naming conflicts
if (Grasscutter.getConfig().RunMode == ServerRunMode.HYBRID) { // Automatically add the game server if in
// hybrid mode
RegionSimpleInfo server = RegionSimpleInfo.newBuilder()
.setName("os_usa")
.setTitle(Grasscutter.getConfig().getGameServerOptions().Name)
.setType("DEV_PUBLIC")
.setDispatchUrl(
"http" + (Grasscutter.getConfig().getDispatchOptions().FrontHTTPS ? "s" : "") + "://"
+ (Grasscutter.getConfig().getDispatchOptions().PublicIp.isEmpty()
? Grasscutter.getConfig().getDispatchOptions().Ip
: Grasscutter.getConfig().getDispatchOptions().PublicIp)
+ ":"
+ (Grasscutter.getConfig().getDispatchOptions().PublicPort != 0
? Grasscutter.getConfig().getDispatchOptions().PublicPort
: Grasscutter.getConfig().getDispatchOptions().Port)
+ "/query_cur_region/" + defaultServerName)
.build();
usedNames.add(defaultServerName);
servers.add(server);
RegionInfo serverRegion = regionQuery.getRegionInfo().toBuilder()
.setGateserverIp((Grasscutter.getConfig().getGameServerOptions().PublicIp.isEmpty()
? Grasscutter.getConfig().getGameServerOptions().Ip
: Grasscutter.getConfig().getGameServerOptions().PublicIp))
.setGateserverPort(Grasscutter.getConfig().getGameServerOptions().PublicPort != 0
? Grasscutter.getConfig().getGameServerOptions().PublicPort
: Grasscutter.getConfig().getGameServerOptions().Port)
.setSecretKey(ByteString
.copyFrom(FileUtils.read(Grasscutter.getConfig().KEY_FOLDER + "dispatchSeed.bin")))
.build();
QueryCurrRegionHttpRsp parsedRegionQuery = regionQuery.toBuilder().setRegionInfo(serverRegion).build();
regions.put(defaultServerName, new RegionData(parsedRegionQuery,
Base64.getEncoder().encodeToString(parsedRegionQuery.toByteString().toByteArray())));
} else {
if (Grasscutter.getConfig().getDispatchOptions().getGameServers().length == 0) {
Grasscutter.getLogger()
.error("[Dispatch] There are no game servers available. Exiting due to unplayable state.");
System.exit(1);
}
}
for (Config.DispatchServerOptions.RegionInfo regionInfo : Grasscutter.getConfig().getDispatchOptions()
.getGameServers()) {
if (usedNames.contains(regionInfo.Name)) {
Grasscutter.getLogger().error("Region name already in use.");
continue;
}
RegionSimpleInfo server = RegionSimpleInfo.newBuilder()
.setName(regionInfo.Name)
.setTitle(regionInfo.Title)
.setType("DEV_PUBLIC")
.setDispatchUrl(
"http" + (Grasscutter.getConfig().getDispatchOptions().FrontHTTPS ? "s" : "") + "://"
+ (Grasscutter.getConfig().getDispatchOptions().PublicIp.isEmpty()
? Grasscutter.getConfig().getDispatchOptions().Ip
: Grasscutter.getConfig().getDispatchOptions().PublicIp)
+ ":" + (Grasscutter.getConfig().getDispatchOptions().PublicPort != 0
? Grasscutter.getConfig().getDispatchOptions().PublicPort
: Grasscutter.getConfig().getDispatchOptions().Port) + "/query_cur_region/" + regionInfo.Name)
.build();
usedNames.add(regionInfo.Name);
servers.add(server);
RegionInfo serverRegion = regionQuery.getRegionInfo().toBuilder()
.setGateserverIp(regionInfo.Ip)
.setGateserverPort(regionInfo.Port)
.setSecretKey(ByteString
.copyFrom(FileUtils.read(Grasscutter.getConfig().KEY_FOLDER + "dispatchSeed.bin")))
.build();
QueryCurrRegionHttpRsp parsedRegionQuery = regionQuery.toBuilder().setRegionInfo(serverRegion).build();
regions.put(regionInfo.Name, new RegionData(parsedRegionQuery,
Base64.getEncoder().encodeToString(parsedRegionQuery.toByteString().toByteArray())));
}
QueryRegionListHttpRsp regionList = QueryRegionListHttpRsp.newBuilder()
.addAllRegionList(servers)
.setClientSecretKey(rl.getClientSecretKey())
.setClientCustomConfigEncrypted(rl.getClientCustomConfigEncrypted())
.setEnableLoginPc(true)
.build();
this.regionListBase64 = Base64.getEncoder().encodeToString(regionList.toByteString().toByteArray());
} catch (Exception e) {
Grasscutter.getLogger().error("[Dispatch] Error while initializing region info!", e);
}
}
public void start() throws Exception {
httpServer = new Express(config -> {
config.server(() -> {
Server server = new Server();
ServerConnector serverConnector;
if(Grasscutter.getConfig().getDispatchOptions().UseSSL) {
SslContextFactory.Server sslContextFactory = new SslContextFactory.Server();
File keystoreFile = new File(Grasscutter.getConfig().getDispatchOptions().KeystorePath);
if(keystoreFile.exists()) {
try {
sslContextFactory.setKeyStorePath(keystoreFile.getPath());
sslContextFactory.setKeyStorePassword(Grasscutter.getConfig().getDispatchOptions().KeystorePassword);
} catch (Exception e) {
e.printStackTrace();
Grasscutter.getLogger().warn(translate("messages.dispatch.keystore.password_error"));
try {
sslContextFactory.setKeyStorePath(keystoreFile.getPath());
sslContextFactory.setKeyStorePassword("123456");
Grasscutter.getLogger().warn(translate("messages.dispatch.keystore.default_password"));
} catch (Exception e2) {
Grasscutter.getLogger().warn(translate("messages.dispatch.keystore.general_error"));
e2.printStackTrace();
}
}
serverConnector = new ServerConnector(server, sslContextFactory);
} else {
Grasscutter.getLogger().warn(translate("messages.dispatch.keystore.no_keystore_error"));
Grasscutter.getConfig().getDispatchOptions().UseSSL = false;
serverConnector = new ServerConnector(server);
}
} else {
serverConnector = new ServerConnector(server);
}
serverConnector.setPort(Grasscutter.getConfig().getDispatchOptions().Port);
server.setConnectors(new Connector[]{serverConnector});
return server;
});
config.enforceSsl = Grasscutter.getConfig().getDispatchOptions().UseSSL;
if(Grasscutter.getConfig().DebugMode == ServerDebugMode.ALL) {
config.enableDevLogging();
}
if (Grasscutter.getConfig().getDispatchOptions().CORS){
if (Grasscutter.getConfig().getDispatchOptions().CORSAllowedOrigins.length > 0) config.enableCorsForOrigin(Grasscutter.getConfig().getDispatchOptions().CORSAllowedOrigins);
else config.enableCorsForAllOrigins();
}
});
httpServer.get("/", (req, res) -> res.send(translate("messages.status.welcome")));
httpServer.raw().error(404, ctx -> {
if(Grasscutter.getConfig().DebugMode == ServerDebugMode.MISSING) {
Grasscutter.getLogger().info(translate("messages.dispatch.unhandled_request_error", ctx.method(), ctx.url()));
}
ctx.contentType("text/html");
ctx.result("<!doctype html><html lang=\"en\"><body><img src=\"https://http.cat/404\" /></body></html>"); // I'm like 70% sure this won't break anything.
});
// Authentication Handler
// These routes are so that authentication routes are always the same no matter what auth system is used.
httpServer.get("/authentication/type", (req, res) -> {
res.send(this.getAuthHandler().getClass().getName());
});
httpServer.post("/authentication/login", (req, res) -> this.getAuthHandler().handleLogin(req, res));
httpServer.post("/authentication/register", (req, res) -> this.getAuthHandler().handleRegister(req, res));
httpServer.post("/authentication/change_password", (req, res) -> this.getAuthHandler().handleChangePassword(req, res));
// Dispatch
httpServer.get("/query_region_list", (req, res) -> {
// Log
Grasscutter.getLogger().info(String.format("[Dispatch] Client %s request: query_region_list", req.ip()));
// Invoke event.
QueryAllRegionsEvent event = new QueryAllRegionsEvent(regionListBase64); event.call();
// Respond with event result.
res.send(event.getRegionList());
});
httpServer.get("/query_cur_region/:id", (req, res) -> {
String regionName = req.params("id");
// Log
Grasscutter.getLogger().info(
String.format("Client %s request: query_cur_region/%s", req.ip(), regionName));
// Create a response form the request query parameters
String response = "CAESGE5vdCBGb3VuZCB2ZXJzaW9uIGNvbmZpZw==";
if (req.query().values().size() > 0) {
response = regions.get(regionName).Base64;
}
// Invoke event.
QueryCurrentRegionEvent event = new QueryCurrentRegionEvent(response); event.call();
// Respond with event result.
res.send(event.getRegionInfo());
});
// Login
httpServer.post("/hk4e_global/mdk/shield/api/login", (req, res) -> {
// Get post data
LoginAccountRequestJson requestData = null;
try {
String body = req.ctx().body();
requestData = getGsonFactory().fromJson(body, LoginAccountRequestJson.class);
} catch (Exception ignored) { }
// Create response json
if (requestData == null) {
return;
}
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_attempt", req.ip()));
res.send(this.getAuthHandler().handleGameLogin(req, requestData));
});
// Login via token
httpServer.post("/hk4e_global/mdk/shield/api/verify", (req, res) -> {
// Get post data
LoginTokenRequestJson requestData = null;
try {
String body = req.ctx().body();
requestData = getGsonFactory().fromJson(body, LoginTokenRequestJson.class);
} catch (Exception ignored) {
}
// Create response json
if (requestData == null) {
return;
}
LoginResultJson responseData = new LoginResultJson();
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_token_attempt", req.ip()));
// Login
Account account = DatabaseHelper.getAccountById(requestData.uid);
// Test
if (account == null || !account.getSessionKey().equals(requestData.token)) {
responseData.retcode = -111;
responseData.message = translate("messages.dispatch.account.account_cache_error");
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_token_error", req.ip()));
} else {
responseData.message = "OK";
responseData.data.account.uid = requestData.uid;
responseData.data.account.token = requestData.token;
responseData.data.account.email = account.getEmail();
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_token_success", req.ip(), requestData.uid));
}
res.send(responseData);
});
// Exchange for combo token
httpServer.post("/hk4e_global/combo/granter/login/v2/login", (req, res) -> {
// Get post data
ComboTokenReqJson requestData = null;
try {
String body = req.ctx().body();
requestData = getGsonFactory().fromJson(body, ComboTokenReqJson.class);
} catch (Exception ignored) {
}
// Create response json
if (requestData == null || requestData.data == null) {
return;
}
LoginTokenData loginData = getGsonFactory().fromJson(requestData.data, LoginTokenData.class); // Get login
// data
ComboTokenResJson responseData = new ComboTokenResJson();
// Login
Account account = DatabaseHelper.getAccountById(loginData.uid);
// Test
if (account == null || !account.getSessionKey().equals(loginData.token)) {
responseData.retcode = -201;
responseData.message = translate("messages.dispatch.account.session_key_error");
Grasscutter.getLogger().info(translate("messages.dispatch.account.combo_token_error", req.ip()));
} else {
responseData.message = "OK";
responseData.data.open_id = loginData.uid;
responseData.data.combo_id = "157795300";
responseData.data.combo_token = account.generateLoginToken();
Grasscutter.getLogger().info(translate("messages.dispatch.account.combo_token_success", req.ip()));
}
res.send(responseData);
});
// TODO: There are some missing route request types here (You can tell if they are missing if they are .all and not anything else)
// When http requests for theses routes are found please remove it from the list in DispatchHttpJsonHandler and update the route request types here
// Agreement and Protocol
// hk4e-sdk-os.hoyoverse.com
httpServer.get("/hk4e_global/mdk/agreement/api/getAgreementInfos", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"marketing_agreements\":[]}}"));
// hk4e-sdk-os.hoyoverse.com
// this could be either GET or POST based on the observation of different clients
httpServer.all("/hk4e_global/combo/granter/api/compareProtocolVersion", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"modified\":true,\"protocol\":{\"id\":0,\"app_id\":4,\"language\":\"en\",\"user_proto\":\"\",\"priv_proto\":\"\",\"major\":7,\"minimum\":0,\"create_time\":\"0\",\"teenager_proto\":\"\",\"third_proto\":\"\"}}}"));
// Game data
// hk4e-api-os.hoyoverse.com
httpServer.all("/common/hk4e_global/announcement/api/getAlertPic", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"total\":0,\"list\":[]}}"));
// hk4e-api-os.hoyoverse.com
httpServer.all("/common/hk4e_global/announcement/api/getAlertAnn", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"alert\":false,\"alert_id\":0,\"remind\":true}}"));
// hk4e-api-os.hoyoverse.com
httpServer.all("/common/hk4e_global/announcement/api/getAnnList", new AnnouncementHandler());
// hk4e-api-os-static.hoyoverse.com
httpServer.all("/common/hk4e_global/announcement/api/getAnnContent", new AnnouncementHandler());
// hk4e-sdk-os.hoyoverse.com
httpServer.all("/hk4e_global/mdk/shopwindow/shopwindow/listPriceTier", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"suggest_currency\":\"USD\",\"tiers\":[]}}"));
// Captcha
// api-account-os.hoyoverse.com
httpServer.post("/account/risky/api/check", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"id\":\"none\",\"action\":\"ACTION_NONE\",\"geetest\":null}}"));
// Config
// sdk-os-static.hoyoverse.com
httpServer.get("/combo/box/api/config/sdk/combo", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"vals\":{\"disable_email_bind_skip\":\"false\",\"email_bind_remind_interval\":\"7\",\"email_bind_remind\":\"true\"}}}"));
// hk4e-sdk-os-static.hoyoverse.com
httpServer.get("/hk4e_global/combo/granter/api/getConfig", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"protocol\":true,\"qr_enabled\":false,\"log_level\":\"INFO\",\"announce_url\":\"https://webstatic-sea.hoyoverse.com/hk4e/announcement/index.html?sdk_presentation_style=fullscreen\\u0026sdk_screen_transparent=true\\u0026game_biz=hk4e_global\\u0026auth_appid=announcement\\u0026game=hk4e#/\",\"push_alias_type\":2,\"disable_ysdk_guard\":false,\"enable_announce_pic_popup\":true}}"));
// hk4e-sdk-os-static.hoyoverse.com
httpServer.get("/hk4e_global/mdk/shield/api/loadConfig", new DispatchHttpJsonHandler("{\"retcode\":0,\"message\":\"OK\",\"data\":{\"id\":6,\"game_key\":\"hk4e_global\",\"client\":\"PC\",\"identity\":\"I_IDENTITY\",\"guest\":false,\"ignore_versions\":\"\",\"scene\":\"S_NORMAL\",\"name\":\"原神海外\",\"disable_regist\":false,\"enable_email_captcha\":false,\"thirdparty\":[\"fb\",\"tw\"],\"disable_mmt\":false,\"server_guest\":false,\"thirdparty_ignore\":{\"tw\":\"\",\"fb\":\"\"},\"enable_ps_bind_account\":false,\"thirdparty_login_configs\":{\"tw\":{\"token_type\":\"TK_GAME_TOKEN\",\"game_token_expires_in\":604800},\"fb\":{\"token_type\":\"TK_GAME_TOKEN\",\"game_token_expires_in\":604800}}}}"));
// Test api?
// abtest-api-data-sg.hoyoverse.com
httpServer.post("/data_abtest_api/config/experiment/list", new DispatchHttpJsonHandler("{\"retcode\":0,\"success\":true,\"message\":\"\",\"data\":[{\"code\":1000,\"type\":2,\"config_id\":\"14\",\"period_id\":\"6036_99\",\"version\":\"1\",\"configs\":{\"cardType\":\"old\"}}]}"));
// log-upload-os.mihoyo.com
httpServer.all("/log/sdk/upload", new DispatchHttpJsonHandler("{\"code\":0}"));
httpServer.all("/sdk/upload", new DispatchHttpJsonHandler("{\"code\":0}"));
httpServer.post("/sdk/dataUpload", new DispatchHttpJsonHandler("{\"code\":0}"));
// /perf/config/verify?device_id=xxx&platform=x&name=xxx
httpServer.all("/perf/config/verify", new DispatchHttpJsonHandler("{\"code\":0}"));
// Logging servers
// overseauspider.yuanshen.com
httpServer.all("/log", new ClientLogHandler());
// log-upload-os.mihoyo.com
httpServer.all("/crash/dataUpload", new ClientLogHandler());
// webstatic-sea.hoyoverse.com
httpServer.get("/admin/mi18n/plat_oversea/m202003048/m202003048-version.json", new DispatchHttpJsonHandler("{\"version\":51}"));
// gacha record.
String gachaMappingsPath = Utils.toFilePath(Grasscutter.getConfig().DATA_FOLDER + "/gacha_mappings.js");
// TODO: Only serve the html page and have a subsequent request to fetch the gacha data.
httpServer.get("/gacha", new GachaRecordHandler());
if(!(new File(gachaMappingsPath).exists())) {
Tools.createGachaMapping(gachaMappingsPath);
}
httpServer.raw().config.addSinglePageRoot("/gacha/mappings", gachaMappingsPath, Location.EXTERNAL);
// static file support for plugins
httpServer.raw().config.precompressStaticFiles = false; // If this isn't set to false, files such as images may appear corrupted when serving static files
httpServer.listen(Grasscutter.getConfig().getDispatchOptions().Port);
Grasscutter.getLogger().info(translate("messages.dispatch.port_bind", Integer.toString(httpServer.raw().port())));
}
private Map<String, String> parseQueryString(String qs) {
Map<String, String> result = new HashMap<>();
if (qs == null) {
return result;
}
int last = 0, next, l = qs.length();
while (last < l) {
next = qs.indexOf('&', last);
if (next == -1) {
next = l;
}
if (next > last) {
int eqPos = qs.indexOf('=', last);
try {
if (eqPos < 0 || eqPos > next) {
result.put(URLDecoder.decode(qs.substring(last, next), "utf-8"), "");
} else {
result.put(URLDecoder.decode(qs.substring(last, eqPos), "utf-8"),
URLDecoder.decode(qs.substring(eqPos + 1, next), "utf-8"));
}
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e); // will never happen, utf-8 support is mandatory for java
}
}
last = next + 1;
}
return result;
}
public AuthenticationHandler getAuthHandler() {
if(authHandler == null) {
return new DefaultAuthenticationHandler();
}
return authHandler;
}
public boolean registerAuthHandler(AuthenticationHandler authHandler) {
if(this.authHandler != null) {
Grasscutter.getLogger().error(String.format("[Dispatch] Unable to register '%s' authentication handler. \n" +
"The '%s' authentication handler has already been registered", authHandler.getClass().getName(), this.authHandler.getClass().getName()));
return false;
}
this.authHandler = authHandler;
return true;
}
public void resetAuthHandler() {
this.authHandler = null;
}
public static class RegionData {
QueryCurrRegionHttpRsp parsedRegionQuery;
String Base64;
public RegionData(QueryCurrRegionHttpRsp prq, String b64) {
this.parsedRegionQuery = prq;
this.Base64 = b64;
}
public QueryCurrRegionHttpRsp getParsedRegionQuery() {
return parsedRegionQuery;
}
public String getBase64() {
return Base64;
}
}
}
package emu.grasscutter.server.dispatch.authentication;
import emu.grasscutter.server.dispatch.json.LoginAccountRequestJson;
import emu.grasscutter.server.dispatch.json.LoginResultJson;
import express.http.Request;
import express.http.Response;
public interface AuthenticationHandler {
// This is in case plugins also want some sort of authentication
void handleLogin(Request req, Response res);
void handleRegister(Request req, Response res);
void handleChangePassword(Request req, Response res);
LoginResultJson handleGameLogin(Request req, LoginAccountRequestJson requestData);
}
package emu.grasscutter.server.dispatch.authentication;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.Account;
import emu.grasscutter.server.dispatch.json.LoginAccountRequestJson;
import emu.grasscutter.server.dispatch.json.LoginResultJson;
import express.http.Request;
import express.http.Response;
import static emu.grasscutter.utils.Language.translate;
public class DefaultAuthenticationHandler implements AuthenticationHandler {
@Override
public void handleLogin(Request req, Response res) {
res.send("Authentication is not available with the default authentication method");
}
@Override
public void handleRegister(Request req, Response res) {
res.send("Authentication is not available with the default authentication method");
}
@Override
public void handleChangePassword(Request req, Response res) {
res.send("Authentication is not available with the default authentication method");
}
@Override
public LoginResultJson handleGameLogin(Request req, LoginAccountRequestJson requestData) {
LoginResultJson responseData = new LoginResultJson();
// Login
Account account = DatabaseHelper.getAccountByName(requestData.account);
// Check if account exists, else create a new one.
if (account == null) {
// Account doesn't exist, so we can either auto create it if the config value is set.
if (Grasscutter.getConfig().getDispatchOptions().AutomaticallyCreateAccounts) {
// This account has been created AUTOMATICALLY. There will be no permissions added.
account = DatabaseHelper.createAccountWithId(requestData.account, 0);
for (String permission : Grasscutter.getConfig().getDispatchOptions().defaultPermissions) {
account.addPermission(permission);
}
if (account != null) {
responseData.message = "OK";
responseData.data.account.uid = account.getId();
responseData.data.account.token = account.generateSessionKey();
responseData.data.account.email = account.getEmail();
Grasscutter.getLogger().info(translate("messages.dispatch.account.account_login_create_success", req.ip(), responseData.data.account.uid));
} else {
responseData.retcode = -201;
responseData.message = translate("messages.dispatch.account.username_create_error");
Grasscutter.getLogger().info(translate("messages.dispatch.account.account_login_create_error", req.ip()));
}
} else {
responseData.retcode = -201;
responseData.message = translate("messages.dispatch.account.username_error");
Grasscutter.getLogger().info(translate("messages.dispatch.account.account_login_exist_error", req.ip()));
}
} else {
// Account was found, log the player in
responseData.message = "OK";
responseData.data.account.uid = account.getId();
responseData.data.account.token = account.generateSessionKey();
responseData.data.account.email = account.getEmail();
Grasscutter.getLogger().info(translate("messages.dispatch.account.login_success", req.ip(), responseData.data.account.uid));
}
return responseData;
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment