├── .github ├── ISSUE_TEMPLATE │ ├── a_bug_report.md │ ├── b_feature_request.md │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── build.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── README_zh-CN.md ├── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── install.sh ├── keystore.p12 ├── lib ├── fastutil-mini-8.5.6.jar ├── java-express.jar └── kcp-netty-1.5.0.jar ├── plugin-schema.json ├── proto ├── AbilityActionGenerateElemBall.proto ├── AbilityAppliedAbility.proto ├── AbilityAppliedModifier.proto ├── AbilityAttachedModifier.proto ├── AbilityChangeNotify.proto ├── AbilityControlBlock.proto ├── AbilityEmbryo.proto ├── AbilityGadgetInfo.proto ├── AbilityIdentifier.proto ├── AbilityInvocationsNotify.proto ├── AbilityInvokeArgument.proto ├── AbilityInvokeEntry.proto ├── AbilityInvokeEntryHead.proto ├── AbilityMetaModifierChange.proto ├── AbilityMetaReInitOverrideMap.proto ├── AbilityMixinCostStamina.proto ├── AbilityMixinRecoverInfo.proto ├── AbilityMixinWidgetMpSupport.proto ├── AbilityScalarType.proto ├── AbilityScalarValueEntry.proto ├── AbilityString.proto ├── AbilitySyncStateInfo.proto ├── AchievementInfo.proto ├── ActionReasonType.proto ├── ActivityInfo.proto ├── ActivityNullDetailInfo.proto ├── ActivityWatcherInfo.proto ├── AdjustTrackingInfo.proto ├── AiSkillCdInfo.proto ├── AiSyncInfo.proto ├── AiThreatInfo.proto ├── AllWidgetDataNotify.proto ├── AnchorPointData.proto ├── AnchorPointDataNotify.proto ├── AnchorPointOpReq.proto ├── AnchorPointOpRsp.proto ├── AnimatorParameterValueInfo.proto ├── AnimatorParameterValueInfoPair.proto ├── AskAddFriendNotify.proto ├── AskAddFriendReq.proto ├── AskAddFriendRsp.proto ├── AttackHitEffectResult.proto ├── AttackResult.proto ├── AvatarAddNotify.proto ├── AvatarChangeCostumeNotify.proto ├── AvatarChangeCostumeReq.proto ├── AvatarChangeCostumeRsp.proto ├── AvatarDataNotify.proto ├── AvatarDieAnimationEndReq.proto ├── AvatarDieAnimationEndRsp.proto ├── AvatarEnterSceneInfo.proto ├── AvatarEquipAffixInfo.proto ├── AvatarEquipChangeNotify.proto ├── AvatarExcelInfo.proto ├── AvatarExpeditionAllDataRsp.proto ├── AvatarExpeditionCallBackReq.proto ├── AvatarExpeditionCallBackRsp.proto ├── AvatarExpeditionDataNotify.proto ├── AvatarExpeditionGetRewardReq.proto ├── AvatarExpeditionGetRewardRsp.proto ├── AvatarExpeditionInfo.proto ├── AvatarExpeditionStartReq.proto ├── AvatarExpeditionStartRsp.proto ├── AvatarExpeditionState.proto ├── AvatarFetterDataNotify.proto ├── AvatarFetterInfo.proto ├── AvatarFetterLevelRewardReq.proto ├── AvatarFetterLevelRewardRsp.proto ├── AvatarFightPropNotify.proto ├── AvatarFightPropUpdateNotify.proto ├── AvatarFlycloakChangeNotify.proto ├── AvatarGainCostumeNotify.proto ├── AvatarGainFlycloakNotify.proto ├── AvatarInfo.proto ├── AvatarLifeStateChangeNotify.proto ├── AvatarPromoteGetRewardReq.proto ├── AvatarPromoteGetRewardRsp.proto ├── AvatarPromoteReq.proto ├── AvatarPromoteRsp.proto ├── AvatarPropNotify.proto ├── AvatarSkillChangeNotify.proto ├── AvatarSkillInfo.proto ├── AvatarSkillInfoNotify.proto ├── AvatarSkillMaxChargeCountNotify.proto ├── AvatarSkillUpgradeReq.proto ├── AvatarSkillUpgradeRsp.proto ├── AvatarTeam.proto ├── AvatarTeamResonanceInfo.proto ├── AvatarTeamUpdateNotify.proto ├── AvatarUnlockTalentNotify.proto ├── AvatarUpgradeReq.proto ├── AvatarUpgradeRsp.proto ├── AvatarWearFlycloakReq.proto ├── AvatarWearFlycloakRsp.proto ├── Birthday.proto ├── BlockInfo.proto ├── BlossomBriefInfo.proto ├── BlossomChestInfo.proto ├── BossChestInfo.proto ├── BuildingInfo.proto ├── BuyGoodsReq.proto ├── BuyGoodsRsp.proto ├── CBJEDMGOBPL.proto ├── CalcWeaponUpgradeReturnItemsReq.proto ├── CalcWeaponUpgradeReturnItemsRsp.proto ├── CanUseSkillNotify.proto ├── CardProductRewardNotify.proto ├── ChallengeDataNotify.proto ├── ChangeAvatarReq.proto ├── ChangeAvatarRsp.proto ├── ChangeEnergyReason.proto ├── ChangeGameTimeReq.proto ├── ChangeGameTimeRsp.proto ├── ChangeHpReason.proto ├── ChangeMailStarNotify.proto ├── ChangeMpTeamAvatarReq.proto ├── ChangeMpTeamAvatarRsp.proto ├── ChangeTeamNameReq.proto ├── ChangeTeamNameRsp.proto ├── ChannellerSlabLoopDungeonResultInfo.proto ├── ChatInfo.proto ├── CheckAddItemExceedLimitNotify.proto ├── ChildQuest.proto ├── ChooseCurAvatarTeamReq.proto ├── ChooseCurAvatarTeamRsp.proto ├── CityInfo.proto ├── ClientAbilityChangeNotify.proto ├── ClientAbilityInitBeginNotify.proto ├── ClientAbilityInitFinishNotify.proto ├── ClientCollectorData.proto ├── ClientCollectorDataNotify.proto ├── ClientGadgetInfo.proto ├── CodexDataFullNotify.proto ├── CodexDataUpdateNotify.proto ├── CodexType.proto ├── CodexTypeComparer.proto ├── CodexTypeData.proto ├── CombatInvocationsNotify.proto ├── CombatInvokeEntry.proto ├── CombatTypeArgument.proto ├── CombineDataNotify.proto ├── CombineFormulaDataNotify.proto ├── CombineReq.proto ├── CombineRsp.proto ├── CoopCg.proto ├── CoopChapter.proto ├── CoopChapterState.proto ├── CoopDataNotify.proto ├── CoopPoint.proto ├── CoopPointState.proto ├── CoopReward.proto ├── CoopRewardState.proto ├── CountDownDelete.proto ├── CreateVehicleReq.proto ├── CreateVehicleRsp.proto ├── CurVehicleInfo.proto ├── CustomCommonNodeInfo.proto ├── CustomGadgetTreeInfo.proto ├── CutSceneBeginNotify.proto ├── CutSceneEndNotify.proto ├── CutSceneFinishNotify.proto ├── DateTimeDelete.proto ├── DealAddFriendReq.proto ├── DealAddFriendResultType.proto ├── DealAddFriendRsp.proto ├── DelMailReq.proto ├── DelMailRsp.proto ├── DelTeamEntityNotify.proto ├── DelayWeekCountDownDelete.proto ├── DeleteFriendNotify.proto ├── DeleteFriendReq.proto ├── DeleteFriendRsp.proto ├── DestroyMaterialReq.proto ├── DestroyMaterialRsp.proto ├── DoGachaReq.proto ├── DoGachaRsp.proto ├── DropHintNotify.proto ├── DungeonChallengeBeginNotify.proto ├── DungeonChallengeFinishNotify.proto ├── DungeonDataNotify.proto ├── DungeonEntryInfo.proto ├── DungeonEntryInfoReq.proto ├── DungeonEntryInfoRsp.proto ├── DungeonGetStatueDropRsp.proto ├── DungeonSettleExhibitionInfo.proto ├── DungeonSettleNotify.proto ├── EchoShellInfo.proto ├── EffigyChallengeDungeonResultInfo.proto ├── EnterSceneDoneRsp.proto ├── EnterScenePeerNotify.proto ├── EnterSceneReadyRsp.proto ├── EnterTransPointRegionNotify.proto ├── EnterType.proto ├── EnterWorldAreaReq.proto ├── EnterWorldAreaRsp.proto ├── EntityAiSyncNotify.proto ├── EntityAuthorityInfo.proto ├── EntityClientData.proto ├── EntityEnvironmentInfo.proto ├── EntityFightPropChangeReasonNotify.proto ├── EntityFightPropUpdateNotify.proto ├── EntityMoveInfo.proto ├── EntityPropNotify.proto ├── EntityRendererChangedInfo.proto ├── Equip.proto ├── EquipParam.proto ├── EvtAiSyncCombatThreatInfoNotify.proto ├── EvtAiSyncSkillCdNotify.proto ├── EvtAvatarLockChairReq.proto ├── EvtAvatarLockChairRsp.proto ├── EvtAvatarSitDownNotify.proto ├── EvtAvatarStandUpNotify.proto ├── EvtBeingHitInfo.proto ├── EvtBeingHitNotify.proto ├── EvtBeingHitsCombineNotify.proto ├── EvtCreateGadgetNotify.proto ├── EvtDestroyGadgetNotify.proto ├── EvtDoSkillSuccNotify.proto ├── EvtHittingOtherInfo.proto ├── ExhibitionDisplayInfo.proto ├── FeatureBlockInfo.proto ├── FetterData.proto ├── FightPropPair.proto ├── FinishedParentQuestNotify.proto ├── FinishedParentQuestUpdateNotify.proto ├── FishPoolInfo.proto ├── ForceUpdateInfo.proto ├── ForgeDataNotify.proto ├── ForgeFormulaDataNotify.proto ├── ForgeGetQueueDataRsp.proto ├── ForgeQueueData.proto ├── ForgeQueueDataNotify.proto ├── ForgeQueueManipulateReq.proto ├── ForgeQueueManipulateRsp.proto ├── ForgeQueueManipulateType.proto ├── ForgeStartReq.proto ├── ForgeStartRsp.proto ├── ForwardType.proto ├── FoundationInfo.proto ├── FoundationStatus.proto ├── FriendBrief.proto ├── FriendEnterHomeOption.proto ├── FriendOnlineState.proto ├── Furniture.proto ├── GachaInfo.proto ├── GachaItem.proto ├── GachaTransferItem.proto ├── GachaUpInfo.proto ├── GadgetAutoPickDropInfoNotify.proto ├── GadgetBornType.proto ├── GadgetClientParam.proto ├── GadgetCrucibleInfo.proto ├── GadgetGeneralRewardInfo.proto ├── GadgetInteractReq.proto ├── GadgetInteractRsp.proto ├── GadgetPlayInfo.proto ├── GadgetStateNotify.proto ├── GatherGadgetInfo.proto ├── GetActivityInfoRsp.proto ├── GetAllMailReq.proto ├── GetAllMailRsp.proto ├── GetAllUnlockNameCardRsp.proto ├── GetAuthkeyReq.proto ├── GetAuthkeyRsp.proto ├── GetFriendShowAvatarInfoReq.proto ├── GetFriendShowAvatarInfoRsp.proto ├── GetGachaInfoRsp.proto ├── GetInvestigationMonsterReq.proto ├── GetInvestigationMonsterRsp.proto ├── GetMailItemReq.proto ├── GetMailItemRsp.proto ├── GetOnlinePlayerListReq.proto ├── GetOnlinePlayerListRsp.proto ├── GetPlayerAskFriendListRsp.proto ├── GetPlayerBlacklistRsp.proto ├── GetPlayerFriendListRsp.proto ├── GetPlayerSocialDetailReq.proto ├── GetPlayerSocialDetailRsp.proto ├── GetPlayerTokenReq.proto ├── GetPlayerTokenRsp.proto ├── GetSceneAreaReq.proto ├── GetSceneAreaRsp.proto ├── GetScenePointReq.proto ├── GetScenePointRsp.proto ├── GetShopReq.proto ├── GetShopRsp.proto ├── GetShopmallDataRsp.proto ├── GetWidgetSlotReq.proto ├── GetWidgetSlotRsp.proto ├── GetWorldMpInfoRsp.proto ├── GroupSuiteNotify.proto ├── H5ActivityIdsNotify.proto ├── HitColliderType.proto ├── HitCollision.proto ├── HitTreeNotify.proto ├── HomeChooseModuleReq.proto ├── HomeChooseModuleRsp.proto ├── HomeComfortInfoNotify.proto ├── HomeModuleComfortInfo.proto ├── HostPlayerNotify.proto ├── InterOpType.proto ├── InteractType.proto ├── InvestigationMonster.proto ├── Item.proto ├── ItemAddHintNotify.proto ├── ItemGivingReq.proto ├── ItemGivingRsp.proto ├── ItemHint.proto ├── ItemParam.proto ├── LifeStateChangeNotify.proto ├── LunchBoxData.proto ├── LunchBoxSlotType.proto ├── MPLevelEntityInfo.proto ├── MailChangeNotify.proto ├── MailData.proto ├── MailItem.proto ├── MailTextContent.proto ├── MapMarkFromType.proto ├── MapMarkPoint.proto ├── MapMarkPointType.proto ├── MapMarkTipsInfo.proto ├── MapMarkTipsType.proto ├── MarkEntityInMinMapNotify.proto ├── MarkMapReq.proto ├── MarkMapRsp.proto ├── MarkNewNotify.proto ├── MarkNewType.proto ├── MassivePropParam.proto ├── MassivePropSyncInfo.proto ├── Material.proto ├── MaterialDeleteInfo.proto ├── MaterialInfo.proto ├── MathQuaternion.proto ├── McoinExchangeHcoinReq.proto ├── McoinExchangeHcoinRsp.proto ├── ModifierAction.proto ├── ModifierDurability.proto ├── ModifierProperty.proto ├── MonsterBornType.proto ├── MonsterRoute.proto ├── MotionInfo.proto ├── MotionState.proto ├── MovingPlatformType.proto ├── MpPlayRewardInfo.proto ├── MpSettingType.proto ├── NpcTalkReq.proto ├── NpcTalkRsp.proto ├── OfferingInfo.proto ├── OneoffGatherPointDetectorData.proto ├── OneoffGatherPointDetectorDataNotify.proto ├── OnlinePlayerInfo.proto ├── OpenStateUpdateNotify.proto ├── Operation.proto ├── PacketHead.proto ├── ParamList.proto ├── ParentQuest.proto ├── ParentQuestRandomInfo.proto ├── PersonalSceneJumpReq.proto ├── PersonalSceneJumpRsp.proto ├── PingReq.proto ├── PingRsp.proto ├── PlatformInfo.proto ├── PlatformType.proto ├── PlayTeamEntityInfo.proto ├── PlayerApplyEnterMpNotify.proto ├── PlayerApplyEnterMpReason.proto ├── PlayerApplyEnterMpReq.proto ├── PlayerApplyEnterMpResultNotify.proto ├── PlayerApplyEnterMpResultReq.proto ├── PlayerApplyEnterMpResultRsp.proto ├── PlayerApplyEnterMpRsp.proto ├── PlayerChatNotify.proto ├── PlayerChatReq.proto ├── PlayerChatRsp.proto ├── PlayerDataNotify.proto ├── PlayerDieType.proto ├── PlayerEnterDungeonReq.proto ├── PlayerEnterDungeonRsp.proto ├── PlayerEnterSceneInfoNotify.proto ├── PlayerEnterSceneNotify.proto ├── PlayerGameTimeNotify.proto ├── PlayerGetForceQuitBanInfoRsp.proto ├── PlayerHomeCompInfo.proto ├── PlayerHomeCompInfoNotify.proto ├── PlayerLevelRewardUpdateNotify.proto ├── PlayerLocationInfo.proto ├── PlayerLoginReq.proto ├── PlayerLoginRsp.proto ├── PlayerPropNotify.proto ├── PlayerQuitDungeonReq.proto ├── PlayerQuitDungeonRsp.proto ├── PlayerRTTInfo.proto ├── PlayerSetPauseReq.proto ├── PlayerStoreNotify.proto ├── PlayerTimeNotify.proto ├── PlayerWorldLocationInfo.proto ├── PlayerWorldSceneInfo.proto ├── PlayerWorldSceneInfoListNotify.proto ├── PostEnterSceneRsp.proto ├── PrivateChatNotify.proto ├── PrivateChatReq.proto ├── PrivateChatRsp.proto ├── ProfilePicture.proto ├── PropChangeReason.proto ├── PropPair.proto ├── PropValue.proto ├── ProtEntityType.proto ├── ProudSkillChangeNotify.proto ├── ProudSkillExtraLevelNotify.proto ├── PullPrivateChatReq.proto ├── PullPrivateChatRsp.proto ├── PullRecentChatRsp.proto ├── QueryCodexMonsterBeKilledNumReq.proto ├── QueryCodexMonsterBeKilledNumRsp.proto ├── QueryCurrRegionHttpRsp.proto ├── QueryRegionListHttpRsp.proto ├── Quest.proto ├── QuestDelNotify.proto ├── QuestGlobalVar.proto ├── QuestGlobalVarNotify.proto ├── QuestListNotify.proto ├── QuestListUpdateNotify.proto ├── QuestProgressUpdateNotify.proto ├── QuestUpdateQuestVarNotify.proto ├── QuestUpdateQuestVarReq.proto ├── QuestUpdateQuestVarRsp.proto ├── QuestVarOp.proto ├── QuickUseWidgetReq.proto ├── QuickUseWidgetRsp.proto ├── ReadMailNotify.proto ├── RegionInfo.proto ├── RegionSimpleInfo.proto ├── Reliquary.proto ├── ReliquaryPromoteReq.proto ├── ReliquaryPromoteRsp.proto ├── ReliquaryUpgradeReq.proto ├── ReliquaryUpgradeRsp.proto ├── ResVersionConfig.proto ├── ResinCard.proto ├── ResinChangeNotify.proto ├── ResinCostType.proto ├── Retcode.proto ├── RoguelikeDungeonSettleInfo.proto ├── RoguelikeGadgetInfo.proto ├── RoguelikeSettleCoinInfo.proto ├── Route.proto ├── RoutePoint.proto ├── SceneAreaWeatherNotify.proto ├── SceneAvatarInfo.proto ├── SceneEntityAiInfo.proto ├── SceneEntityAppearNotify.proto ├── SceneEntityDisappearNotify.proto ├── SceneEntityDrownReq.proto ├── SceneEntityDrownRsp.proto ├── SceneEntityInfo.proto ├── SceneEntityMoveNotify.proto ├── SceneFishInfo.proto ├── SceneForceUnlockNotify.proto ├── SceneGadgetInfo.proto ├── SceneInitFinishRsp.proto ├── SceneKickPlayerNotify.proto ├── SceneKickPlayerReq.proto ├── SceneKickPlayerRsp.proto ├── SceneMonsterInfo.proto ├── SceneNpcInfo.proto ├── ScenePlayerInfo.proto ├── ScenePlayerInfoNotify.proto ├── ScenePlayerLocationNotify.proto ├── SceneReliquaryInfo.proto ├── SceneTeamAvatar.proto ├── SceneTeamUpdateNotify.proto ├── SceneTimeNotify.proto ├── SceneTransToPointReq.proto ├── SceneTransToPointRsp.proto ├── SceneUnlockInfo.proto ├── SceneWeaponInfo.proto ├── ScreenInfo.proto ├── SelectWorktopOptionReq.proto ├── SelectWorktopOptionRsp.proto ├── ServantInfo.proto ├── ServerBuff.proto ├── ServerCondMeetQuestListUpdateNotify.proto ├── ServerTimeNotify.proto ├── SetEntityClientDataNotify.proto ├── SetEquipLockStateReq.proto ├── SetEquipLockStateRsp.proto ├── SetNameCardReq.proto ├── SetNameCardRsp.proto ├── SetPlayerBirthdayReq.proto ├── SetPlayerBirthdayRsp.proto ├── SetPlayerBornDataReq.proto ├── SetPlayerBornDataRsp.proto ├── SetPlayerHeadImageReq.proto ├── SetPlayerHeadImageRsp.proto ├── SetPlayerNameReq.proto ├── SetPlayerNameRsp.proto ├── SetPlayerPropReq.proto ├── SetPlayerPropRsp.proto ├── SetPlayerSignatureReq.proto ├── SetPlayerSignatureRsp.proto ├── SetUpAvatarTeamReq.proto ├── SetUpAvatarTeamRsp.proto ├── SetUpLunchBoxWidgetReq.proto ├── SetUpLunchBoxWidgetRsp.proto ├── SetWidgetSlotReq.proto ├── SetWidgetSlotRsp.proto ├── Shop.proto ├── ShopCardProduct.proto ├── ShopConcertProduct.proto ├── ShopGoods.proto ├── ShopGoodsDisableType.proto ├── ShopMcoinProduct.proto ├── ShortAbilityHashPair.proto ├── ShowAvatarInfo.proto ├── ShowEquip.proto ├── SocialDetail.proto ├── SocialShowAvatarInfo.proto ├── StatueGadgetInfo.proto ├── StopServerInfo.proto ├── StoreItemChangeNotify.proto ├── StoreItemDelNotify.proto ├── StoreType.proto ├── StoreWeightLimitNotify.proto ├── StrengthenPointData.proto ├── SyncScenePlayTeamEntityNotify.proto ├── SyncTeamEntityNotify.proto ├── SystemHint.proto ├── TakeAchievementRewardReq.proto ├── TakePlayerLevelRewardReq.proto ├── TakePlayerLevelRewardRsp.proto ├── TakeoffEquipReq.proto ├── TakeoffEquipRsp.proto ├── TeamEnterSceneInfo.proto ├── TeamEntityInfo.proto ├── TeamResonanceChangeNotify.proto ├── TowerAllDataRsp.proto ├── TowerBuffSelectReq.proto ├── TowerBuffSelectRsp.proto ├── TowerCurLevelRecord.proto ├── TowerCurLevelRecordChangeNotify.proto ├── TowerEnterLevelReq.proto ├── TowerEnterLevelRsp.proto ├── TowerFloorRecord.proto ├── TowerFloorRecordChangeNotify.proto ├── TowerLevelEndNotify.proto ├── TowerLevelRecord.proto ├── TowerLevelStarCondData.proto ├── TowerLevelStarCondNotify.proto ├── TowerMiddleLevelChangeTeamNotify.proto ├── TowerMonthlyBrief.proto ├── TowerTeam.proto ├── TowerTeamSelectReq.proto ├── TowerTeamSelectRsp.proto ├── TrackingIOInfo.proto ├── TrialAvatarFirstPassDungeonNotify.proto ├── TrialAvatarGrantRecord.proto ├── TrialAvatarInfo.proto ├── TryEnterHomeReq.proto ├── TryEnterHomeRsp.proto ├── Uint32Pair.proto ├── UnionCmd.proto ├── UnionCmdNotify.proto ├── UnlockAvatarTalentReq.proto ├── UnlockAvatarTalentRsp.proto ├── UnlockNameCardNotify.proto ├── UpdatePlayerShowAvatarListReq.proto ├── UpdatePlayerShowAvatarListRsp.proto ├── UseItemReq.proto ├── UseItemRsp.proto ├── UseWidgetCreateGadgetReq.proto ├── UseWidgetCreateGadgetRsp.proto ├── UseWidgetRetractGadgetReq.proto ├── UseWidgetRetractGadgetRsp.proto ├── Vector.proto ├── VehicleInfo.proto ├── VehicleInteractReq.proto ├── VehicleInteractRsp.proto ├── VehicleInteractType.proto ├── VehicleLocationInfo.proto ├── VehicleMember.proto ├── VehicleStaminaNotify.proto ├── VisionType.proto ├── Weapon.proto ├── WeaponAwakenReq.proto ├── WeaponAwakenRsp.proto ├── WeaponPromoteReq.proto ├── WeaponPromoteRsp.proto ├── WeaponUpgradeReq.proto ├── WeaponUpgradeRsp.proto ├── WearEquipReq.proto ├── WearEquipRsp.proto ├── WeatherInfo.proto ├── WeeklyBossResinDiscountInfo.proto ├── WidgetActiveChangeNotify.proto ├── WidgetCameraInfo.proto ├── WidgetCoolDownData.proto ├── WidgetCoolDownNotify.proto ├── WidgetCreateLocationInfo.proto ├── WidgetCreatorInfo.proto ├── WidgetCreatorOpType.proto ├── WidgetDoBagReq.proto ├── WidgetDoBagRsp.proto ├── WidgetGadgetAllDataNotify.proto ├── WidgetGadgetData.proto ├── WidgetGadgetDataNotify.proto ├── WidgetGadgetDestroyNotify.proto ├── WidgetReportReq.proto ├── WidgetReportRsp.proto ├── WidgetSlotChangeNotify.proto ├── WidgetSlotData.proto ├── WidgetSlotOp.proto ├── WidgetSlotTag.proto ├── WidgetSlotTagComparer.proto ├── WidgetThunderBirdFeatherInfo.proto ├── WidgetUseAttachAbilityGroupChangeNotify.proto ├── WorktopInfo.proto ├── WorktopOptionNotify.proto ├── WorldDataNotify.proto ├── WorldPlayerDieNotify.proto ├── WorldPlayerInfoNotify.proto ├── WorldPlayerLocationNotify.proto ├── WorldPlayerRTTNotify.proto ├── WorldPlayerReviveReq.proto └── WorldPlayerReviveRsp.proto ├── proxy.py ├── proxy_config.py ├── settings.gradle ├── src └── main │ ├── java │ └── emu │ │ └── grasscutter │ │ ├── Configuration.java │ │ ├── GameConstants.java │ │ ├── Grasscutter.java │ │ ├── auth │ │ ├── AuthenticationSystem.java │ │ ├── Authenticator.java │ │ ├── DefaultAuthentication.java │ │ ├── DefaultAuthenticators.java │ │ ├── ExternalAuthenticator.java │ │ └── OAuthAuthenticator.java │ │ ├── command │ │ ├── Command.java │ │ ├── CommandHandler.java │ │ ├── CommandMap.java │ │ └── commands │ │ │ ├── AccountCommand.java │ │ │ ├── BroadcastCommand.java │ │ │ ├── ChangeSceneCommand.java │ │ │ ├── ClearCommand.java │ │ │ ├── CoopCommand.java │ │ │ ├── DropCommand.java │ │ │ ├── EnterDungeonCommand.java │ │ │ ├── GiveAllCommand.java │ │ │ ├── GiveArtifactCommand.java │ │ │ ├── GiveCharCommand.java │ │ │ ├── GiveCommand.java │ │ │ ├── GodModeCommand.java │ │ │ ├── HealCommand.java │ │ │ ├── HelpCommand.java │ │ │ ├── KickCommand.java │ │ │ ├── KillAllCommand.java │ │ │ ├── KillCharacterCommand.java │ │ │ ├── LanguageCommand.java │ │ │ ├── ListCommand.java │ │ │ ├── NoStaminaCommand.java │ │ │ ├── PermissionCommand.java │ │ │ ├── PositionCommand.java │ │ │ ├── QuestCommand.java │ │ │ ├── ReloadCommand.java │ │ │ ├── ResetConstCommand.java │ │ │ ├── ResetShopLimitCommand.java │ │ │ ├── RestartCommand.java │ │ │ ├── SendMailCommand.java │ │ │ ├── SendMessageCommand.java │ │ │ ├── SetFetterLevelCommand.java │ │ │ ├── SetStatsCommand.java │ │ │ ├── SetWorldLevelCommand.java │ │ │ ├── SpawnCommand.java │ │ │ ├── StopCommand.java │ │ │ ├── TalentCommand.java │ │ │ ├── TeamCommand.java │ │ │ ├── TeleportAllCommand.java │ │ │ ├── TeleportCommand.java │ │ │ ├── UnlimitEnergyCommand.java │ │ │ ├── UnlockTowerCommand.java │ │ │ └── WeatherCommand.java │ │ ├── data │ │ ├── DataLoader.java │ │ ├── GameData.java │ │ ├── GameDepot.java │ │ ├── GameResource.java │ │ ├── ResourceLoader.java │ │ ├── ResourceType.java │ │ ├── binout │ │ │ ├── AbilityEmbryoEntry.java │ │ │ ├── AbilityModifier.java │ │ │ ├── AbilityModifierEntry.java │ │ │ ├── MainQuestData.java │ │ │ ├── OpenConfigEntry.java │ │ │ ├── SceneNpcBornData.java │ │ │ ├── SceneNpcBornEntry.java │ │ │ └── ScenePointEntry.java │ │ ├── common │ │ │ ├── CurveInfo.java │ │ │ ├── FightPropData.java │ │ │ ├── ItemParamData.java │ │ │ ├── ItemParamStringData.java │ │ │ ├── ItemUseData.java │ │ │ ├── OpenCondData.java │ │ │ ├── PointData.java │ │ │ ├── PropGrowCurve.java │ │ │ └── ScenePointConfig.java │ │ └── excels │ │ │ ├── AvatarCostumeData.java │ │ │ ├── AvatarCurveData.java │ │ │ ├── AvatarData.java │ │ │ ├── AvatarFetterLevelData.java │ │ │ ├── AvatarFlycloakData.java │ │ │ ├── AvatarLevelData.java │ │ │ ├── AvatarPromoteData.java │ │ │ ├── AvatarSkillData.java │ │ │ ├── AvatarSkillDepotData.java │ │ │ ├── AvatarTalentData.java │ │ │ ├── CityData.java │ │ │ ├── CodexAnimalData.java │ │ │ ├── CodexMaterialData.java │ │ │ ├── CodexQuestData.java │ │ │ ├── CodexReliquaryData.java │ │ │ ├── CodexWeaponData.java │ │ │ ├── CombineData.java │ │ │ ├── DailyDungeonData.java │ │ │ ├── DungeonData.java │ │ │ ├── EnvAnimalGatherConfigData.java │ │ │ ├── EquipAffixData.java │ │ │ ├── FetterCharacterCardData.java │ │ │ ├── FetterData.java │ │ │ ├── ForgeData.java │ │ │ ├── GadgetData.java │ │ │ ├── GatherData.java │ │ │ ├── InvestigationMonsterData.java │ │ │ ├── ItemData.java │ │ │ ├── MonsterCurveData.java │ │ │ ├── MonsterData.java │ │ │ ├── MonsterDescribeData.java │ │ │ ├── NpcData.java │ │ │ ├── PlayerLevelData.java │ │ │ ├── ProudSkillData.java │ │ │ ├── QuestData.java │ │ │ ├── ReliquaryAffixData.java │ │ │ ├── ReliquaryLevelData.java │ │ │ ├── ReliquaryMainPropData.java │ │ │ ├── ReliquarySetData.java │ │ │ ├── RewardData.java │ │ │ ├── RewardPreviewData.java │ │ │ ├── SceneData.java │ │ │ ├── ShopGoodsData.java │ │ │ ├── TowerFloorData.java │ │ │ ├── TowerLevelData.java │ │ │ ├── TowerScheduleData.java │ │ │ ├── WeaponCurveData.java │ │ │ ├── WeaponLevelData.java │ │ │ ├── WeaponPromoteData.java │ │ │ └── WorldLevelData.java │ │ ├── database │ │ ├── DatabaseCounter.java │ │ ├── DatabaseHelper.java │ │ └── DatabaseManager.java │ │ ├── game │ │ ├── Account.java │ │ ├── CoopRequest.java │ │ ├── ability │ │ │ └── AbilityManager.java │ │ ├── avatar │ │ │ ├── Avatar.java │ │ │ ├── AvatarProfileData.java │ │ │ ├── AvatarStat.java │ │ │ └── AvatarStorage.java │ │ ├── combine │ │ │ ├── CombineManger.java │ │ │ └── CombineResult.java │ │ ├── drop │ │ │ ├── DropData.java │ │ │ ├── DropInfo.java │ │ │ └── DropManager.java │ │ ├── dungeons │ │ │ ├── BasicDungeonSettleListener.java │ │ │ ├── DungeonManager.java │ │ │ ├── DungeonSettleListener.java │ │ │ ├── TowerDungeonSettleListener.java │ │ │ └── challenge │ │ │ │ ├── DungeonChallenge.java │ │ │ │ ├── WorldChallenge.java │ │ │ │ ├── factory │ │ │ │ ├── ChallengeFactory.java │ │ │ │ ├── ChallengeFactoryHandler.java │ │ │ │ ├── DungeonChallengeFactoryHandler.java │ │ │ │ ├── DungeonGuardChallengeFactoryHandler.java │ │ │ │ ├── KillGadgetChallengeFactoryHandler.java │ │ │ │ └── KillMonsterChallengeFactoryHandler.java │ │ │ │ └── trigger │ │ │ │ ├── ChallengeTrigger.java │ │ │ │ ├── GuardTrigger.java │ │ │ │ ├── InTimeTrigger.java │ │ │ │ ├── KillGadgetTrigger.java │ │ │ │ └── KillMonsterTrigger.java │ │ ├── entity │ │ │ ├── EntityAvatar.java │ │ │ ├── EntityBaseGadget.java │ │ │ ├── EntityClientGadget.java │ │ │ ├── EntityGadget.java │ │ │ ├── EntityItem.java │ │ │ ├── EntityMonster.java │ │ │ ├── EntityNPC.java │ │ │ ├── EntityRegion.java │ │ │ ├── EntityVehicle.java │ │ │ ├── GameEntity.java │ │ │ └── gadget │ │ │ │ ├── GadgetChest.java │ │ │ │ ├── GadgetContent.java │ │ │ │ ├── GadgetGatherPoint.java │ │ │ │ ├── GadgetRewardStatue.java │ │ │ │ ├── GadgetWorktop.java │ │ │ │ └── chest │ │ │ │ ├── BossChestInteractHandler.java │ │ │ │ ├── ChestInteractHandler.java │ │ │ │ └── NormalChestInteractHandler.java │ │ ├── expedition │ │ │ ├── ExpeditionInfo.java │ │ │ ├── ExpeditionManager.java │ │ │ ├── ExpeditionRewardData.java │ │ │ ├── ExpeditionRewardDataList.java │ │ │ └── ExpeditionRewardInfo.java │ │ ├── friends │ │ │ ├── FriendsList.java │ │ │ ├── Friendship.java │ │ │ └── PlayerProfile.java │ │ ├── gacha │ │ │ ├── GachaBanner.java │ │ │ ├── GachaManager.java │ │ │ ├── GachaRecord.java │ │ │ ├── PlayerGachaBannerInfo.java │ │ │ └── PlayerGachaInfo.java │ │ ├── inventory │ │ │ ├── EquipInventoryTab.java │ │ │ ├── EquipType.java │ │ │ ├── GameItem.java │ │ │ ├── Inventory.java │ │ │ ├── InventoryTab.java │ │ │ ├── ItemDef.java │ │ │ ├── ItemQuality.java │ │ │ ├── ItemType.java │ │ │ ├── MaterialInventoryTab.java │ │ │ └── MaterialType.java │ │ ├── mail │ │ │ ├── Mail.java │ │ │ └── MailHandler.java │ │ ├── managers │ │ │ ├── AccountManager.java │ │ │ ├── ChatManager │ │ │ │ ├── ChatManager.java │ │ │ │ └── ChatManagerHandler.java │ │ │ ├── DeforestationManager │ │ │ │ ├── DeforestationManager.java │ │ │ │ └── HitTreeRecord.java │ │ │ ├── EnergyManager │ │ │ │ ├── EnergyDropEntry.java │ │ │ │ ├── EnergyDropInfo.java │ │ │ │ ├── EnergyManager.java │ │ │ │ ├── SkillParticleGenerationEntry.java │ │ │ │ └── SkillParticleGenerationInfo.java │ │ │ ├── ForgingManager │ │ │ │ ├── ActiveForgeData.java │ │ │ │ └── ForgingManager.java │ │ │ ├── InsectCaptureManager.java │ │ │ ├── InventoryManager.java │ │ │ ├── MapMarkManager │ │ │ │ ├── MapMark.java │ │ │ │ └── MapMarksManager.java │ │ │ ├── MultiplayerManager.java │ │ │ ├── SotSManager.java │ │ │ └── StaminaManager │ │ │ │ ├── AfterUpdateStaminaListener.java │ │ │ │ ├── BeforeUpdateStaminaListener.java │ │ │ │ ├── Consumption.java │ │ │ │ ├── ConsumptionType.java │ │ │ │ ├── README.md │ │ │ │ └── StaminaManager.java │ │ ├── player │ │ │ ├── InvokeHandler.java │ │ │ ├── Player.java │ │ │ ├── PlayerBirthday.java │ │ │ ├── PlayerCodex.java │ │ │ ├── TeamInfo.java │ │ │ └── TeamManager.java │ │ ├── props │ │ │ ├── ActionReason.java │ │ │ ├── ClimateType.java │ │ │ ├── ElementType.java │ │ │ ├── EnterReason.java │ │ │ ├── EntityIdType.java │ │ │ ├── EntityType.java │ │ │ ├── FetterState.java │ │ │ ├── FightProperty.java │ │ │ ├── GrowCurve.java │ │ │ ├── LifeState.java │ │ │ ├── MonsterType.java │ │ │ ├── OpenState.java │ │ │ ├── PlayerProperty.java │ │ │ ├── SceneType.java │ │ │ └── WeaponType.java │ │ ├── quest │ │ │ ├── GameMainQuest.java │ │ │ ├── GameQuest.java │ │ │ ├── QuestManager.java │ │ │ ├── QuestValue.java │ │ │ ├── ServerQuestHandler.java │ │ │ ├── conditions │ │ │ │ ├── BaseCondition.java │ │ │ │ ├── ConditionPlayerLevelEqualGreater.java │ │ │ │ └── ConditionStateEqual.java │ │ │ ├── content │ │ │ │ ├── BaseContent.java │ │ │ │ ├── ContentCompleteTalk.java │ │ │ │ ├── ContentEnterDungeon.java │ │ │ │ └── ContentFinishPlot.java │ │ │ ├── enums │ │ │ │ ├── LogicType.java │ │ │ │ ├── ParentQuestState.java │ │ │ │ ├── QuestGuideType.java │ │ │ │ ├── QuestShowType.java │ │ │ │ ├── QuestState.java │ │ │ │ ├── QuestTrigger.java │ │ │ │ ├── QuestType.java │ │ │ │ └── ShowQuestGuideType.java │ │ │ └── handlers │ │ │ │ └── QuestBaseHandler.java │ │ ├── shop │ │ │ ├── ShopChestBatchUseTable.java │ │ │ ├── ShopChestTable.java │ │ │ ├── ShopInfo.java │ │ │ ├── ShopLimit.java │ │ │ ├── ShopManager.java │ │ │ └── ShopTable.java │ │ ├── tower │ │ │ ├── TowerData.java │ │ │ ├── TowerLevelRecord.java │ │ │ ├── TowerManager.java │ │ │ ├── TowerScheduleConfig.java │ │ │ └── TowerScheduleManager.java │ │ └── world │ │ │ ├── ChestReward.java │ │ │ ├── Scene.java │ │ │ ├── SpawnDataEntry.java │ │ │ ├── World.java │ │ │ └── WorldDataManager.java │ │ ├── net │ │ └── packet │ │ │ ├── BasePacket.java │ │ │ ├── Opcodes.java │ │ │ ├── PacketHandler.java │ │ │ ├── PacketOpcodes.java │ │ │ ├── PacketOpcodesUtil.java │ │ │ └── PacketWriter.java │ │ ├── netty │ │ ├── KcpChannel.java │ │ ├── KcpHandshaker.java │ │ ├── KcpServer.java │ │ └── KcpServerInitializer.java │ │ ├── plugin │ │ ├── Plugin.java │ │ ├── PluginConfig.java │ │ ├── PluginIdentifier.java │ │ ├── PluginManager.java │ │ └── api │ │ │ ├── Item.java │ │ │ ├── PlayerHook.java │ │ │ └── ServerHook.java │ │ ├── scripts │ │ ├── SceneIndexManager.java │ │ ├── SceneScriptManager.java │ │ ├── ScriptLib.java │ │ ├── ScriptLibContext.java │ │ ├── ScriptLoader.java │ │ ├── ScriptUtils.java │ │ ├── constants │ │ │ ├── EventType.java │ │ │ ├── ScriptGadgetState.java │ │ │ └── ScriptRegionShape.java │ │ ├── data │ │ │ ├── SceneBlock.java │ │ │ ├── SceneBossChest.java │ │ │ ├── SceneBusiness.java │ │ │ ├── SceneConfig.java │ │ │ ├── SceneGadget.java │ │ │ ├── SceneGarbage.java │ │ │ ├── SceneGroup.java │ │ │ ├── SceneInitConfig.java │ │ │ ├── SceneMeta.java │ │ │ ├── SceneMonster.java │ │ │ ├── SceneNPC.java │ │ │ ├── SceneObject.java │ │ │ ├── SceneRegion.java │ │ │ ├── SceneSuite.java │ │ │ ├── SceneTrigger.java │ │ │ ├── SceneVar.java │ │ │ └── ScriptArgs.java │ │ ├── engine │ │ │ ├── CoerceJavaToLua.java │ │ │ ├── JavaToLuaFunction.java │ │ │ ├── LuaCompiledScript.java │ │ │ ├── LuaScriptContext.java │ │ │ ├── LuaScriptEngine.java │ │ │ ├── LuaScriptEngineFactory.java │ │ │ └── LuaTable.java │ │ ├── listener │ │ │ └── ScriptMonsterListener.java │ │ ├── serializer │ │ │ ├── LuaSerializer.java │ │ │ └── Serializer.java │ │ └── service │ │ │ ├── ScriptMonsterSpawnService.java │ │ │ └── ScriptMonsterTideService.java │ │ ├── server │ │ ├── event │ │ │ ├── Cancellable.java │ │ │ ├── Event.java │ │ │ ├── EventHandler.java │ │ │ ├── HandlerPriority.java │ │ │ ├── dispatch │ │ │ │ ├── QueryAllRegionsEvent.java │ │ │ │ └── QueryCurrentRegionEvent.java │ │ │ ├── game │ │ │ │ ├── CommandResponseEvent.java │ │ │ │ ├── PlayerCreationEvent.java │ │ │ │ ├── ReceivePacketEvent.java │ │ │ │ ├── SendPacketEvent.java │ │ │ │ └── ServerTickEvent.java │ │ │ ├── internal │ │ │ │ ├── ServerLogEvent.java │ │ │ │ ├── ServerStartEvent.java │ │ │ │ └── ServerStopEvent.java │ │ │ ├── player │ │ │ │ ├── PlayerJoinEvent.java │ │ │ │ ├── PlayerQuitEvent.java │ │ │ │ └── PlayerReceiveMailEvent.java │ │ │ └── types │ │ │ │ ├── GameEvent.java │ │ │ │ ├── PlayerEvent.java │ │ │ │ └── ServerEvent.java │ │ ├── game │ │ │ ├── GameServer.java │ │ │ ├── GameServerInitializer.java │ │ │ ├── GameServerPacketHandler.java │ │ │ ├── GameServerStartFinishEvent.java │ │ │ ├── GameServerStopEvent.java │ │ │ ├── GameServerTickEvent.java │ │ │ └── GameSession.java │ │ ├── http │ │ │ ├── HttpServer.java │ │ │ ├── Router.java │ │ │ ├── dispatch │ │ │ │ ├── DispatchHandler.java │ │ │ │ └── RegionHandler.java │ │ │ ├── documentation │ │ │ │ ├── DocumentationHandler.java │ │ │ │ ├── DocumentationServerHandler.java │ │ │ │ ├── GachaMappingRequestHandler.java │ │ │ │ ├── HandbookRequestHandler.java │ │ │ │ └── RootRequestHandler.java │ │ │ ├── handlers │ │ │ │ ├── AnnouncementsHandler.java │ │ │ │ ├── GachaHandler.java │ │ │ │ ├── GenericHandler.java │ │ │ │ └── LogHandler.java │ │ │ └── objects │ │ │ │ ├── ComboTokenReqJson.java │ │ │ │ ├── ComboTokenResJson.java │ │ │ │ ├── HttpJsonResponse.java │ │ │ │ ├── LoginAccountRequestJson.java │ │ │ │ ├── LoginResultJson.java │ │ │ │ ├── LoginTokenRequestJson.java │ │ │ │ └── WebStaticVersionResponse.java │ │ └── packet │ │ │ ├── recv │ │ │ ├── Handler.java │ │ │ ├── HandlerAbilityInvocationsNotify.java │ │ │ ├── HandlerAskAddFriendReq.java │ │ │ ├── HandlerAvatarChangeCostumeReq.java │ │ │ ├── HandlerAvatarDieAnimationEndReq.java │ │ │ ├── HandlerAvatarExpeditionAllDataReq.java │ │ │ ├── HandlerAvatarExpeditionCallBackReq.java │ │ │ ├── HandlerAvatarExpeditionGetRewardReq.java │ │ │ ├── HandlerAvatarExpeditionStartReq.java │ │ │ ├── HandlerAvatarFetterLevelRewardReq.java │ │ │ ├── HandlerAvatarPromoteReq.java │ │ │ ├── HandlerAvatarSkillUpgradeReq.java │ │ │ ├── HandlerAvatarUpgradeReq.java │ │ │ ├── HandlerAvatarWearFlycloakReq.java │ │ │ ├── HandlerBuyGoodsReq.java │ │ │ ├── HandlerCalcWeaponUpgradeReturnItemsReq.java │ │ │ ├── HandlerChangeAvatarReq.java │ │ │ ├── HandlerChangeGameTimeReq.java │ │ │ ├── HandlerChangeMailStarNotify.java │ │ │ ├── HandlerChangeMpTeamAvatarReq.java │ │ │ ├── HandlerChangeTeamNameReq.java │ │ │ ├── HandlerChooseCurAvatarTeamReq.java │ │ │ ├── HandlerClientAbilityInitFinishNotify.java │ │ │ ├── HandlerCombatInvocationsNotify.java │ │ │ ├── HandlerCombineReq.java │ │ │ ├── HandlerCreateVehicleReq.java │ │ │ ├── HandlerDealAddFriendReq.java │ │ │ ├── HandlerDelMailReq.java │ │ │ ├── HandlerDeleteFriendReq.java │ │ │ ├── HandlerDestroyMaterialReq.java │ │ │ ├── HandlerDoGachaReq.java │ │ │ ├── HandlerDungeonEntryInfoReq.java │ │ │ ├── HandlerEnterSceneDoneReq.java │ │ │ ├── HandlerEnterSceneReadyReq.java │ │ │ ├── HandlerEnterTransPointRegionNotify.java │ │ │ ├── HandlerEnterWorldAreaReq.java │ │ │ ├── HandlerEntityAiSyncNotify.java │ │ │ ├── HandlerEvtAiSyncCombatThreatInfoNotify.java │ │ │ ├── HandlerEvtAiSyncSkillCdNotify.java │ │ │ ├── HandlerEvtAvatarLockChairReq.java │ │ │ ├── HandlerEvtAvatarSitDownNotify.java │ │ │ ├── HandlerEvtAvatarStandUpNotify.java │ │ │ ├── HandlerEvtCreateGadgetNotify.java │ │ │ ├── HandlerEvtDestroyGadgetNotify.java │ │ │ ├── HandlerEvtDoSkillSuccNotify.java │ │ │ ├── HandlerExitTransPointRegionNotify.java │ │ │ ├── HandlerForgeGetQueueDataReq.java │ │ │ ├── HandlerForgeQueueManipulateReq.java │ │ │ ├── HandlerForgeStartReq.java │ │ │ ├── HandlerGadgetInteractReq.java │ │ │ ├── HandlerGetActivityInfoReq.java │ │ │ ├── HandlerGetAllH5ActivityInfoReq.java │ │ │ ├── HandlerGetAllMailReq.java │ │ │ ├── HandlerGetAllUnlockNameCardReq.java │ │ │ ├── HandlerGetAuthkeyReq.java │ │ │ ├── HandlerGetFriendShowAvatarInfoReq.java │ │ │ ├── HandlerGetGachaInfoReq.java │ │ │ ├── HandlerGetInvestigationMonsterReq.java │ │ │ ├── HandlerGetMailItemReq.java │ │ │ ├── HandlerGetOnlinePlayerListReq.java │ │ │ ├── HandlerGetPlayerBlacklistReq.java │ │ │ ├── HandlerGetPlayerFriendListReq.java │ │ │ ├── HandlerGetPlayerSocialDetailReq.java │ │ │ ├── HandlerGetPlayerTokenReq.java │ │ │ ├── HandlerGetRegionSearchReq.java │ │ │ ├── HandlerGetSceneAreaReq.java │ │ │ ├── HandlerGetScenePointReq.java │ │ │ ├── HandlerGetShopReq.java │ │ │ ├── HandlerGetShopmallDataReq.java │ │ │ ├── HandlerGetWidgetSlotReq.java │ │ │ ├── HandlerGetWorldMpInfoReq.java │ │ │ ├── HandlerHitTreeNotify.java │ │ │ ├── HandlerHomeChooseModuleReq.java │ │ │ ├── HandlerMarkMapReq.java │ │ │ ├── HandlerMcoinExchangeHcoinReq.java │ │ │ ├── HandlerMonsterAIConfigHashNotify.java │ │ │ ├── HandlerNpcTalkReq.java │ │ │ ├── HandlerObstacleModifyNotify.java │ │ │ ├── HandlerPathfindingEnterSceneReq.java │ │ │ ├── HandlerPersonalSceneJumpReq.java │ │ │ ├── HandlerPingReq.java │ │ │ ├── HandlerPlayerApplyEnterMpReq.java │ │ │ ├── HandlerPlayerApplyEnterMpResultReq.java │ │ │ ├── HandlerPlayerChatReq.java │ │ │ ├── HandlerPlayerEnterDungeonReq.java │ │ │ ├── HandlerPlayerForceExitReq.java │ │ │ ├── HandlerPlayerGetForceQuitBanInfoReq.java │ │ │ ├── HandlerPlayerLoginReq.java │ │ │ ├── HandlerPlayerQuitDungeonReq.java │ │ │ ├── HandlerPlayerSetPauseReq.java │ │ │ ├── HandlerPostEnterSceneReq.java │ │ │ ├── HandlerPrivateChatReq.java │ │ │ ├── HandlerPullPrivateChatReq.java │ │ │ ├── HandlerPullRecentChatReq.java │ │ │ ├── HandlerQueryCodexMonsterBeKilledNumReq.java │ │ │ ├── HandlerQueryPathReq.java │ │ │ ├── HandlerQuickUseWidgetReq.java │ │ │ ├── HandlerReadMailNotify.java │ │ │ ├── HandlerReliquaryUpgradeReq.java │ │ │ ├── HandlerSceneEntityDrownReq.java │ │ │ ├── HandlerSceneInitFinishReq.java │ │ │ ├── HandlerSceneKickPlayerReq.java │ │ │ ├── HandlerSceneTransToPointReq.java │ │ │ ├── HandlerSelectWorktopOptionReq.java │ │ │ ├── HandlerSetEntityClientDataNotify.java │ │ │ ├── HandlerSetEquipLockStateReq.java │ │ │ ├── HandlerSetNameCardReq.java │ │ │ ├── HandlerSetPlayerBirthdayReq.java │ │ │ ├── HandlerSetPlayerBornDataReq.java │ │ │ ├── HandlerSetPlayerHeadImageReq.java │ │ │ ├── HandlerSetPlayerNameReq.java │ │ │ ├── HandlerSetPlayerPropReq.java │ │ │ ├── HandlerSetPlayerSignatureReq.java │ │ │ ├── HandlerSetUpAvatarTeamReq.java │ │ │ ├── HandlerSetWidgetSlotReq.java │ │ │ ├── HandlerTakePlayerLevelRewardReq.java │ │ │ ├── HandlerTakeoffEquipReq.java │ │ │ ├── HandlerTowerAllDataReq.java │ │ │ ├── HandlerTowerEnterLevelReq.java │ │ │ ├── HandlerTowerTeamSelectReq.java │ │ │ ├── HandlerTryEnterHomeReq.java │ │ │ ├── HandlerUnionCmdNotify.java │ │ │ ├── HandlerUnlockAvatarTalentReq.java │ │ │ ├── HandlerUpdatePlayerShowAvatarListReq.java │ │ │ ├── HandlerUseItemReq.java │ │ │ ├── HandlerVehicleInteractReq.java │ │ │ ├── HandlerWeaponAwakenReq.java │ │ │ ├── HandlerWeaponPromoteReq.java │ │ │ ├── HandlerWeaponUpgradeReq.java │ │ │ ├── HandlerWearEquipReq.java │ │ │ ├── HandlerWidgetDoBagReq.java │ │ │ └── HandlerWorldPlayerReviveReq.java │ │ │ └── send │ │ │ ├── Packet.java │ │ │ ├── PacketAbilityChangeNotify.java │ │ │ ├── PacketAbilityInvocationsNotify.java │ │ │ ├── PacketAllWidgetDataNotify.java │ │ │ ├── PacketAskAddFriendNotify.java │ │ │ ├── PacketAskAddFriendRsp.java │ │ │ ├── PacketAvatarAddNotify.java │ │ │ ├── PacketAvatarChangeCostumeNotify.java │ │ │ ├── PacketAvatarChangeCostumeRsp.java │ │ │ ├── PacketAvatarDataNotify.java │ │ │ ├── PacketAvatarDieAnimationEndRsp.java │ │ │ ├── PacketAvatarEquipChangeNotify.java │ │ │ ├── PacketAvatarExpeditionAllDataRsp.java │ │ │ ├── PacketAvatarExpeditionCallBackRsp.java │ │ │ ├── PacketAvatarExpeditionDataNotify.java │ │ │ ├── PacketAvatarExpeditionGetRewardRsp.java │ │ │ ├── PacketAvatarExpeditionStartRsp.java │ │ │ ├── PacketAvatarFetterDataNotify.java │ │ │ ├── PacketAvatarFetterLevelRewardRsp.java │ │ │ ├── PacketAvatarFightPropNotify.java │ │ │ ├── PacketAvatarFightPropUpdateNotify.java │ │ │ ├── PacketAvatarFlycloakChangeNotify.java │ │ │ ├── PacketAvatarGainCostumeNotify.java │ │ │ ├── PacketAvatarGainFlycloakNotify.java │ │ │ ├── PacketAvatarLifeStateChangeNotify.java │ │ │ ├── PacketAvatarPromoteRsp.java │ │ │ ├── PacketAvatarPropNotify.java │ │ │ ├── PacketAvatarSkillChangeNotify.java │ │ │ ├── PacketAvatarSkillInfoNotify.java │ │ │ ├── PacketAvatarSkillMaxChargeCountNotify.java │ │ │ ├── PacketAvatarSkillUpgradeRsp.java │ │ │ ├── PacketAvatarTeamUpdateNotify.java │ │ │ ├── PacketAvatarUnlockTalentNotify.java │ │ │ ├── PacketAvatarUpgradeRsp.java │ │ │ ├── PacketAvatarWearFlycloakRsp.java │ │ │ ├── PacketBuyGoodsRsp.java │ │ │ ├── PacketCalcWeaponUpgradeReturnItemsRsp.java │ │ │ ├── PacketCanUseSkillNotify.java │ │ │ ├── PacketCardProductRewardNotify.java │ │ │ ├── PacketChallengeDataNotify.java │ │ │ ├── PacketChangeAvatarRsp.java │ │ │ ├── PacketChangeGameTimeRsp.java │ │ │ ├── PacketChangeMpTeamAvatarRsp.java │ │ │ ├── PacketChangeTeamNameRsp.java │ │ │ ├── PacketChooseCurAvatarTeamRsp.java │ │ │ ├── PacketClientAbilityInitFinishNotify.java │ │ │ ├── PacketCodexDataFullNotify.java │ │ │ ├── PacketCodexDataUpdateNotify.java │ │ │ ├── PacketCombatInvocationsNotify.java │ │ │ ├── PacketCombineRsp.java │ │ │ ├── PacketCreateVehicleRsp.java │ │ │ ├── PacketDealAddFriendRsp.java │ │ │ ├── PacketDelMailRsp.java │ │ │ ├── PacketDelTeamEntityNotify.java │ │ │ ├── PacketDeleteFriendNotify.java │ │ │ ├── PacketDeleteFriendRsp.java │ │ │ ├── PacketDestroyMaterialRsp.java │ │ │ ├── PacketDoGachaRsp.java │ │ │ ├── PacketDungeonChallengeBeginNotify.java │ │ │ ├── PacketDungeonChallengeFinishNotify.java │ │ │ ├── PacketDungeonEntryInfoRsp.java │ │ │ ├── PacketDungeonSettleNotify.java │ │ │ ├── PacketEnterSceneDoneRsp.java │ │ │ ├── PacketEnterScenePeerNotify.java │ │ │ ├── PacketEnterSceneReadyRsp.java │ │ │ ├── PacketEnterWorldAreaRsp.java │ │ │ ├── PacketEntityAiSyncNotify.java │ │ │ ├── PacketEntityFightPropChangeReasonNotify.java │ │ │ ├── PacketEntityFightPropUpdateNotify.java │ │ │ ├── PacketEvtAvatarLockChairRsp.java │ │ │ ├── PacketEvtAvatarSitDownNotify.java │ │ │ ├── PacketEvtAvatarStandUpNotify.java │ │ │ ├── PacketFinishedParentQuestNotify.java │ │ │ ├── PacketFinishedParentQuestUpdateNotify.java │ │ │ ├── PacketForgeDataNotify.java │ │ │ ├── PacketForgeFormulaDataNotify.java │ │ │ ├── PacketForgeGetQueueDataRsp.java │ │ │ ├── PacketForgeQueueDataNotify.java │ │ │ ├── PacketForgeQueueManipulateRsp.java │ │ │ ├── PacketForgeStartRsp.java │ │ │ ├── PacketGadgetAutoPickDropInfoNotify.java │ │ │ ├── PacketGadgetInteractRsp.java │ │ │ ├── PacketGadgetStateNotify.java │ │ │ ├── PacketGetActivityInfoRsp.java │ │ │ ├── PacketGetAllMailRsp.java │ │ │ ├── PacketGetAllUnlockNameCardRsp.java │ │ │ ├── PacketGetAuthkeyRsp.java │ │ │ ├── PacketGetFriendShowAvatarInfoRsp.java │ │ │ ├── PacketGetGachaInfoRsp.java │ │ │ ├── PacketGetInvestigationMonsterRsp.java │ │ │ ├── PacketGetMailItemRsp.java │ │ │ ├── PacketGetOnlinePlayerListRsp.java │ │ │ ├── PacketGetPlayerAskFriendListRsp.java │ │ │ ├── PacketGetPlayerFriendListRsp.java │ │ │ ├── PacketGetPlayerSocialDetailRsp.java │ │ │ ├── PacketGetPlayerTokenRsp.java │ │ │ ├── PacketGetSceneAreaRsp.java │ │ │ ├── PacketGetScenePointRsp.java │ │ │ ├── PacketGetShopRsp.java │ │ │ ├── PacketGetShopmallDataRsp.java │ │ │ ├── PacketGetWidgetSlotRsp.java │ │ │ ├── PacketGetWorldMpInfoRsp.java │ │ │ ├── PacketGroupSuiteNotify.java │ │ │ ├── PacketH5ActivityIdsNotify.java │ │ │ ├── PacketHomeChooseModuleRsp.java │ │ │ ├── PacketHomeComfortInfoNotify.java │ │ │ ├── PacketHostPlayerNotify.java │ │ │ ├── PacketItemAddHintNotify.java │ │ │ ├── PacketLifeStateChangeNotify.java │ │ │ ├── PacketMailChangeNotify.java │ │ │ ├── PacketMarkMapRsp.java │ │ │ ├── PacketMarkNewNotify.java │ │ │ ├── PacketMcoinExchangeHcoinRsp.java │ │ │ ├── PacketNpcTalkRsp.java │ │ │ ├── PacketOpenStateUpdateNotify.java │ │ │ ├── PacketPathfindingEnterSceneRsp.java │ │ │ ├── PacketPersonalSceneJumpRsp.java │ │ │ ├── PacketPingRsp.java │ │ │ ├── PacketPlayerApplyEnterMpNotify.java │ │ │ ├── PacketPlayerApplyEnterMpResultNotify.java │ │ │ ├── PacketPlayerApplyEnterMpResultRsp.java │ │ │ ├── PacketPlayerApplyEnterMpRsp.java │ │ │ ├── PacketPlayerChatNotify.java │ │ │ ├── PacketPlayerChatRsp.java │ │ │ ├── PacketPlayerDataNotify.java │ │ │ ├── PacketPlayerEnterDungeonRsp.java │ │ │ ├── PacketPlayerEnterSceneInfoNotify.java │ │ │ ├── PacketPlayerEnterSceneNotify.java │ │ │ ├── PacketPlayerGameTimeNotify.java │ │ │ ├── PacketPlayerGetForceQuitBanInfoRsp.java │ │ │ ├── PacketPlayerHomeCompInfoNotify.java │ │ │ ├── PacketPlayerLevelRewardUpdateNotify.java │ │ │ ├── PacketPlayerLoginRsp.java │ │ │ ├── PacketPlayerPropNotify.java │ │ │ ├── PacketPlayerSetPauseRsp.java │ │ │ ├── PacketPlayerStoreNotify.java │ │ │ ├── PacketPlayerTimeNotify.java │ │ │ ├── PacketPlayerWorldSceneInfoListNotify.java │ │ │ ├── PacketPostEnterSceneRsp.java │ │ │ ├── PacketPrivateChatNotify.java │ │ │ ├── PacketProudSkillChangeNotify.java │ │ │ ├── PacketProudSkillExtraLevelNotify.java │ │ │ ├── PacketPullPrivateChatRsp.java │ │ │ ├── PacketPullRecentChatRsp.java │ │ │ ├── PacketQueryCodexMonsterBeKilledNumRsp.java │ │ │ ├── PacketQuestListNotify.java │ │ │ ├── PacketQuestListUpdateNotify.java │ │ │ ├── PacketQuestProgressUpdateNotify.java │ │ │ ├── PacketReliquaryUpgradeRsp.java │ │ │ ├── PacketSceneAreaWeatherNotify.java │ │ │ ├── PacketSceneEntityAppearNotify.java │ │ │ ├── PacketSceneEntityDisappearNotify.java │ │ │ ├── PacketSceneEntityDrownRsp.java │ │ │ ├── PacketSceneEntityMoveNotify.java │ │ │ ├── PacketSceneInitFinishRsp.java │ │ │ ├── PacketSceneKickPlayerRsp.java │ │ │ ├── PacketScenePlayerInfoNotify.java │ │ │ ├── PacketScenePlayerLocationNotify.java │ │ │ ├── PacketSceneTeamUpdateNotify.java │ │ │ ├── PacketSceneTimeNotify.java │ │ │ ├── PacketSceneTransToPointRsp.java │ │ │ ├── PacketSelectWorktopOptionRsp.java │ │ │ ├── PacketServerCondMeetQuestListUpdateNotify.java │ │ │ ├── PacketServerTimeNotify.java │ │ │ ├── PacketSetEquipLockStateRsp.java │ │ │ ├── PacketSetNameCardRsp.java │ │ │ ├── PacketSetPlayerBirthdayRsp.java │ │ │ ├── PacketSetPlayerHeadImageRsp.java │ │ │ ├── PacketSetPlayerNameRsp.java │ │ │ ├── PacketSetPlayerPropRsp.java │ │ │ ├── PacketSetPlayerSignatureRsp.java │ │ │ ├── PacketSetUpAvatarTeamRsp.java │ │ │ ├── PacketSetWidgetSlotRsp.java │ │ │ ├── PacketStoreItemChangeNotify.java │ │ │ ├── PacketStoreItemDelNotify.java │ │ │ ├── PacketStoreWeightLimitNotify.java │ │ │ ├── PacketSyncScenePlayTeamEntityNotify.java │ │ │ ├── PacketSyncTeamEntityNotify.java │ │ │ ├── PacketTakeAchievementRewardReq.java │ │ │ ├── PacketTakePlayerLevelRewardRsp.java │ │ │ ├── PacketTakeoffEquipRsp.java │ │ │ ├── PacketTowerAllDataRsp.java │ │ │ ├── PacketTowerCurLevelRecordChangeNotify.java │ │ │ ├── PacketTowerEnterLevelRsp.java │ │ │ ├── PacketTowerFloorRecordChangeNotify.java │ │ │ ├── PacketTowerLevelStarCondNotify.java │ │ │ ├── PacketTowerMiddleLevelChangeTeamNotify.java │ │ │ ├── PacketTowerTeamSelectRsp.java │ │ │ ├── PacketTryEnterHomeRsp.java │ │ │ ├── PacketUnlockAvatarTalentRsp.java │ │ │ ├── PacketUnlockNameCardNotify.java │ │ │ ├── PacketUpdatePlayerShowAvatarListRsp.java │ │ │ ├── PacketUseItemRsp.java │ │ │ ├── PacketVehicleInteractRsp.java │ │ │ ├── PacketVehicleStaminaNotify.java │ │ │ ├── PacketWeaponAwakenRsp.java │ │ │ ├── PacketWeaponPromoteRsp.java │ │ │ ├── PacketWeaponUpgradeRsp.java │ │ │ ├── PacketWearEquipRsp.java │ │ │ ├── PacketWidgetCoolDownNotify.java │ │ │ ├── PacketWidgetDoBagRsp.java │ │ │ ├── PacketWidgetGadgetAllDataNotify.java │ │ │ ├── PacketWidgetGadgetDataNotify.java │ │ │ ├── PacketWidgetSlotChangeNotify.java │ │ │ ├── PacketWorktopOptionNotify.java │ │ │ ├── PacketWorldDataNotify.java │ │ │ ├── PacketWorldPlayerDieNotify.java │ │ │ ├── PacketWorldPlayerInfoNotify.java │ │ │ ├── PacketWorldPlayerLocationNotify.java │ │ │ ├── PacketWorldPlayerRTTNotify.java │ │ │ └── PacketWorldPlayerReviveRsp.java │ │ ├── task │ │ ├── Task.java │ │ ├── TaskHandler.java │ │ ├── TaskMap.java │ │ └── tasks │ │ │ └── MoonCard.java │ │ ├── tools │ │ ├── Dumpers.java │ │ └── Tools.java │ │ └── utils │ │ ├── ConfigContainer.java │ │ ├── Crypto.java │ │ ├── DateHelper.java │ │ ├── EventConsumer.java │ │ ├── FileUtils.java │ │ ├── JlineLogbackAppender.java │ │ ├── Language.java │ │ ├── MessageHandler.java │ │ ├── Position.java │ │ ├── ProtoHelper.java │ │ ├── ServerLogEventAppender.java │ │ ├── Utils.java │ │ └── WeightedList.java │ └── resources │ ├── META-INF │ └── MANIFEST.MF │ ├── defaults │ └── data │ │ ├── Banners.json │ │ ├── ChestReward.json │ │ ├── Drop.json │ │ ├── EnergyDrop.json │ │ ├── ExpeditionReward.json │ │ ├── GameAnnouncement.json │ │ ├── GameAnnouncementList.json │ │ ├── Shop.json │ │ ├── ShopChest.json │ │ ├── ShopChestBatchUse.json │ │ ├── SkillParticleGeneration.json │ │ ├── Spawns.json │ │ ├── TowerSchedule.json │ │ ├── documentation │ │ ├── handbook.html │ │ └── index.html │ │ └── gacha │ │ ├── details.html │ │ └── records.html │ ├── keys │ ├── dispatchKey.bin │ ├── dispatchSeed.bin │ ├── secretKey.bin │ └── secretKeyBuffer.bin │ ├── languages │ ├── en-US.json │ ├── pl-PL.json │ ├── zh-CN.json │ └── zh-TW.json │ ├── logback.xml │ └── webstatic │ ├── de.json │ ├── en.json │ ├── es.json │ ├── fr.json │ ├── id.json │ ├── ja.json │ ├── ko.json │ ├── pt.json │ ├── ru.json │ ├── th.json │ ├── version.json │ ├── vi.json │ ├── zh-cn.json │ └── zh-tw.json ├── start.cmd └── start_config.cmd /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Grasscutter Discord 4 | url: https://discord.gg/T5vZU6UyeG 5 | about: If you are looking for help while using Grasscutter, please visit the Discord server. 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /keystore.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/keystore.p12 -------------------------------------------------------------------------------- /lib/fastutil-mini-8.5.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/lib/fastutil-mini-8.5.6.jar -------------------------------------------------------------------------------- /lib/java-express.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/lib/java-express.jar -------------------------------------------------------------------------------- /lib/kcp-netty-1.5.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/lib/kcp-netty-1.5.0.jar -------------------------------------------------------------------------------- /proto/AbilityActionGenerateElemBall.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | message AbilityActionGenerateElemBall { 8 | Vector pos = 1; 9 | Vector rot = 2; 10 | uint32 room_id = 3; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AbilityAttachedModifier.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AbilityAttachedModifier { 6 | bool is_invalid = 1; 7 | uint32 owner_entity_id = 2; 8 | uint32 instanced_modifier_id = 3; 9 | bool is_serverbuff_modifier = 4; 10 | int32 attach_name_hash = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AbilityChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilityControlBlock.proto"; 6 | 7 | // CmdId: 1155 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AbilityChangeNotify { 11 | uint32 entity_id = 3; 12 | AbilityControlBlock ability_control_block = 10; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AbilityControlBlock.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilityEmbryo.proto"; 6 | 7 | message AbilityControlBlock { 8 | repeated AbilityEmbryo ability_embryo_list = 1; 9 | } 10 | -------------------------------------------------------------------------------- /proto/AbilityEmbryo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AbilityEmbryo { 6 | uint32 ability_id = 1; 7 | fixed32 ability_name_hash = 2; 8 | fixed32 ability_override_name_hash = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/AbilityGadgetInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AbilityGadgetInfo { 6 | uint32 camp_id = 1; 7 | uint32 camp_target_type = 2; 8 | uint32 target_entity_id = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/AbilityIdentifier.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AbilityIdentifier { 6 | uint32 instanced_ability_id = 1; 7 | uint32 ability_caster_id = 2; 8 | int32 local_id = 3; 9 | uint32 instanced_modifier_id = 4; 10 | uint32 modifier_owner_id = 5; 11 | bool is_serverbuff_modifier = 6; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AbilityInvocationsNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilityInvokeEntry.proto"; 6 | 7 | // CmdId: 1131 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message AbilityInvocationsNotify { 12 | repeated AbilityInvokeEntry invokes = 8; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AbilityMetaReInitOverrideMap.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilityScalarValueEntry.proto"; 6 | 7 | message AbilityMetaReInitOverrideMap { 8 | repeated AbilityScalarValueEntry override_map = 1; 9 | } 10 | -------------------------------------------------------------------------------- /proto/AbilityMixinCostStamina.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AbilityMixinCostStamina { 6 | bool is_swim = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/AbilityMixinWidgetMpSupport.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | 6 | message AbilityMixinWidgetMpSupport { 7 | uint32 target_entity_id = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/AbilityString.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AbilityString { 6 | oneof type { 7 | string str = 1; 8 | uint32 hash = 2; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /proto/ActivityNullDetailInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ActivityNullDetailInfo { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proto/ActivityWatcherInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ActivityWatcherInfo { 6 | uint32 watcher_id = 1; 7 | uint32 cur_progress = 2; 8 | uint32 total_progress = 3; 9 | bool is_taken_reward = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/AdjustTrackingInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AdjustTrackingInfo { 6 | string idfa = 1; 7 | string gps_adid = 2; 8 | string fire_adid = 3; 9 | string adid = 4; 10 | string event_token = 5; 11 | string app_token = 6; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AiSkillCdInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AiSkillCdInfo { 6 | map skill_cd_map = 1; 7 | map skill_group_cd_map = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/AiSyncInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AiSyncInfo { 6 | uint32 entity_id = 1; 7 | bool has_path_to_target = 2; 8 | bool is_self_killing = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/AiThreatInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AiThreatInfo { 6 | map ai_threat_map = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/AnchorPointData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | message AnchorPointData { 8 | uint32 anchor_point_id = 1; 9 | Vector pos = 2; 10 | Vector rot = 3; 11 | uint32 end_time = 4; 12 | uint32 scene_id = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AnchorPointDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AnchorPointData.proto"; 6 | 7 | // CmdId: 4268 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AnchorPointDataNotify { 11 | repeated AnchorPointData anchor_point_list = 14; 12 | uint32 next_usable_time = 6; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AnchorPointOpRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4278 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AnchorPointOpRsp { 9 | int32 retcode = 13; 10 | uint32 anchor_point_op_type = 3; 11 | uint32 anchor_point_id = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AnimatorParameterValueInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AnimatorParameterValueInfo { 6 | uint32 para_type = 1; 7 | oneof para_val { 8 | int32 int_val = 2; 9 | float float_val = 3; 10 | bool bool_val = 4; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /proto/AnimatorParameterValueInfoPair.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AnimatorParameterValueInfo.proto"; 6 | 7 | message AnimatorParameterValueInfoPair { 8 | int32 name_id = 1; 9 | AnimatorParameterValueInfo animator_para = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/AskAddFriendNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "FriendBrief.proto"; 6 | 7 | // CmdId: 4038 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AskAddFriendNotify { 11 | uint32 target_uid = 13; 12 | FriendBrief target_friend_brief = 10; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AskAddFriendReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4032 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AskAddFriendReq { 10 | uint32 target_uid = 8; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AskAddFriendRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4017 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AskAddFriendRsp { 10 | int32 retcode = 11; 11 | uint32 target_uid = 14; 12 | uint32 param = 13; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AttackHitEffectResult.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AttackHitEffectResult { 6 | uint32 hit_eff_level = 1; 7 | float retreat_strength = 2; 8 | float air_strength = 3; 9 | float hit_halt_time = 4; 10 | float hit_halt_time_scale = 5; 11 | uint32 original_hit_eff_level = 6; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarAddNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarInfo.proto"; 6 | 7 | // CmdId: 1757 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AvatarAddNotify { 11 | AvatarInfo avatar = 11; 12 | bool is_in_team = 15; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarChangeCostumeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "SceneEntityInfo.proto"; 6 | 7 | // CmdId: 1780 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AvatarChangeCostumeNotify { 11 | SceneEntityInfo entity_info = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarChangeCostumeReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1734 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarChangeCostumeReq { 10 | uint64 avatar_guid = 7; 11 | uint32 costume_id = 8; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarChangeCostumeRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1723 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarChangeCostumeRsp { 9 | int32 retcode = 15; 10 | uint64 avatar_guid = 3; 11 | uint32 costume_id = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarDieAnimationEndReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 1616 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message AvatarDieAnimationEndReq { 12 | uint64 die_guid = 14; 13 | uint32 skill_id = 4; 14 | Vector reborn_pos = 13; 15 | } 16 | -------------------------------------------------------------------------------- /proto/AvatarDieAnimationEndRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1765 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarDieAnimationEndRsp { 9 | int32 retcode = 12; 10 | uint64 die_guid = 11; 11 | uint32 skill_id = 13; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarEquipAffixInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AvatarEquipAffixInfo { 6 | uint32 equip_affix_id = 1; 7 | uint32 left_cd_time = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/AvatarExcelInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AvatarExcelInfo { 6 | uint64 prefab_path_hash = 1; 7 | uint64 prefab_path_remote_hash = 2; 8 | uint64 controller_path_hash = 3; 9 | uint64 controller_path_remote_hash = 4; 10 | uint64 combat_config_hash = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarExpeditionCallBackReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1655 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarExpeditionCallBackReq { 10 | repeated uint64 avatar_guid = 12; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarExpeditionCallBackRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarExpeditionInfo.proto"; 6 | 7 | // CmdId: 1642 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AvatarExpeditionCallBackRsp { 11 | int32 retcode = 1; 12 | map expedition_info_map = 14; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarExpeditionDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarExpeditionInfo.proto"; 6 | 7 | // CmdId: 1698 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AvatarExpeditionDataNotify { 11 | map expedition_info_map = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarExpeditionGetRewardReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1603 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarExpeditionGetRewardReq { 10 | uint64 avatar_guid = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarExpeditionInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarExpeditionState.proto"; 6 | 7 | message AvatarExpeditionInfo { 8 | AvatarExpeditionState state = 1; 9 | uint32 exp_id = 2; 10 | uint32 hour_time = 3; 11 | uint32 start_time = 4; 12 | float shorten_ratio = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarExpeditionStartReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1675 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarExpeditionStartReq { 10 | uint64 avatar_guid = 8; 11 | uint32 exp_id = 2; 12 | uint32 hour_time = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarExpeditionStartRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarExpeditionInfo.proto"; 6 | 7 | // CmdId: 1688 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AvatarExpeditionStartRsp { 11 | int32 retcode = 4; 12 | map expedition_info_map = 1; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarExpeditionState.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum AvatarExpeditionState { 6 | AVATAR_EXPEDITION_STATE_NONE = 0; 7 | AVATAR_EXPEDITION_STATE_DOING = 1; 8 | AVATAR_EXPEDITION_STATE_FINISH_WAIT_REWARD = 2; 9 | AVATAR_EXPEDITION_STATE_CALLBACK_WAIT_REWARD = 3; 10 | AVATAR_EXPEDITION_STATE_LOCKED = 4; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarFetterDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarFetterInfo.proto"; 6 | 7 | // CmdId: 1777 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AvatarFetterDataNotify { 11 | map fetter_info_map = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarFetterLevelRewardReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1704 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarFetterLevelRewardReq { 10 | uint64 avatar_guid = 15; 11 | uint32 fetter_level = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarFetterLevelRewardRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1606 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarFetterLevelRewardRsp { 9 | int32 retcode = 14; 10 | uint64 avatar_guid = 12; 11 | uint32 fetter_level = 10; 12 | uint32 reward_id = 11; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarFightPropNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1232 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarFightPropNotify { 9 | uint64 avatar_guid = 3; 10 | map fight_prop_map = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarFightPropUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1217 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarFightPropUpdateNotify { 9 | uint64 avatar_guid = 1; 10 | map fight_prop_map = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarFlycloakChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1681 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarFlycloakChangeNotify { 9 | uint64 avatar_guid = 12; 10 | uint32 flycloak_id = 14; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarGainCostumeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1670 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarGainCostumeNotify { 9 | uint32 costume_id = 15; 10 | } 11 | -------------------------------------------------------------------------------- /proto/AvatarGainFlycloakNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1615 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarGainFlycloakNotify { 9 | uint32 flycloak_id = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/AvatarPromoteGetRewardReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1676 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarPromoteGetRewardReq { 10 | uint64 avatar_guid = 12; 11 | uint32 promote_level = 8; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarPromoteGetRewardRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1613 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarPromoteGetRewardRsp { 9 | int32 retcode = 11; 10 | uint64 avatar_guid = 2; 11 | uint32 promote_level = 14; 12 | uint32 reward_id = 1; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarPromoteReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1711 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarPromoteReq { 10 | uint64 guid = 9; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarPromoteRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1668 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarPromoteRsp { 9 | int32 retcode = 15; 10 | uint64 guid = 7; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarPropNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1255 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarPropNotify { 9 | uint64 avatar_guid = 4; 10 | map prop_map = 1; 11 | } 12 | -------------------------------------------------------------------------------- /proto/AvatarSkillInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AvatarSkillInfo { 6 | uint32 pass_cd_time = 1; 7 | repeated uint32 full_cd_time_list = 2; 8 | uint32 max_charge_count = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/AvatarSkillInfoNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarSkillInfo.proto"; 6 | 7 | // CmdId: 1035 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AvatarSkillInfoNotify { 11 | uint64 guid = 4; 12 | map skill_map = 2; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarSkillMaxChargeCountNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1085 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarSkillMaxChargeCountNotify { 9 | uint64 avatar_guid = 15; 10 | uint32 skill_id = 2; 11 | uint32 max_charge_count = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarSkillUpgradeReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1027 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarSkillUpgradeReq { 10 | uint64 avatar_guid = 1; 11 | uint32 avatar_skill_id = 5; 12 | uint32 old_level = 10; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarSkillUpgradeRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1007 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarSkillUpgradeRsp { 9 | int32 retcode = 3; 10 | uint64 avatar_guid = 10; 11 | uint32 avatar_skill_id = 2; 12 | uint32 old_level = 5; 13 | uint32 cur_level = 7; 14 | } 15 | -------------------------------------------------------------------------------- /proto/AvatarTeam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AvatarTeam { 6 | repeated uint64 avatar_guid_list = 1; 7 | string team_name = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/AvatarTeamResonanceInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message AvatarTeamResonanceInfo { 6 | uint32 entity_id = 1; 7 | uint64 avatar_guid = 2; 8 | repeated uint32 add_team_resonance_id_list = 3; 9 | repeated uint32 del_team_resonance_id_list = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/AvatarTeamUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarTeam.proto"; 6 | 7 | // CmdId: 1713 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message AvatarTeamUpdateNotify { 11 | map avatar_team_map = 6; 12 | repeated uint64 temp_avatar_guid_list = 9; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarUnlockTalentNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1041 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarUnlockTalentNotify { 9 | uint64 avatar_guid = 1; 10 | uint32 entity_id = 15; 11 | uint32 talent_id = 13; 12 | uint32 skill_depot_id = 14; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarUpgradeReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1680 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarUpgradeReq { 10 | uint32 item_id = 9; 11 | uint32 count = 12; 12 | uint64 avatar_guid = 14; 13 | } 14 | -------------------------------------------------------------------------------- /proto/AvatarWearFlycloakReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1728 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message AvatarWearFlycloakReq { 10 | uint64 avatar_guid = 11; 11 | uint32 flycloak_id = 9; 12 | } 13 | -------------------------------------------------------------------------------- /proto/AvatarWearFlycloakRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1770 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message AvatarWearFlycloakRsp { 9 | int32 retcode = 13; 10 | uint64 avatar_guid = 8; 11 | uint32 flycloak_id = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/Birthday.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message Birthday { 6 | uint32 month = 1; 7 | uint32 day = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/BlockInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message BlockInfo { 6 | uint32 block_id = 1; 7 | uint32 data_version = 2; 8 | bytes bin_data = 3; 9 | bool is_dirty = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/BlossomChestInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message BlossomChestInfo { 6 | uint32 resin = 1; 7 | repeated uint32 qualify_uid_list = 2; 8 | repeated uint32 remain_uid_list = 3; 9 | uint32 dead_time = 4; 10 | uint32 blossom_refresh_type = 5; 11 | uint32 refresh_id = 6; 12 | } 13 | -------------------------------------------------------------------------------- /proto/BuildingInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | 6 | message BuildingInfo { 7 | uint32 building_id = 1; 8 | uint32 point_config_id = 2; 9 | uint32 cost = 3; 10 | uint32 level = 4; 11 | uint32 refund = 5; 12 | uint32 owner_uid = 6; 13 | } 14 | -------------------------------------------------------------------------------- /proto/BuyGoodsReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ShopGoods.proto"; 6 | 7 | // CmdId: 741 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message BuyGoodsReq { 12 | uint32 shop_type = 15; 13 | ShopGoods goods = 13; 14 | uint32 buy_count = 6; 15 | } 16 | -------------------------------------------------------------------------------- /proto/BuyGoodsRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ShopGoods.proto"; 6 | 7 | // CmdId: 737 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message BuyGoodsRsp { 11 | int32 retcode = 15; 12 | uint32 shop_type = 12; 13 | ShopGoods goods = 13; 14 | uint32 buy_count = 8; 15 | repeated ShopGoods goods_list = 1; 16 | } 17 | -------------------------------------------------------------------------------- /proto/CBJEDMGOBPL.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum CBJEDMGOBPL { 6 | CBJEDMGOBPL_MBLDLJOKLBL = 0; 7 | CBJEDMGOBPL_ILOMIKADKGD = 1; 8 | CBJEDMGOBPL_HGHOEJGHMDH = 2; 9 | CBJEDMGOBPL_PJCONIDJGOD = 3; 10 | } 11 | -------------------------------------------------------------------------------- /proto/CalcWeaponUpgradeReturnItemsRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ItemParam.proto"; 6 | 7 | // CmdId: 666 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message CalcWeaponUpgradeReturnItemsRsp { 11 | int32 retcode = 5; 12 | uint64 target_weapon_guid = 10; 13 | repeated ItemParam item_param_list = 3; 14 | } 15 | -------------------------------------------------------------------------------- /proto/CanUseSkillNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1098 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message CanUseSkillNotify { 9 | bool is_can_use_skill = 6; 10 | } 11 | -------------------------------------------------------------------------------- /proto/CardProductRewardNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4104 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message CardProductRewardNotify { 9 | string product_id = 6; 10 | uint32 hcoin = 11; 11 | uint32 remain_days = 5; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChallengeDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 963 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ChallengeDataNotify { 9 | uint32 challenge_index = 8; 10 | uint32 param_index = 9; 11 | uint32 value = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChangeAvatarReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 1662 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message ChangeAvatarReq { 12 | uint64 guid = 5; 13 | uint32 skill_id = 11; 14 | bool is_move = 7; 15 | Vector move_pos = 9; 16 | } 17 | -------------------------------------------------------------------------------- /proto/ChangeAvatarRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1710 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ChangeAvatarRsp { 9 | int32 retcode = 6; 10 | uint64 cur_guid = 11; 11 | uint32 skill_id = 5; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChangeEnergyReason.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum ChangeEnergyReason { 6 | CHANGE_ENERGY_REASON_NONE = 0; 7 | CHANGE_ENERGY_REASON_SKILL_START = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/ChangeGameTimeReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 149 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ChangeGameTimeReq { 10 | uint32 game_time = 9; 11 | bool is_force_set = 7; 12 | uint32 extra_days = 6; 13 | } 14 | -------------------------------------------------------------------------------- /proto/ChangeGameTimeRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 182 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ChangeGameTimeRsp { 9 | int32 retcode = 7; 10 | uint32 cur_game_time = 1; 11 | uint32 extra_days = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChangeMailStarNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1407 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ChangeMailStarNotify { 10 | repeated uint32 mail_id_list = 5; 11 | bool is_star = 9; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChangeMpTeamAvatarReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1689 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ChangeMpTeamAvatarReq { 10 | repeated uint64 avatar_guid_list = 5; 11 | uint64 cur_avatar_guid = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChangeMpTeamAvatarRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1617 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ChangeMpTeamAvatarRsp { 9 | int32 retcode = 7; 10 | repeated uint64 avatar_guid_list = 3; 11 | uint64 cur_avatar_guid = 8; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChangeTeamNameReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1762 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ChangeTeamNameReq { 10 | int32 team_id = 12; 11 | string team_name = 15; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChangeTeamNameRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1789 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ChangeTeamNameRsp { 9 | int32 team_id = 6; 10 | string team_name = 2; 11 | int32 retcode = 8; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ChannellerSlabLoopDungeonResultInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ChannellerSlabLoopDungeonResultInfo { 6 | uint32 dungeon_index = 1; 7 | bool is_success = 2; 8 | uint32 challenge_score = 3; 9 | uint32 challenge_max_score = 4; 10 | bool is_in_time_limit = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/ChildQuest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ChildQuest { 6 | uint32 quest_id = 1; 7 | uint32 state = 2; 8 | uint32 quest_config_id = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/ChooseCurAvatarTeamReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1800 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ChooseCurAvatarTeamReq { 10 | uint32 team_id = 14; 11 | } 12 | -------------------------------------------------------------------------------- /proto/ChooseCurAvatarTeamRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1673 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ChooseCurAvatarTeamRsp { 9 | int32 retcode = 7; 10 | uint32 cur_team_id = 4; 11 | } 12 | -------------------------------------------------------------------------------- /proto/CityInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message CityInfo { 6 | uint32 city_id = 1; 7 | uint32 level = 2; 8 | uint32 crystal_num = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/ClientAbilityInitBeginNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1141 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ClientAbilityInitBeginNotify { 10 | uint32 entity_id = 1; 11 | } 12 | -------------------------------------------------------------------------------- /proto/ClientAbilityInitFinishNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilityInvokeEntry.proto"; 6 | 7 | // CmdId: 1137 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message ClientAbilityInitFinishNotify { 12 | uint32 entity_id = 13; 13 | repeated AbilityInvokeEntry invokes = 9; 14 | } 15 | -------------------------------------------------------------------------------- /proto/ClientCollectorData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ClientCollectorData { 6 | uint32 material_id = 1; 7 | uint32 max_points = 2; 8 | uint32 curr_points = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/ClientCollectorDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ClientCollectorData.proto"; 6 | 7 | // CmdId: 4264 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message ClientCollectorDataNotify { 11 | repeated ClientCollectorData client_collector_data_list = 8; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ClientGadgetInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ClientGadgetInfo { 6 | uint32 camp_id = 1; 7 | uint32 camp_type = 2; 8 | uint64 guid = 3; 9 | uint32 owner_entity_id = 4; 10 | uint32 target_entity_id = 5; 11 | bool async_load = 6; 12 | bool CEGHBCJMNFJ = 7; 13 | repeated uint32 FCFECGFHLAD = 8; 14 | } 15 | -------------------------------------------------------------------------------- /proto/CodexDataUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "CodexType.proto"; 6 | 7 | // CmdId: 4210 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message CodexDataUpdateNotify { 11 | CodexType type = 3; 12 | uint32 id = 4; 13 | uint32 weapon_max_promote_level = 12; 14 | } 15 | -------------------------------------------------------------------------------- /proto/CodexType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum CodexType { 6 | CODEX_TYPE_NONE = 0; 7 | CODEX_TYPE_QUEST = 1; 8 | CODEX_TYPE_WEAPON = 2; 9 | CODEX_TYPE_ANIMAL = 3; 10 | CODEX_TYPE_MATERIAL = 4; 11 | CODEX_TYPE_BOOKS = 5; 12 | CODEX_TYPE_PUSHTIPS = 6; 13 | CODEX_TYPE_VIEW = 7; 14 | CODEX_TYPE_RELIQUARY = 8; 15 | } 16 | -------------------------------------------------------------------------------- /proto/CodexTypeComparer.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message CodexTypeComparer { 6 | } 7 | -------------------------------------------------------------------------------- /proto/CodexTypeData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "CodexType.proto"; 6 | 7 | message CodexTypeData { 8 | CodexType type = 1; 9 | repeated uint32 codex_id_list = 2; 10 | repeated bool have_viewed_list = 3; 11 | map weapon_max_promote_level_map = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/CombatInvocationsNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "CombatInvokeEntry.proto"; 6 | 7 | // CmdId: 316 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message CombatInvocationsNotify { 12 | repeated CombatInvokeEntry invoke_list = 4; 13 | } 14 | -------------------------------------------------------------------------------- /proto/CombatInvokeEntry.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "CombatTypeArgument.proto"; 6 | import "ForwardType.proto"; 7 | 8 | message CombatInvokeEntry { 9 | CombatTypeArgument argument_type = 1; 10 | ForwardType forward_type = 2; 11 | bytes combat_data = 3; 12 | } 13 | -------------------------------------------------------------------------------- /proto/CombineDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 661 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message CombineDataNotify { 9 | repeated uint32 combine_id_list = 5; 10 | } 11 | -------------------------------------------------------------------------------- /proto/CombineFormulaDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 688 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message CombineFormulaDataNotify { 9 | uint32 combine_id = 6; 10 | bool is_locked = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/CombineReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 654 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message CombineReq { 10 | uint32 combine_id = 5; 11 | uint32 combine_count = 3; 12 | uint64 avatar_guid = 8; 13 | } 14 | -------------------------------------------------------------------------------- /proto/CoopCg.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message CoopCg { 6 | uint32 id = 1; 7 | bool is_unlock = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/CoopChapterState.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum CoopChapterState { 6 | Close = 0; 7 | CondNotMeet = 1; 8 | CondMeet = 2; 9 | Accept = 3; 10 | } 11 | -------------------------------------------------------------------------------- /proto/CoopPoint.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message CoopPoint { 6 | uint32 id = 1; 7 | State state = 2; 8 | uint32 self_confidence = 3; 9 | 10 | enum State { 11 | STATE_UNSTARTED = 0; 12 | STATE_STARTED = 1; 13 | STATE_FINISHED = 2; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /proto/CoopPointState.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum CoopPointState { 6 | Unstarted = 0; 7 | Started = 1; 8 | Finished = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/CoopReward.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message CoopReward { 6 | uint32 id = 1; 7 | State state = 2; 8 | 9 | enum State { 10 | STATE_UNLOCK = 0; 11 | STATE_LOCK = 1; 12 | STATE_TAKEN = 2; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /proto/CoopRewardState.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum CoopRewardState { 6 | Unlock = 0; 7 | Lock = 1; 8 | Taken = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/CountDownDelete.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message CountDownDelete { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proto/CreateVehicleReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 819 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message CreateVehicleReq { 12 | uint32 vehicle_id = 9; 13 | uint32 scene_point_id = 15; 14 | Vector pos = 1; 15 | Vector rot = 7; 16 | } 17 | -------------------------------------------------------------------------------- /proto/CreateVehicleRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 812 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message CreateVehicleRsp { 9 | int32 retcode = 7; 10 | uint32 vehicle_id = 8; 11 | uint32 entity_id = 10; 12 | } 13 | -------------------------------------------------------------------------------- /proto/CurVehicleInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message CurVehicleInfo { 6 | uint32 entity_id = 1; 7 | uint32 pos = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/CustomCommonNodeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message CustomCommonNodeInfo { 6 | int32 parent_index = 1; 7 | uint32 config_id = 2; 8 | string slot_identifier = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/CustomGadgetTreeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "CustomCommonNodeInfo.proto"; 6 | 7 | message CustomGadgetTreeInfo { 8 | repeated CustomCommonNodeInfo node_list = 1; 9 | } 10 | -------------------------------------------------------------------------------- /proto/CutSceneBeginNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 300 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message CutSceneBeginNotify { 9 | uint32 cutscene_id = 9; 10 | bool is_wait_others = 11; 11 | } 12 | -------------------------------------------------------------------------------- /proto/CutSceneEndNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 299 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message CutSceneEndNotify { 9 | int32 retcode = 8; 10 | uint32 cutscene_id = 11; 11 | } 12 | -------------------------------------------------------------------------------- /proto/CutSceneFinishNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 294 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message CutSceneFinishNotify { 10 | uint32 cutscene_id = 14; 11 | } 12 | -------------------------------------------------------------------------------- /proto/DateTimeDelete.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message DateTimeDelete { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proto/DealAddFriendReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "DealAddFriendResultType.proto"; 6 | 7 | // CmdId: 4085 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message DealAddFriendReq { 12 | uint32 target_uid = 7; 13 | DealAddFriendResultType deal_add_friend_result = 1; 14 | } 15 | -------------------------------------------------------------------------------- /proto/DealAddFriendResultType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum DealAddFriendResultType { 6 | DEAL_ADD_FRIEND_RESULT_TYPE_REJECT = 0; 7 | DEAL_ADD_FRIEND_RESULT_TYPE_ACCEPT = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/DelMailReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1417 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message DelMailReq { 10 | repeated uint32 mail_id_list = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/DelMailRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1485 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message DelMailRsp { 9 | int32 retcode = 1; 10 | repeated uint32 mail_id_list = 4; 11 | } 12 | -------------------------------------------------------------------------------- /proto/DelTeamEntityNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 302 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message DelTeamEntityNotify { 9 | uint32 scene_id = 8; 10 | repeated uint32 del_entity_id_list = 15; 11 | } 12 | -------------------------------------------------------------------------------- /proto/DelayWeekCountDownDelete.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message DelayWeekCountDownDelete { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proto/DeleteFriendNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4063 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message DeleteFriendNotify { 9 | uint32 target_uid = 14; 10 | } 11 | -------------------------------------------------------------------------------- /proto/DeleteFriendReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4055 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message DeleteFriendReq { 10 | uint32 target_uid = 7; 11 | } 12 | -------------------------------------------------------------------------------- /proto/DeleteFriendRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4027 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message DeleteFriendRsp { 9 | int32 retcode = 4; 10 | uint32 target_uid = 8; 11 | } 12 | -------------------------------------------------------------------------------- /proto/DestroyMaterialReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MaterialInfo.proto"; 6 | 7 | // CmdId: 678 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message DestroyMaterialReq { 12 | repeated MaterialInfo material_list = 12; 13 | } 14 | -------------------------------------------------------------------------------- /proto/DestroyMaterialRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 608 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message DestroyMaterialRsp { 9 | int32 retcode = 9; 10 | repeated uint32 item_id_list = 11; 11 | repeated uint32 item_count_list = 10; 12 | } 13 | -------------------------------------------------------------------------------- /proto/DoGachaReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1541 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message DoGachaReq { 10 | uint32 gacha_type = 10; 11 | uint32 gacha_times = 15; 12 | uint32 gacha_random = 5; 13 | uint32 gacha_schedule_id = 6; 14 | string gacha_tag = 4; 15 | } 16 | -------------------------------------------------------------------------------- /proto/DropHintNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 622 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message DropHintNotify { 11 | repeated uint32 item_id_list = 12; 12 | Vector position = 1; 13 | } 14 | -------------------------------------------------------------------------------- /proto/DungeonDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 945 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message DungeonDataNotify { 9 | map dungeon_data_map = 6; 10 | } 11 | -------------------------------------------------------------------------------- /proto/DungeonEntryInfoReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 909 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message DungeonEntryInfoReq { 10 | uint32 point_id = 15; 11 | uint32 scene_id = 3; 12 | } 13 | -------------------------------------------------------------------------------- /proto/DungeonGetStatueDropRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 906 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message DungeonGetStatueDropRsp { 9 | int32 retcode = 13; 10 | } 11 | -------------------------------------------------------------------------------- /proto/DungeonSettleExhibitionInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ExhibitionDisplayInfo.proto"; 6 | import "OnlinePlayerInfo.proto"; 7 | 8 | message DungeonSettleExhibitionInfo { 9 | OnlinePlayerInfo player_info = 1; 10 | repeated ExhibitionDisplayInfo card_list = 2; 11 | } 12 | -------------------------------------------------------------------------------- /proto/EchoShellInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message EchoShellInfo { 6 | uint32 shell_id = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/EffigyChallengeDungeonResultInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message EffigyChallengeDungeonResultInfo { 6 | uint32 challenge_id = 1; 7 | bool is_success = 2; 8 | uint32 challenge_score = 3; 9 | uint32 challenge_max_score = 4; 10 | bool is_in_time_limit = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/EnterSceneDoneRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 269 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message EnterSceneDoneRsp { 9 | int32 retcode = 9; 10 | uint32 enter_scene_token = 8; 11 | } 12 | -------------------------------------------------------------------------------- /proto/EnterScenePeerNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 257 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message EnterScenePeerNotify { 9 | uint32 dest_scene_id = 13; 10 | uint32 peer_id = 11; 11 | uint32 host_peer_id = 6; 12 | uint32 enter_scene_token = 15; 13 | } 14 | -------------------------------------------------------------------------------- /proto/EnterSceneReadyRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 252 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message EnterSceneReadyRsp { 9 | int32 retcode = 5; 10 | uint32 enter_scene_token = 8; 11 | } 12 | -------------------------------------------------------------------------------- /proto/EnterTransPointRegionNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 298 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message EnterTransPointRegionNotify { 10 | uint32 scene_id = 15; 11 | uint32 point_id = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/EnterWorldAreaReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 222 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message EnterWorldAreaReq { 10 | uint32 area_type = 12; 11 | uint32 area_id = 10; 12 | } 13 | -------------------------------------------------------------------------------- /proto/EnterWorldAreaRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 254 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message EnterWorldAreaRsp { 9 | int32 retcode = 15; 10 | uint32 area_type = 2; 11 | uint32 area_id = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/EntityAiSyncNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AiSyncInfo.proto"; 6 | 7 | // CmdId: 343 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message EntityAiSyncNotify { 12 | repeated AiSyncInfo info_list = 1; 13 | repeated uint32 local_avatar_alerted_monster_list = 10; 14 | } 15 | -------------------------------------------------------------------------------- /proto/EntityClientData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message EntityClientData { 6 | uint32 wind_change_scene_time = 1; 7 | float windmill_sync_angle = 2; 8 | int32 wind_change_target_level = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/EntityEnvironmentInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message EntityEnvironmentInfo { 6 | uint32 json_climate_type = 1; 7 | uint32 climate_area_id = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/EntityFightPropUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1237 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message EntityFightPropUpdateNotify { 9 | uint32 entity_id = 1; 10 | map fight_prop_map = 8; 11 | } 12 | -------------------------------------------------------------------------------- /proto/EntityMoveInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MotionInfo.proto"; 6 | 7 | message EntityMoveInfo { 8 | uint32 entity_id = 1; 9 | MotionInfo motion_info = 2; 10 | uint32 scene_time = 3; 11 | uint32 reliable_seq = 4; 12 | bool is_reliable = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/EntityPropNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PropValue.proto"; 6 | 7 | // CmdId: 1209 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message EntityPropNotify { 11 | uint32 entity_id = 5; 12 | map prop_map = 4; 13 | } 14 | -------------------------------------------------------------------------------- /proto/EntityRendererChangedInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message EntityRendererChangedInfo { 6 | map changed_renderers = 1; 7 | uint32 visibility_count = 2; 8 | bool is_cached = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/Equip.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Reliquary.proto"; 6 | import "Weapon.proto"; 7 | 8 | message Equip { 9 | bool is_locked = 3; 10 | oneof detail { 11 | Reliquary reliquary = 1; 12 | Weapon weapon = 2; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /proto/EquipParam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message EquipParam { 6 | uint32 item_id = 1; 7 | uint32 item_num = 2; 8 | uint32 item_level = 3; 9 | uint32 promote_level = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/EvtAiSyncCombatThreatInfoNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AiThreatInfo.proto"; 6 | 7 | // CmdId: 360 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message EvtAiSyncCombatThreatInfoNotify { 12 | map combat_threat_info_map = 14; 13 | } 14 | -------------------------------------------------------------------------------- /proto/EvtAiSyncSkillCdNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AiSkillCdInfo.proto"; 6 | 7 | // CmdId: 333 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message EvtAiSyncSkillCdNotify { 12 | map ai_cd_map = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/EvtAvatarLockChairReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 308 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message EvtAvatarLockChairReq { 12 | uint64 chair_id = 10; 13 | Vector position = 3; 14 | } 15 | -------------------------------------------------------------------------------- /proto/EvtAvatarLockChairRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 304 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message EvtAvatarLockChairRsp { 11 | int32 retcode = 1; 12 | uint32 entity_id = 4; 13 | Vector position = 12; 14 | uint64 chair_id = 15; 15 | } 16 | -------------------------------------------------------------------------------- /proto/EvtAvatarSitDownNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 359 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message EvtAvatarSitDownNotify { 12 | uint32 entity_id = 10; 13 | Vector position = 5; 14 | uint64 chair_id = 8; 15 | } 16 | -------------------------------------------------------------------------------- /proto/EvtAvatarStandUpNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 384 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message EvtAvatarStandUpNotify { 10 | uint32 entity_id = 10; 11 | int32 direction = 3; 12 | int32 perform_id = 8; 13 | uint64 chair_id = 11; 14 | } 15 | -------------------------------------------------------------------------------- /proto/EvtBeingHitInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AttackResult.proto"; 6 | 7 | message EvtBeingHitInfo { 8 | uint32 peer_id = 1; 9 | AttackResult attack_result = 2; 10 | uint32 frame_num = 3; 11 | } 12 | -------------------------------------------------------------------------------- /proto/EvtDestroyGadgetNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ForwardType.proto"; 6 | 7 | // CmdId: 317 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message EvtDestroyGadgetNotify { 12 | ForwardType forward_type = 10; 13 | uint32 entity_id = 8; 14 | } 15 | -------------------------------------------------------------------------------- /proto/EvtHittingOtherInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AttackResult.proto"; 6 | 7 | message EvtHittingOtherInfo { 8 | uint32 peer_id = 1; 9 | AttackResult attack_result = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/ExhibitionDisplayInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ExhibitionDisplayInfo { 6 | uint32 id = 1; 7 | uint32 param = 2; 8 | uint32 detail_param = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/FeatureBlockInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message FeatureBlockInfo { 6 | uint32 feature_type = 1; 7 | uint32 end_time = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/FetterData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message FetterData { 6 | uint32 fetter_id = 1; 7 | uint32 fetter_state = 2; 8 | repeated uint32 cond_index_list = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/FightPropPair.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message FightPropPair { 6 | uint32 prop_type = 1; 7 | float prop_value = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/FinishedParentQuestNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ParentQuest.proto"; 6 | 7 | // CmdId: 437 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message FinishedParentQuestNotify { 11 | repeated ParentQuest parent_quest_list = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/FinishedParentQuestUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ParentQuest.proto"; 6 | 7 | // CmdId: 432 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message FinishedParentQuestUpdateNotify { 11 | repeated ParentQuest parent_quest_list = 6; 12 | } 13 | -------------------------------------------------------------------------------- /proto/FishPoolInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message FishPoolInfo { 6 | uint32 pool_id = 1; 7 | repeated uint32 fish_area_list = 2; 8 | uint32 today_fish_num = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/ForceUpdateInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | 6 | message ForceUpdateInfo { 7 | string force_update_url = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/ForgeDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ForgeQueueData.proto"; 6 | 7 | // CmdId: 648 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message ForgeDataNotify { 11 | repeated uint32 forge_id_list = 13; 12 | uint32 max_queue_num = 15; 13 | map forge_queue_map = 1; 14 | } 15 | -------------------------------------------------------------------------------- /proto/ForgeFormulaDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 673 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ForgeFormulaDataNotify { 9 | uint32 forge_id = 11; 10 | bool is_locked = 8; 11 | } 12 | -------------------------------------------------------------------------------- /proto/ForgeGetQueueDataRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ForgeQueueData.proto"; 6 | 7 | // CmdId: 628 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message ForgeGetQueueDataRsp { 11 | int32 retcode = 15; 12 | uint32 max_queue_num = 13; 13 | map forge_queue_map = 11; 14 | } 15 | -------------------------------------------------------------------------------- /proto/ForgeQueueData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ForgeQueueData { 6 | uint32 queue_id = 1; 7 | uint32 forge_id = 2; 8 | uint32 finish_count = 3; 9 | uint32 unfinish_count = 4; 10 | uint32 next_finish_timestamp = 5; 11 | uint32 total_finish_timestamp = 6; 12 | uint32 avatar_id = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/ForgeQueueManipulateReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ForgeQueueManipulateType.proto"; 6 | 7 | // CmdId: 659 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message ForgeQueueManipulateReq { 12 | uint32 forge_queue_id = 11; 13 | ForgeQueueManipulateType manipulate_type = 7; 14 | } 15 | -------------------------------------------------------------------------------- /proto/ForgeQueueManipulateType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum ForgeQueueManipulateType { 6 | FORGE_QUEUE_MANIPULATE_TYPE_RECEIVE_OUTPUT = 0; 7 | FORGE_QUEUE_MANIPULATE_TYPE_STOP_FORGE = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/ForgeStartReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 676 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ForgeStartReq { 10 | uint32 forge_id = 9; 11 | uint32 forge_count = 11; 12 | uint32 avatar_id = 13; 13 | } 14 | -------------------------------------------------------------------------------- /proto/ForgeStartRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 672 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ForgeStartRsp { 9 | int32 retcode = 11; 10 | } 11 | -------------------------------------------------------------------------------- /proto/FoundationInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "FoundationStatus.proto"; 6 | 7 | message FoundationInfo { 8 | FoundationStatus status = 1; 9 | repeated uint32 uid_list = 2; 10 | uint32 current_building_id = 3; 11 | uint32 begin_build_time_ms = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/FoundationStatus.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum FoundationStatus { 6 | FOUNDATION_STATUS_NONE = 0; 7 | FOUNDATION_STATUS_INIT = 1; 8 | FOUNDATION_STATUS_BUILDING = 2; 9 | FOUNDATION_STATUS_BUILT = 3; 10 | } 11 | -------------------------------------------------------------------------------- /proto/FriendEnterHomeOption.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum FriendEnterHomeOption { 6 | FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM = 0; 7 | FRIEND_ENTER_HOME_OPTION_REFUSE = 1; 8 | FRIEND_ENTER_HOME_OPTION_DIRECT = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/FriendOnlineState.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum FriendOnlineState { 6 | FRIEND_ONLINE_STATE_FREIEND_DISCONNECT = 0; 7 | FRIEND_ONLINE_STATE_ONLINE = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/Furniture.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message Furniture { 6 | uint32 count = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/GachaTransferItem.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ItemParam.proto"; 6 | 7 | message GachaTransferItem { 8 | ItemParam item = 1; 9 | bool is_transfer_item_new = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/GachaUpInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message GachaUpInfo { 6 | uint32 item_parent_type = 1; 7 | repeated uint32 item_id_list = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/GadgetAutoPickDropInfoNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Item.proto"; 6 | 7 | // CmdId: 830 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GadgetAutoPickDropInfoNotify { 11 | repeated Item item_list = 15; 12 | } 13 | -------------------------------------------------------------------------------- /proto/GadgetBornType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum GadgetBornType { 6 | GADGET_BORN_TYPE_NONE = 0; 7 | GADGET_BORN_TYPE_IN_AIR = 1; 8 | GADGET_BORN_TYPE_PLAYER = 2; 9 | GADGET_BORN_TYPE_MONSTER_HIT = 3; 10 | GADGET_BORN_TYPE_MONSTER_DIE = 4; 11 | GADGET_BORN_TYPE_GADGET = 5; 12 | GADGET_BORN_TYPE_GROUND = 6; 13 | } 14 | -------------------------------------------------------------------------------- /proto/GadgetClientParam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message GadgetClientParam { 6 | uint32 campId = 1; 7 | uint32 campType = 2; 8 | uint64 guid = 3; 9 | uint32 ownerEntityId = 4; 10 | uint32 targetEntityId = 5; 11 | bool asyncLoad = 6; 12 | } 13 | -------------------------------------------------------------------------------- /proto/GadgetCrucibleInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message GadgetCrucibleInfo { 6 | uint32 mp_play_id = 1; 7 | uint32 prepare_end_time = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/GadgetGeneralRewardInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ItemParam.proto"; 6 | 7 | message GadgetGeneralRewardInfo { 8 | uint32 resin = 1; 9 | uint32 dead_time = 2; 10 | repeated uint32 remain_uid_list = 3; 11 | repeated uint32 qualify_uid_list = 4; 12 | ItemParam item_param = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/GadgetStateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 841 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message GadgetStateNotify { 9 | uint32 gadget_entity_id = 2; 10 | uint32 gadget_state = 11; 11 | bool is_enable_interact = 10; 12 | } 13 | -------------------------------------------------------------------------------- /proto/GatherGadgetInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message GatherGadgetInfo { 6 | uint32 item_id = 1; 7 | bool is_forbid_guest = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/GetAllMailReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1455 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetAllMailReq { 10 | bool ANKKGPJCINB = 7; 11 | } 12 | -------------------------------------------------------------------------------- /proto/GetAllMailRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MailData.proto"; 6 | 7 | // CmdId: 1427 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetAllMailRsp { 11 | int32 retcode = 6; 12 | repeated MailData mail_list = 9; 13 | bool is_truncated = 5; 14 | bool ANKKGPJCINB = 7; 15 | } 16 | -------------------------------------------------------------------------------- /proto/GetAllUnlockNameCardRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4058 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetAllUnlockNameCardRsp { 10 | int32 retcode = 13; 11 | repeated uint32 name_card_list = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/GetAuthkeyReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1435 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetAuthkeyReq { 10 | string auth_appid = 12; 11 | uint32 sign_type = 15; 12 | uint32 authkey_ver = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/GetAuthkeyRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1449 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message GetAuthkeyRsp { 9 | int32 retcode = 11; 10 | string authkey = 1; 11 | string auth_appid = 2; 12 | uint32 sign_type = 7; 13 | uint32 authkey_ver = 10; 14 | string game_biz = 4; 15 | } 16 | -------------------------------------------------------------------------------- /proto/GetFriendShowAvatarInfoReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4003 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetFriendShowAvatarInfoReq { 10 | uint32 uid = 9; 11 | } 12 | -------------------------------------------------------------------------------- /proto/GetFriendShowAvatarInfoRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ShowAvatarInfo.proto"; 6 | 7 | // CmdId: 4034 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetFriendShowAvatarInfoRsp { 11 | int32 retcode = 14; 12 | uint32 uid = 11; 13 | repeated ShowAvatarInfo show_avatar_info_list = 7; 14 | } 15 | -------------------------------------------------------------------------------- /proto/GetInvestigationMonsterReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1902 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetInvestigationMonsterReq { 10 | repeated uint32 city_id_list = 13; 11 | bool ABFECCDJENJ = 11; 12 | } 13 | -------------------------------------------------------------------------------- /proto/GetMailItemReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1437 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetMailItemReq { 10 | repeated uint32 mail_id_list = 8; 11 | } 12 | -------------------------------------------------------------------------------- /proto/GetMailItemRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "EquipParam.proto"; 6 | 7 | // CmdId: 1432 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetMailItemRsp { 11 | int32 retcode = 13; 12 | repeated uint32 mail_id_list = 10; 13 | repeated EquipParam item_list = 5; 14 | } 15 | -------------------------------------------------------------------------------- /proto/GetOnlinePlayerListReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 35 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetOnlinePlayerListReq { 10 | } 11 | -------------------------------------------------------------------------------- /proto/GetOnlinePlayerListRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "OnlinePlayerInfo.proto"; 6 | 7 | // CmdId: 49 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetOnlinePlayerListRsp { 11 | int32 retcode = 12; 12 | repeated OnlinePlayerInfo player_info_list = 10; 13 | uint32 param = 2; 14 | } 15 | -------------------------------------------------------------------------------- /proto/GetPlayerAskFriendListRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "FriendBrief.proto"; 6 | 7 | // CmdId: 4004 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetPlayerAskFriendListRsp { 11 | int32 retcode = 15; 12 | repeated FriendBrief ask_friend_list = 13; 13 | } 14 | -------------------------------------------------------------------------------- /proto/GetPlayerBlacklistRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "FriendBrief.proto"; 6 | 7 | // CmdId: 4072 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetPlayerBlacklistRsp { 11 | int32 retcode = 12; 12 | repeated FriendBrief blacklist = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/GetPlayerSocialDetailReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4049 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetPlayerSocialDetailReq { 10 | uint32 uid = 14; 11 | } 12 | -------------------------------------------------------------------------------- /proto/GetPlayerSocialDetailRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "SocialDetail.proto"; 6 | 7 | // CmdId: 4082 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetPlayerSocialDetailRsp { 11 | int32 retcode = 2; 12 | SocialDetail detail_data = 15; 13 | } 14 | -------------------------------------------------------------------------------- /proto/GetSceneAreaReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 238 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetSceneAreaReq { 10 | uint32 scene_id = 4; 11 | uint32 belong_uid = 3; 12 | } 13 | -------------------------------------------------------------------------------- /proto/GetSceneAreaRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "CityInfo.proto"; 6 | 7 | // CmdId: 206 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetSceneAreaRsp { 11 | int32 retcode = 2; 12 | uint32 scene_id = 13; 13 | repeated uint32 area_id_list = 6; 14 | repeated CityInfo city_info_list = 3; 15 | } 16 | -------------------------------------------------------------------------------- /proto/GetScenePointReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 230 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetScenePointReq { 10 | uint32 scene_id = 4; 11 | uint32 belong_uid = 10; 12 | } 13 | -------------------------------------------------------------------------------- /proto/GetShopReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 709 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetShopReq { 10 | uint32 shop_type = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/GetShopRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Shop.proto"; 6 | 7 | // CmdId: 731 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetShopRsp { 11 | int32 retcode = 11; 12 | Shop shop = 14; 13 | } 14 | -------------------------------------------------------------------------------- /proto/GetShopmallDataRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 717 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message GetShopmallDataRsp { 9 | int32 retcode = 4; 10 | repeated uint32 shop_type_list = 15; 11 | } 12 | -------------------------------------------------------------------------------- /proto/GetWidgetSlotReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4267 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message GetWidgetSlotReq { 10 | } 11 | -------------------------------------------------------------------------------- /proto/GetWidgetSlotRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "WidgetSlotData.proto"; 6 | 7 | // CmdId: 4300 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message GetWidgetSlotRsp { 11 | int32 retcode = 12; 12 | repeated WidgetSlotData slot_list = 8; 13 | } 14 | -------------------------------------------------------------------------------- /proto/GetWorldMpInfoRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 3179 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message GetWorldMpInfoRsp { 9 | int32 retcode = 11; 10 | bool is_in_mp_mode = 5; 11 | uint32 quit_mp_valid_time = 13; 12 | } 13 | -------------------------------------------------------------------------------- /proto/GroupSuiteNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message GroupSuiteNotify { 6 | enum CmdId { 7 | option allow_alias = true; 8 | NONE = 0; 9 | ENET_CHANNEL_ID = 0; 10 | ENET_IS_RELIABLE = 1; 11 | CMD_ID = 3098; 12 | } 13 | 14 | map group_map = 11; 15 | } 16 | -------------------------------------------------------------------------------- /proto/H5ActivityIdsNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 5693 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message H5ActivityIdsNotify { 9 | map h_5_activity_map = 3; 10 | uint32 client_red_dot_timestamp = 15; 11 | } 12 | -------------------------------------------------------------------------------- /proto/HitColliderType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum HitColliderType { 6 | HIT_COLLIDER_TYPE_INVALID = 0; 7 | HIT_COLLIDER_TYPE_HIT_BOX = 1; 8 | HIT_COLLIDER_TYPE_WET_HIT_BOX = 2; 9 | HIT_COLLIDER_TYPE_HEAD_BOX = 3; 10 | } 11 | -------------------------------------------------------------------------------- /proto/HomeChooseModuleReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4479 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message HomeChooseModuleReq { 10 | uint32 module_id = 2; 11 | } 12 | -------------------------------------------------------------------------------- /proto/HomeChooseModuleRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4745 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message HomeChooseModuleRsp { 9 | int32 retcode = 5; 10 | uint32 module_id = 11; 11 | } 12 | -------------------------------------------------------------------------------- /proto/HomeComfortInfoNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "HomeModuleComfortInfo.proto"; 6 | 7 | // CmdId: 4649 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message HomeComfortInfoNotify { 11 | repeated HomeModuleComfortInfo module_info_list = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/HomeModuleComfortInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message HomeModuleComfortInfo { 6 | uint32 module_id = 1; 7 | repeated uint32 world_scene_block_comfort_value_list = 2; 8 | uint32 room_scene_comfort_value = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/HostPlayerNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 341 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message HostPlayerNotify { 9 | uint32 host_uid = 10; 10 | uint32 host_peer_id = 7; 11 | } 12 | -------------------------------------------------------------------------------- /proto/InterOpType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum InterOpType { 6 | INTER_OP_TYPE_FINISH = 0; 7 | INTER_OP_TYPE_START = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/Item.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Equip.proto"; 6 | import "Furniture.proto"; 7 | import "Material.proto"; 8 | 9 | message Item { 10 | uint32 item_id = 1; 11 | uint64 guid = 2; 12 | oneof detail { 13 | Material material = 5; 14 | Equip equip = 6; 15 | Furniture furniture = 7; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /proto/ItemGivingRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 108 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ItemGivingRsp { 9 | int32 retcode = 13; 10 | uint32 giving_id = 6; 11 | uint32 LEMILHEIALJ = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ItemHint.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ItemHint { 6 | uint32 item_id = 1; 7 | uint32 count = 2; 8 | bool is_new = 3; 9 | uint64 guid = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/ItemParam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ItemParam { 6 | uint32 item_id = 1; 7 | uint32 count = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/LunchBoxData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message LunchBoxData { 6 | map slot_material_map = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/LunchBoxSlotType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum LunchBoxSlotType { 6 | LUNCH_BOX_SLOT_NONE = 0; 7 | LUNCH_BOX_SLOT_REVIVE = 1; 8 | LUNCH_BOX_SLOT_HEAL = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/MPLevelEntityInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilitySyncStateInfo.proto"; 6 | 7 | message MPLevelEntityInfo { 8 | uint32 entity_id = 1; 9 | uint32 authority_peer_id = 2; 10 | AbilitySyncStateInfo ability_info = 3; 11 | } 12 | -------------------------------------------------------------------------------- /proto/MailChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MailData.proto"; 6 | 7 | // CmdId: 1431 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message MailChangeNotify { 11 | repeated MailData mail_list = 3; 12 | repeated uint32 del_mail_id_list = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/MailItem.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "EquipParam.proto"; 6 | import "MaterialDeleteInfo.proto"; 7 | 8 | message MailItem { 9 | EquipParam equip_param = 1; 10 | MaterialDeleteInfo delete_info = 2; 11 | } 12 | -------------------------------------------------------------------------------- /proto/MailTextContent.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message MailTextContent { 6 | string title = 1; 7 | string content = 2; 8 | string sender = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/MapMarkFromType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum MapMarkFromType { 6 | MAP_MARK_FROM_TYPE_NOE = 0; 7 | MAP_MARK_FROM_TYPE_MONSTER = 1; 8 | MAP_MARK_FROM_TYPE_QUEST = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/MapMarkTipsInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MapMarkTipsType.proto"; 6 | 7 | message MapMarkTipsInfo { 8 | MapMarkTipsType tips_type = 1; 9 | repeated uint32 point_id_list = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/MapMarkTipsType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum MapMarkTipsType { 6 | MAP_MARK_TIPS_TYPE_DUNGEON_ELEMENT_TRIAL = 0; 7 | } 8 | -------------------------------------------------------------------------------- /proto/MarkEntityInMinMapNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 202 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message MarkEntityInMinMapNotify { 11 | uint32 entity_id = 5; 12 | Vector position = 13; 13 | uint32 monster_id = 6; 14 | } 15 | -------------------------------------------------------------------------------- /proto/MarkMapRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MapMarkPoint.proto"; 6 | 7 | // CmdId: 3421 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message MarkMapRsp { 11 | int32 retcode = 11; 12 | repeated MapMarkPoint mark_list = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/MarkNewNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1227 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message MarkNewNotify { 9 | uint32 mark_new_type = 10; 10 | repeated uint32 id_list = 13; 11 | } 12 | -------------------------------------------------------------------------------- /proto/MarkNewType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum MarkNewType { 6 | _NONE = 0; 7 | COMBINE = 1; 8 | FORGE = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/MassivePropParam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message MassivePropParam { 6 | int32 type = 1; 7 | repeated uint32 reaction_info_list = 2; 8 | repeated float param_list = 3; 9 | uint32 sync_flag = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/MassivePropSyncInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MassivePropParam.proto"; 6 | 7 | message MassivePropSyncInfo { 8 | int64 id = 1; 9 | repeated MassivePropParam prop_list = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/Material.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MaterialDeleteInfo.proto"; 6 | 7 | message Material { 8 | uint32 count = 1; 9 | MaterialDeleteInfo delete_info = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/MaterialInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message MaterialInfo { 6 | uint64 guid = 1; 7 | uint32 count = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/MathQuaternion.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message MathQuaternion { 6 | float x = 1; 7 | float y = 2; 8 | float z = 3; 9 | float w = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/McoinExchangeHcoinReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 687 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message McoinExchangeHcoinReq { 10 | uint32 mcoin_cost = 8; 11 | uint32 hcoin = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/McoinExchangeHcoinRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 689 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message McoinExchangeHcoinRsp { 9 | int32 retcode = 9; 10 | uint32 mcoin_cost = 10; 11 | uint32 hcoin = 15; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ModifierAction.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum ModifierAction { 6 | ADDED = 0; 7 | REMOVED = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/ModifierDurability.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ModifierDurability { 6 | float reduce_ratio = 1; 7 | float remaining_durability = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/ModifierProperty.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilityString.proto"; 6 | 7 | message ModifierProperty { 8 | AbilityString key = 1; 9 | float value = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/MonsterBornType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum MonsterBornType { 6 | MONSTER_BORN_TYPE_NONE = 0; 7 | MONSTER_BORN_TYPE_DEFAULT = 1; 8 | MONSTER_BORN_TYPE_RANDOM = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/MonsterRoute.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "RoutePoint.proto"; 6 | 7 | message MonsterRoute { 8 | repeated RoutePoint route_points = 1; 9 | uint32 speed_level = 2; 10 | uint32 route_type = 3; 11 | float arrive_range = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/MovingPlatformType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum MovingPlatformType { 6 | MOVING_PLATFORM_TYPE_NONE = 0; 7 | MOVING_PLATFORM_TYPE_USE_CONFIG = 1; 8 | MOVING_PLATFORM_TYPE_ABILITY = 2; 9 | MOVING_PLATFORM_TYPE_ROUTE = 3; 10 | } 11 | -------------------------------------------------------------------------------- /proto/MpPlayRewardInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message MpPlayRewardInfo { 6 | uint32 resin = 1; 7 | repeated uint32 remain_uid_list = 2; 8 | repeated uint32 qualify_uid_list = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/MpSettingType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum MpSettingType { 6 | MP_SETTING_TYPE_NO_ENTER = 0; 7 | MP_SETTING_TYPE_ENTER_FREELY = 1; 8 | MP_SETTING_TYPE_ENTER_AFTER_APPLY = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/NpcTalkReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 509 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message NpcTalkReq { 10 | uint32 npc_entity_id = 5; 11 | uint32 talk_id = 7; 12 | uint32 entity_id = 6; 13 | } 14 | -------------------------------------------------------------------------------- /proto/NpcTalkRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 531 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message NpcTalkRsp { 9 | int32 retcode = 12; 10 | uint32 npc_entity_id = 9; 11 | uint32 cur_talk_id = 6; 12 | uint32 entity_id = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/OfferingInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message OfferingInfo { 6 | uint32 offering_id = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/OpenStateUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 119 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message OpenStateUpdateNotify { 9 | map open_state_map = 12; 10 | } 11 | -------------------------------------------------------------------------------- /proto/Operation.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum Operation { 6 | Add = 0; 7 | Mod = 1; 8 | Del = 2; 9 | Get = 3; 10 | } 11 | -------------------------------------------------------------------------------- /proto/PacketHead.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | 6 | message PacketHead { 7 | uint32 client_sequence_id = 3; 8 | uint64 timestamp = 6; 9 | } 10 | -------------------------------------------------------------------------------- /proto/ParamList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ParamList { 6 | repeated uint32 param_list_ = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/ParentQuestRandomInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ParentQuestRandomInfo { 6 | uint32 entrance_id = 1; 7 | uint32 template_id = 2; 8 | repeated uint32 factor_list = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/PersonalSceneJumpReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 266 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PersonalSceneJumpReq { 10 | uint32 point_id = 2; 11 | } 12 | -------------------------------------------------------------------------------- /proto/PersonalSceneJumpRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 248 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PersonalSceneJumpRsp { 11 | int32 retcode = 15; 12 | uint32 dest_scene_id = 2; 13 | Vector dest_pos = 6; 14 | } 15 | -------------------------------------------------------------------------------- /proto/PingReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 32 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PingReq { 10 | uint32 seq = 2; 11 | uint32 client_time = 14; 12 | bytes sc_data = 11; 13 | float ue_time = 15; 14 | double total_tick_time = 12; 15 | } 16 | -------------------------------------------------------------------------------- /proto/PingRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 17 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PingRsp { 9 | int32 retcode = 9; 10 | uint32 seq = 4; 11 | uint32 client_time = 8; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayTeamEntityInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilitySyncStateInfo.proto"; 6 | 7 | message PlayTeamEntityInfo { 8 | uint32 entity_id = 1; 9 | uint32 player_uid = 2; 10 | uint32 authority_peer_id = 3; 11 | uint32 gadget_config_id = 5; 12 | AbilitySyncStateInfo ability_info = 6; 13 | } 14 | -------------------------------------------------------------------------------- /proto/PlayerApplyEnterMpNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "OnlinePlayerInfo.proto"; 6 | 7 | // CmdId: 1818 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PlayerApplyEnterMpNotify { 11 | OnlinePlayerInfo src_player_info = 11; 12 | uint32 src_app_id = 6; 13 | uint32 src_thread_index = 13; 14 | } 15 | -------------------------------------------------------------------------------- /proto/PlayerApplyEnterMpReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1809 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PlayerApplyEnterMpReq { 10 | uint32 target_uid = 3; 11 | } 12 | -------------------------------------------------------------------------------- /proto/PlayerApplyEnterMpResultReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1828 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PlayerApplyEnterMpResultReq { 10 | uint32 apply_uid = 15; 11 | bool is_agreed = 9; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerApplyEnterMpResultRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1803 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PlayerApplyEnterMpResultRsp { 9 | int32 retcode = 6; 10 | uint32 apply_uid = 4; 11 | bool is_agreed = 12; 12 | uint32 param = 9; 13 | } 14 | -------------------------------------------------------------------------------- /proto/PlayerApplyEnterMpRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1843 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PlayerApplyEnterMpRsp { 9 | int32 retcode = 5; 10 | uint32 target_uid = 4; 11 | uint32 param = 9; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerChatNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ChatInfo.proto"; 6 | 7 | // CmdId: 3295 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PlayerChatNotify { 11 | uint32 channel_id = 14; 12 | ChatInfo chat_info = 12; 13 | } 14 | -------------------------------------------------------------------------------- /proto/PlayerChatReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ChatInfo.proto"; 6 | 7 | // CmdId: 3378 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message PlayerChatReq { 12 | uint32 channel_id = 9; 13 | ChatInfo chat_info = 1; 14 | } 15 | -------------------------------------------------------------------------------- /proto/PlayerChatRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 3321 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PlayerChatRsp { 9 | int32 retcode = 4; 10 | uint32 chat_forbidden_endtime = 15; 11 | } 12 | -------------------------------------------------------------------------------- /proto/PlayerEnterDungeonReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 941 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PlayerEnterDungeonReq { 10 | uint32 point_id = 5; 11 | uint32 dungeon_id = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerEnterDungeonRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 937 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PlayerEnterDungeonRsp { 9 | int32 retcode = 2; 10 | uint32 point_id = 1; 11 | uint32 dungeon_id = 13; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerGameTimeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 155 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PlayerGameTimeNotify { 10 | uint32 game_time = 7; 11 | uint32 uid = 13; 12 | bool is_home = 12; 13 | } 14 | -------------------------------------------------------------------------------- /proto/PlayerGetForceQuitBanInfoRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4162 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PlayerGetForceQuitBanInfoRsp { 9 | int32 retcode = 11; 10 | uint32 match_id = 8; 11 | uint32 expire_time = 5; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerHomeCompInfoNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PlayerHomeCompInfo.proto"; 6 | 7 | // CmdId: 4563 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PlayerHomeCompInfoNotify { 11 | PlayerHomeCompInfo comp_info = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerLevelRewardUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 143 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PlayerLevelRewardUpdateNotify { 9 | repeated uint32 level_list = 14; 10 | } 11 | -------------------------------------------------------------------------------- /proto/PlayerLocationInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | message PlayerLocationInfo { 8 | uint32 uid = 1; 9 | Vector pos = 2; 10 | Vector rot = 3; 11 | } 12 | -------------------------------------------------------------------------------- /proto/PlayerPropNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PropValue.proto"; 6 | 7 | // CmdId: 127 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PlayerPropNotify { 11 | map prop_map = 10; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerQuitDungeonReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 932 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PlayerQuitDungeonReq { 10 | uint32 point_id = 12; 11 | bool is_quit_immediately = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerQuitDungeonRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 917 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PlayerQuitDungeonRsp { 9 | int32 retcode = 12; 10 | uint32 point_id = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/PlayerRTTInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message PlayerRTTInfo { 6 | uint32 uid = 1; 7 | uint32 rtt = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/PlayerSetPauseReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 159 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PlayerSetPauseReq { 10 | bool is_paused = 7; 11 | } 12 | -------------------------------------------------------------------------------- /proto/PlayerStoreNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Item.proto"; 6 | import "StoreType.proto"; 7 | 8 | // CmdId: 609 9 | // EnetChannelId: 0 10 | // EnetIsReliable: true 11 | message PlayerStoreNotify { 12 | StoreType store_type = 4; 13 | repeated Item item_list = 3; 14 | uint32 weight_limit = 15; 15 | } 16 | -------------------------------------------------------------------------------- /proto/PlayerTimeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 172 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PlayerTimeNotify { 9 | bool is_paused = 8; 10 | uint64 player_time = 4; 11 | uint64 server_time = 14; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PlayerWorldLocationInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PlayerLocationInfo.proto"; 6 | 7 | message PlayerWorldLocationInfo { 8 | uint32 scene_id = 1; 9 | PlayerLocationInfo player_loc = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/PlayerWorldSceneInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message PlayerWorldSceneInfo { 6 | uint32 scene_id = 1; 7 | bool is_locked = 2; 8 | repeated uint32 scene_tag_id_list = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/PlayerWorldSceneInfoListNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PlayerWorldSceneInfo.proto"; 6 | 7 | // CmdId: 3172 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PlayerWorldSceneInfoListNotify { 11 | repeated PlayerWorldSceneInfo info_list = 5; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PostEnterSceneRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 3344 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PostEnterSceneRsp { 9 | int32 retcode = 13; 10 | uint32 enter_scene_token = 15; 11 | } 12 | -------------------------------------------------------------------------------- /proto/PrivateChatNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ChatInfo.proto"; 6 | 7 | // CmdId: 4991 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PrivateChatNotify { 11 | ChatInfo chat_info = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/PrivateChatReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4959 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PrivateChatReq { 10 | uint32 target_uid = 2; 11 | oneof content { 12 | string text = 8; 13 | uint32 icon = 6; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /proto/PrivateChatRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4981 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message PrivateChatRsp { 9 | int32 retcode = 2; 10 | uint32 chat_forbidden_endtime = 10; 11 | } 12 | -------------------------------------------------------------------------------- /proto/ProfilePicture.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ProfilePicture { 6 | uint32 avatar_id = 1; 7 | uint32 costume_id = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/PropPair.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PropValue.proto"; 6 | 7 | message PropPair { 8 | uint32 type = 1; 9 | PropValue prop_value = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/PropValue.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message PropValue { 6 | uint32 type = 1; 7 | int64 val = 4; 8 | oneof value { 9 | int64 ival = 2; 10 | float fval = 3; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /proto/ProudSkillChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1055 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ProudSkillChangeNotify { 9 | uint64 avatar_guid = 12; 10 | uint32 entity_id = 11; 11 | uint32 skill_depot_id = 7; 12 | repeated uint32 proud_skill_list = 4; 13 | } 14 | -------------------------------------------------------------------------------- /proto/ProudSkillExtraLevelNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1097 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ProudSkillExtraLevelNotify { 9 | uint64 avatar_guid = 14; 10 | uint32 talent_type = 10; 11 | uint32 talent_index = 4; 12 | uint32 extra_level = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/PullPrivateChatReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4967 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message PullPrivateChatReq { 10 | uint32 target_uid = 2; 11 | uint32 from_sequence = 7; 12 | uint32 pull_num = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/PullPrivateChatRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ChatInfo.proto"; 6 | 7 | // CmdId: 5035 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PullPrivateChatRsp { 11 | int32 retcode = 15; 12 | repeated ChatInfo chat_info = 12; 13 | } 14 | -------------------------------------------------------------------------------- /proto/PullRecentChatRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ChatInfo.proto"; 6 | 7 | // CmdId: 4999 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message PullRecentChatRsp { 11 | int32 retcode = 13; 12 | repeated ChatInfo chat_info = 12; 13 | } 14 | -------------------------------------------------------------------------------- /proto/QueryCodexMonsterBeKilledNumReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4207 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message QueryCodexMonsterBeKilledNumReq { 10 | repeated uint32 codex_id_list = 11; 11 | } 12 | -------------------------------------------------------------------------------- /proto/QueryRegionListHttpRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "RegionSimpleInfo.proto"; 6 | 7 | message QueryRegionListHttpRsp { 8 | int32 retcode = 1; 9 | repeated RegionSimpleInfo region_list = 2; 10 | bytes client_secret_key = 5; 11 | bytes client_custom_config_encrypted = 6; 12 | bool enable_login_pc = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/QuestDelNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 441 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message QuestDelNotify { 9 | uint32 quest_id = 12; 10 | } 11 | -------------------------------------------------------------------------------- /proto/QuestGlobalVar.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message QuestGlobalVar { 6 | uint32 key = 1; 7 | int32 value = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/QuestGlobalVarNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "QuestGlobalVar.proto"; 6 | 7 | // CmdId: 411 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message QuestGlobalVarNotify { 11 | repeated QuestGlobalVar var_list = 9; 12 | } 13 | -------------------------------------------------------------------------------- /proto/QuestListNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Quest.proto"; 6 | 7 | // CmdId: 409 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message QuestListNotify { 11 | repeated Quest quest_list = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/QuestListUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Quest.proto"; 6 | 7 | // CmdId: 431 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message QuestListUpdateNotify { 11 | repeated Quest quest_list = 13; 12 | } 13 | -------------------------------------------------------------------------------- /proto/QuestProgressUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 445 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message QuestProgressUpdateNotify { 9 | uint32 quest_id = 14; 10 | repeated uint32 finish_progress_list = 7; 11 | repeated uint32 fail_progress_list = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/QuestUpdateQuestVarNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 463 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message QuestUpdateQuestVarNotify { 9 | uint32 parent_quest_id = 3; 10 | repeated int32 quest_var = 6; 11 | uint32 parent_quest_var_seq = 15; 12 | } 13 | -------------------------------------------------------------------------------- /proto/QuestUpdateQuestVarRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 486 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message QuestUpdateQuestVarRsp { 9 | int32 retcode = 8; 10 | uint32 quest_id = 7; 11 | uint32 parent_quest_id = 12; 12 | uint32 parent_quest_var_seq = 3; 13 | } 14 | -------------------------------------------------------------------------------- /proto/QuestVarOp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message QuestVarOp { 6 | uint32 index = 1; 7 | int32 value = 2; 8 | bool is_add = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/ReadMailNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1441 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ReadMailNotify { 10 | repeated uint32 mail_id_list = 9; 11 | } 12 | -------------------------------------------------------------------------------- /proto/RegionSimpleInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | 6 | message RegionSimpleInfo { 7 | string name = 1; 8 | string title = 2; 9 | string type = 3; 10 | string dispatch_url = 4; 11 | } 12 | -------------------------------------------------------------------------------- /proto/Reliquary.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message Reliquary { 6 | uint32 level = 1; 7 | uint32 exp = 2; 8 | uint32 promote_level = 3; 9 | uint32 main_prop_id = 4; 10 | repeated uint32 append_prop_id_list = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/ReliquaryPromoteReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 612 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message ReliquaryPromoteReq { 10 | uint64 target_guid = 4; 11 | uint64 item_guid = 14; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ResVersionConfig.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ResVersionConfig { 6 | uint32 version = 1; 7 | bool relogin = 2; 8 | string md_5 = 3; 9 | string release_total_size = 4; 10 | string version_suffix = 5; 11 | string branch = 6; 12 | string next_script_version = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/ResinCard.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ItemParam.proto"; 6 | 7 | message ResinCard { 8 | repeated ItemParam baseItemList = 1; 9 | repeated ItemParam perDayItemList = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/ResinChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 670 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ResinChangeNotify { 9 | uint32 cur_value = 4; 10 | uint32 next_add_timestamp = 2; 11 | uint32 cur_buy_count = 3; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ResinCostType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum ResinCostType { 6 | RESIN_COST_TYPE_NONE = 0; 7 | RESIN_COST_TYPE_NORMAL = 1; 8 | RESIN_COST_TYPE_CONDENSE = 2; 9 | RESIN_COST_TYPE_REUNION_PRIVILEGE = 3; 10 | RESIN_COST_TYPE_OP_ACTIVITY = 4; 11 | RESIN_COST_TYPE_MATERIAL = 5; 12 | } 13 | -------------------------------------------------------------------------------- /proto/RoguelikeGadgetInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message RoguelikeGadgetInfo { 6 | uint32 cell_config_id = 1; 7 | uint32 cell_type = 2; 8 | uint32 cell_state = 3; 9 | uint32 cell_id = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/RoguelikeSettleCoinInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message RoguelikeSettleCoinInfo { 6 | uint32 cell_num = 1; 7 | uint32 coin_b = 2; 8 | uint32 coin_c = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/Route.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "RoutePoint.proto"; 6 | 7 | message Route { 8 | repeated RoutePoint route_points = 1; 9 | uint32 route_type = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/SceneEntityDisappearNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "VisionType.proto"; 6 | 7 | // CmdId: 285 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message SceneEntityDisappearNotify { 11 | repeated uint32 entity_list = 9; 12 | VisionType disappear_type = 10; 13 | uint32 param = 6; 14 | } 15 | -------------------------------------------------------------------------------- /proto/SceneEntityDrownReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 212 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SceneEntityDrownReq { 10 | uint32 entity_id = 14; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SceneEntityDrownRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 258 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SceneEntityDrownRsp { 9 | int32 retcode = 14; 10 | uint32 entity_id = 10; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SceneEntityMoveNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "MotionInfo.proto"; 6 | 7 | // CmdId: 227 8 | // EnetChannelId: 1 9 | // EnetIsReliable: true 10 | message SceneEntityMoveNotify { 11 | uint32 entity_id = 10; 12 | MotionInfo motion_info = 3; 13 | uint32 scene_time = 12; 14 | uint32 reliable_seq = 11; 15 | } 16 | -------------------------------------------------------------------------------- /proto/SceneFishInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | message SceneFishInfo { 8 | uint32 fish_id = 1; 9 | uint32 fish_pool_entity_id = 2; 10 | Vector fish_pool_pos = 3; 11 | uint32 fish_pool_gadget_id = 4; 12 | uint32 LPNFLHKPHEC = 5; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SceneForceUnlockNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 201 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SceneForceUnlockNotify { 9 | repeated uint32 force_id_list = 1; 10 | bool is_add = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SceneInitFinishRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 232 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SceneInitFinishRsp { 10 | int32 retcode = 10; 11 | uint32 enter_scene_token = 15; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SceneKickPlayerNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 292 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SceneKickPlayerNotify { 10 | uint32 kicker_uid = 9; 11 | uint32 target_uid = 13; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SceneKickPlayerReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 295 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SceneKickPlayerReq { 10 | uint32 target_uid = 12; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SceneKickPlayerRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 215 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SceneKickPlayerRsp { 9 | int32 retcode = 9; 10 | uint32 target_uid = 12; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SceneNpcInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message SceneNpcInfo { 6 | uint32 npc_id = 1; 7 | uint32 room_id = 2; 8 | uint32 parent_quest_id = 3; 9 | uint32 block_id = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/ScenePlayerInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "OnlinePlayerInfo.proto"; 6 | 7 | message ScenePlayerInfo { 8 | uint32 uid = 1; 9 | uint32 peer_id = 2; 10 | string name = 3; 11 | bool is_connected = 4; 12 | uint32 scene_id = 5; 13 | OnlinePlayerInfo online_player_info = 6; 14 | } 15 | -------------------------------------------------------------------------------- /proto/ScenePlayerInfoNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ScenePlayerInfo.proto"; 6 | 7 | // CmdId: 225 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message ScenePlayerInfoNotify { 11 | repeated ScenePlayerInfo player_info_list = 11; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SceneReliquaryInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message SceneReliquaryInfo { 6 | uint32 item_id = 1; 7 | uint64 guid = 2; 8 | uint32 level = 3; 9 | uint32 promote_level = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/SceneTeamUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "SceneTeamAvatar.proto"; 6 | 7 | // CmdId: 1699 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message SceneTeamUpdateNotify { 11 | repeated SceneTeamAvatar scene_team_avatar_list = 11; 12 | bool is_in_mp = 1; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SceneTimeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 262 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SceneTimeNotify { 9 | uint32 scene_id = 3; 10 | bool is_paused = 5; 11 | uint64 scene_time = 14; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SceneTransToPointReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 286 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SceneTransToPointReq { 10 | uint32 scene_id = 12; 11 | uint32 point_id = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SceneTransToPointRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 263 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SceneTransToPointRsp { 9 | int32 retcode = 4; 10 | uint32 scene_id = 11; 11 | uint32 point_id = 13; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SceneUnlockInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message SceneUnlockInfo { 6 | uint32 sceneId = 1; 7 | bool isLocked = 2; 8 | repeated uint32 sceneTagIdList = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/ScreenInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ScreenInfo { 6 | uint32 live_id = 1; 7 | uint32 projector_entity_id = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/SelectWorktopOptionReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 832 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SelectWorktopOptionReq { 10 | uint32 gadget_entity_id = 2; 11 | uint32 option_id = 5; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SelectWorktopOptionRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 817 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SelectWorktopOptionRsp { 9 | int32 retcode = 7; 10 | uint32 gadget_entity_id = 12; 11 | uint32 option_id = 10; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ServantInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ServantInfo { 6 | uint32 master_entity_id = 1; 7 | uint32 born_slot_index = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/ServerBuff.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ServerBuff { 6 | uint32 server_buff_uid = 1; 7 | uint32 server_buff_id = 2; 8 | uint32 server_buff_type = 3; 9 | uint32 instanced_modifier_id = 4; 10 | bool is_modifier_added = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/ServerCondMeetQuestListUpdateNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 401 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message ServerCondMeetQuestListUpdateNotify { 9 | repeated uint32 add_quest_id_list = 9; 10 | repeated uint32 del_quest_id_list = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/ServerTimeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 82 6 | // EnetChannelId: 1 7 | // EnetIsReliable: true 8 | message ServerTimeNotify { 9 | uint64 server_time = 15; 10 | } 11 | -------------------------------------------------------------------------------- /proto/SetEntityClientDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "EntityClientData.proto"; 6 | 7 | // CmdId: 3375 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message SetEntityClientDataNotify { 12 | uint32 entity_id = 13; 13 | EntityClientData entity_client_data = 1; 14 | } 15 | -------------------------------------------------------------------------------- /proto/SetEquipLockStateReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 604 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SetEquipLockStateReq { 10 | uint64 target_equip_guid = 10; 11 | bool is_locked = 11; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SetEquipLockStateRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 605 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SetEquipLockStateRsp { 9 | int32 retcode = 7; 10 | uint64 target_equip_guid = 13; 11 | bool is_locked = 5; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SetNameCardReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4006 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SetNameCardReq { 10 | uint32 name_card_id = 4; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SetNameCardRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4019 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SetNameCardRsp { 10 | int32 retcode = 11; 11 | uint32 name_card_id = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SetPlayerBirthdayReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Birthday.proto"; 6 | 7 | // CmdId: 4007 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message SetPlayerBirthdayReq { 12 | Birthday birthday = 10; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SetPlayerBirthdayRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Birthday.proto"; 6 | 7 | // CmdId: 4030 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message SetPlayerBirthdayRsp { 11 | int32 retcode = 12; 12 | Birthday birthday = 14; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SetPlayerBornDataReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 198 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SetPlayerBornDataReq { 10 | uint32 avatar_id = 3; 11 | string nick_name = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/SetPlayerBornDataRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 145 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SetPlayerBornDataRsp { 9 | int32 retcode = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/SetPlayerHeadImageReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4045 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SetPlayerHeadImageReq { 10 | uint32 avatar_id = 4; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SetPlayerHeadImageRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "ProfilePicture.proto"; 6 | 7 | // CmdId: 4090 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message SetPlayerHeadImageRsp { 11 | int32 retcode = 13; 12 | uint32 avatar_id = 3; 13 | ProfilePicture profile_picture = 5; 14 | } 15 | -------------------------------------------------------------------------------- /proto/SetPlayerNameReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 163 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SetPlayerNameReq { 10 | string nick_name = 8; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SetPlayerNameRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 124 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SetPlayerNameRsp { 9 | int32 retcode = 12; 10 | string nick_name = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SetPlayerPropReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PropValue.proto"; 6 | 7 | // CmdId: 130 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message SetPlayerPropReq { 12 | repeated PropValue prop_list = 14; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SetPlayerPropRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 197 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SetPlayerPropRsp { 9 | int32 retcode = 5; 10 | } 11 | -------------------------------------------------------------------------------- /proto/SetPlayerSignatureReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4097 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SetPlayerSignatureReq { 10 | string signature = 15; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SetPlayerSignatureRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4098 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SetPlayerSignatureRsp { 9 | int32 retcode = 14; 10 | string signature = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/SetUpAvatarTeamReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1753 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message SetUpAvatarTeamReq { 10 | uint32 team_id = 10; 11 | repeated uint64 avatar_team_guid_list = 1; 12 | uint64 cur_avatar_guid = 2; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SetUpAvatarTeamRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1664 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message SetUpAvatarTeamRsp { 9 | int32 retcode = 2; 10 | uint32 team_id = 5; 11 | repeated uint64 avatar_team_guid_list = 12; 12 | uint64 cur_avatar_guid = 3; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SetUpLunchBoxWidgetReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "LunchBoxData.proto"; 6 | 7 | // CmdId: 4297 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message SetUpLunchBoxWidgetReq { 12 | LunchBoxData lunch_box_data = 12; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SetUpLunchBoxWidgetRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "LunchBoxData.proto"; 6 | 7 | // CmdId: 4266 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message SetUpLunchBoxWidgetRsp { 11 | int32 retcode = 9; 12 | LunchBoxData lunch_box_data = 3; 13 | } 14 | -------------------------------------------------------------------------------- /proto/ShopConcertProduct.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ShopConcertProduct { 6 | string product_id = 1; 7 | string price_tier = 2; 8 | uint32 obtain_count = 3; 9 | uint32 obtain_limit = 4; 10 | uint32 begin_time = 5; 11 | uint32 end_time = 6; 12 | uint32 buy_times = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/ShopGoodsDisableType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum ShopGoodsDisableType { 6 | SHOP_GOODS_DISABLE_NONE = 0; 7 | SHOP_GOODS_DISABLE_TALENT_FULL = 1; 8 | SHOP_GOODS_DISABLE_FURNITURE_FORMULA_UNLOCKED = 2; 9 | SHOP_GOODS_DISABLE_COSTUME_UNLOCKED = 3; 10 | } 11 | -------------------------------------------------------------------------------- /proto/ShopMcoinProduct.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ShopMcoinProduct { 6 | string product_id = 1; 7 | string price_tier = 2; 8 | uint32 mcoin_base = 3; 9 | uint32 mcoin_non_first = 4; 10 | uint32 mcoin_first = 5; 11 | uint32 bought_num = 6; 12 | bool is_audit = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/ShortAbilityHashPair.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message ShortAbilityHashPair { 6 | int32 ability_name_hash = 1; 7 | int32 ability_config_hash = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/ShowEquip.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Reliquary.proto"; 6 | import "Weapon.proto"; 7 | 8 | message ShowEquip { 9 | uint32 item_id = 1; 10 | oneof detail { 11 | Reliquary reliquary = 2; 12 | Weapon weapon = 3; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /proto/SocialShowAvatarInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message SocialShowAvatarInfo { 6 | uint32 avatar_id = 1; 7 | uint32 level = 2; 8 | uint32 costume_id = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/StatueGadgetInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message StatueGadgetInfo { 6 | repeated uint32 opened_statue_uid_list = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/StopServerInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message StopServerInfo { 6 | uint32 stop_begin_time = 1; 7 | uint32 stop_end_time = 2; 8 | string url = 3; 9 | string content_msg = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/StoreItemChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Item.proto"; 6 | import "StoreType.proto"; 7 | 8 | // CmdId: 641 9 | // EnetChannelId: 0 10 | // EnetIsReliable: true 11 | message StoreItemChangeNotify { 12 | StoreType store_type = 9; 13 | repeated Item item_list = 3; 14 | } 15 | -------------------------------------------------------------------------------- /proto/StoreItemDelNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "StoreType.proto"; 6 | 7 | // CmdId: 637 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message StoreItemDelNotify { 11 | StoreType store_type = 14; 12 | repeated uint64 guid_list = 10; 13 | } 14 | -------------------------------------------------------------------------------- /proto/StoreType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum StoreType { 6 | STORE_TYPE_NONE = 0; 7 | STORE_TYPE_PACK = 1; 8 | STORE_TYPE_DEPOT = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/StrengthenPointData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message StrengthenPointData { 6 | uint32 base_point = 1; 7 | uint32 cur_point = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/SyncScenePlayTeamEntityNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PlayTeamEntityInfo.proto"; 6 | 7 | // CmdId: 3096 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message SyncScenePlayTeamEntityNotify { 11 | uint32 scene_id = 13; 12 | repeated PlayTeamEntityInfo entity_info_list = 2; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SyncTeamEntityNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "TeamEntityInfo.proto"; 6 | 7 | // CmdId: 334 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message SyncTeamEntityNotify { 11 | uint32 scene_id = 13; 12 | repeated TeamEntityInfo team_entity_info_list = 2; 13 | } 14 | -------------------------------------------------------------------------------- /proto/SystemHint.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message SystemHint { 6 | uint32 type = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/TakeAchievementRewardReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 2693 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message TakeAchievementRewardReq { 10 | repeated uint32 id_list = 2; 11 | } 12 | -------------------------------------------------------------------------------- /proto/TakePlayerLevelRewardReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 160 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message TakePlayerLevelRewardReq { 10 | uint32 level = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/TakePlayerLevelRewardRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 177 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message TakePlayerLevelRewardRsp { 9 | int32 retcode = 14; 10 | uint32 level = 13; 11 | uint32 reward_id = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TakeoffEquipReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 698 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message TakeoffEquipReq { 10 | uint64 avatar_guid = 15; 11 | uint32 slot = 9; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TakeoffEquipRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 645 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message TakeoffEquipRsp { 9 | int32 retcode = 8; 10 | uint64 avatar_guid = 3; 11 | uint32 slot = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TeamEnterSceneInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilityControlBlock.proto"; 6 | import "AbilitySyncStateInfo.proto"; 7 | 8 | message TeamEnterSceneInfo { 9 | uint32 team_entity_id = 1; 10 | AbilitySyncStateInfo team_ability_info = 2; 11 | AbilityControlBlock ability_control_block = 3; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TeamEntityInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AbilitySyncStateInfo.proto"; 6 | 7 | message TeamEntityInfo { 8 | uint32 team_entity_id = 1; 9 | uint32 authority_peer_id = 2; 10 | AbilitySyncStateInfo team_ability_info = 3; 11 | } 12 | -------------------------------------------------------------------------------- /proto/TeamResonanceChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "AvatarTeamResonanceInfo.proto"; 6 | 7 | // CmdId: 1045 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message TeamResonanceChangeNotify { 11 | repeated AvatarTeamResonanceInfo info_list = 15; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TowerBuffSelectReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 2407 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message TowerBuffSelectReq { 10 | uint32 tower_buff_id = 2; 11 | } 12 | -------------------------------------------------------------------------------- /proto/TowerBuffSelectRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 2430 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message TowerBuffSelectRsp { 9 | int32 retcode = 15; 10 | uint32 tower_buff_id = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/TowerCurLevelRecord.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "TowerTeam.proto"; 6 | 7 | message TowerCurLevelRecord { 8 | uint32 cur_floor_id = 1; 9 | uint32 cur_level_index = 2; 10 | repeated TowerTeam tower_team_list = 3; 11 | repeated uint32 buff_id_list = 4; 12 | bool is_empty = 5; 13 | bool MPLIGMAKFAM = 6; 14 | } 15 | -------------------------------------------------------------------------------- /proto/TowerCurLevelRecordChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "TowerCurLevelRecord.proto"; 6 | 7 | // CmdId: 2441 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message TowerCurLevelRecordChangeNotify { 11 | TowerCurLevelRecord cur_level_record = 10; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TowerEnterLevelReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 2455 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message TowerEnterLevelReq { 10 | uint32 enter_point_id = 4; 11 | } 12 | -------------------------------------------------------------------------------- /proto/TowerEnterLevelRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 2427 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message TowerEnterLevelRsp { 9 | int32 retcode = 14; 10 | uint32 floor_id = 6; 11 | uint32 level_index = 8; 12 | repeated uint32 tower_buff_id_list = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/TowerFloorRecord.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "TowerLevelRecord.proto"; 6 | 7 | message TowerFloorRecord { 8 | uint32 floor_id = 1; 9 | map passed_level_map = 2; 10 | uint32 floor_star_reward_progress = 3; 11 | repeated TowerLevelRecord passed_level_record_list = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TowerFloorRecordChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "TowerFloorRecord.proto"; 6 | 7 | // CmdId: 2431 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message TowerFloorRecordChangeNotify { 11 | repeated TowerFloorRecord tower_floor_record_list = 9; 12 | bool is_finished_entrance_floor = 1; 13 | } 14 | -------------------------------------------------------------------------------- /proto/TowerLevelRecord.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message TowerLevelRecord { 6 | uint32 level_id = 1; 7 | repeated uint32 satisfied_cond_list = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/TowerLevelStarCondData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message TowerLevelStarCondData { 6 | uint32 star_cond_index = 3; 7 | uint32 cond_value = 4; 8 | bool is_pause = 5; 9 | bool OAFMGGMJPIL = 6; 10 | } 11 | -------------------------------------------------------------------------------- /proto/TowerMiddleLevelChangeTeamNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 2411 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message TowerMiddleLevelChangeTeamNotify { 9 | } 10 | -------------------------------------------------------------------------------- /proto/TowerMonthlyBrief.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message TowerMonthlyBrief { 6 | uint32 tower_schedule_id = 1; 7 | uint32 best_floor_index = 2; 8 | uint32 best_level_index = 3; 9 | uint32 total_star_count = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/TowerTeam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message TowerTeam { 6 | uint32 tower_team_id = 1; 7 | repeated uint64 avatar_guid_list = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/TowerTeamSelectReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "TowerTeam.proto"; 6 | 7 | // CmdId: 2417 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message TowerTeamSelectReq { 12 | uint32 floor_id = 15; 13 | repeated TowerTeam tower_team_list = 2; 14 | } 15 | -------------------------------------------------------------------------------- /proto/TowerTeamSelectRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 2485 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message TowerTeamSelectRsp { 9 | int32 retcode = 1; 10 | } 11 | -------------------------------------------------------------------------------- /proto/TrackingIOInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message TrackingIOInfo { 6 | string appid = 1; 7 | string deviceid = 2; 8 | string mac = 3; 9 | string rydevicetype = 4; 10 | string client_tz = 5; 11 | string current_caid = 6; 12 | string cached_caid = 7; 13 | } 14 | -------------------------------------------------------------------------------- /proto/TrialAvatarFirstPassDungeonNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 2137 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message TrialAvatarFirstPassDungeonNotify { 9 | uint32 trial_avatar_index_id = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/TrialAvatarInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Item.proto"; 6 | import "TrialAvatarGrantRecord.proto"; 7 | 8 | message TrialAvatarInfo { 9 | uint32 trial_avatar_id = 1; 10 | repeated Item trial_equip_list = 2; 11 | TrialAvatarGrantRecord grant_record = 3; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TryEnterHomeReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4553 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message TryEnterHomeReq { 10 | uint32 target_uid = 10; 11 | uint32 target_point = 13; 12 | } 13 | -------------------------------------------------------------------------------- /proto/TryEnterHomeRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4610 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message TryEnterHomeRsp { 9 | int32 retcode = 12; 10 | uint32 target_uid = 2; 11 | repeated uint32 param_list = 11; 12 | } 13 | -------------------------------------------------------------------------------- /proto/Uint32Pair.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message Uint32Pair { 6 | uint32 key = 1; 7 | uint32 value = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/UnionCmd.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message UnionCmd { 6 | uint32 message_id = 1; 7 | bytes body = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/UnionCmdNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "UnionCmd.proto"; 6 | 7 | // CmdId: 98 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message UnionCmdNotify { 12 | repeated UnionCmd cmd_list = 13; 13 | } 14 | -------------------------------------------------------------------------------- /proto/UnlockAvatarTalentReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1009 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message UnlockAvatarTalentReq { 10 | uint64 avatar_guid = 13; 11 | uint32 talent_id = 9; 12 | } 13 | -------------------------------------------------------------------------------- /proto/UnlockAvatarTalentRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 1031 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message UnlockAvatarTalentRsp { 9 | int32 retcode = 2; 10 | uint64 avatar_guid = 14; 11 | uint32 talent_id = 12; 12 | } 13 | -------------------------------------------------------------------------------- /proto/UnlockNameCardNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4001 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message UnlockNameCardNotify { 9 | uint32 name_card_id = 14; 10 | } 11 | -------------------------------------------------------------------------------- /proto/UpdatePlayerShowAvatarListReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4025 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message UpdatePlayerShowAvatarListReq { 10 | repeated uint32 show_avatar_id_list = 13; 11 | bool is_show_avatar = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/UpdatePlayerShowAvatarListRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4083 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message UpdatePlayerShowAvatarListRsp { 9 | int32 retcode = 2; 10 | repeated uint32 show_avatar_id_list = 1; 11 | bool is_show_avatar = 8; 12 | } 13 | -------------------------------------------------------------------------------- /proto/UseItemReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 635 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message UseItemReq { 10 | uint64 guid = 1; 11 | uint32 count = 12; 12 | uint64 target_guid = 14; 13 | uint32 option_idx = 10; 14 | bool is_enter_mp_dungeon_team = 3; 15 | } 16 | -------------------------------------------------------------------------------- /proto/UseItemRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 649 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message UseItemRsp { 9 | int32 retcode = 15; 10 | uint64 guid = 8; 11 | uint32 item_id = 11; 12 | uint64 target_guid = 12; 13 | uint32 option_idx = 13; 14 | } 15 | -------------------------------------------------------------------------------- /proto/UseWidgetCreateGadgetReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | // CmdId: 4283 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message UseWidgetCreateGadgetReq { 12 | uint32 material_id = 1; 13 | Vector pos = 10; 14 | Vector rot = 4; 15 | } 16 | -------------------------------------------------------------------------------- /proto/UseWidgetCreateGadgetRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4279 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message UseWidgetCreateGadgetRsp { 9 | int32 retcode = 13; 10 | uint32 material_id = 2; 11 | } 12 | -------------------------------------------------------------------------------- /proto/UseWidgetRetractGadgetReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4290 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message UseWidgetRetractGadgetReq { 10 | uint32 entity_id = 7; 11 | } 12 | -------------------------------------------------------------------------------- /proto/UseWidgetRetractGadgetRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4271 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message UseWidgetRetractGadgetRsp { 10 | int32 retcode = 9; 11 | uint32 entity_id = 15; 12 | } 13 | -------------------------------------------------------------------------------- /proto/Vector.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message Vector { 6 | float x = 1; 7 | float y = 2; 8 | float z = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/VehicleInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "VehicleMember.proto"; 6 | 7 | message VehicleInfo { 8 | repeated VehicleMember member_list = 1; 9 | uint32 owner_uid = 2; 10 | float cur_stamina = 3; 11 | } 12 | -------------------------------------------------------------------------------- /proto/VehicleInteractReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "VehicleInteractType.proto"; 6 | 7 | // CmdId: 838 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | // IsAllowClient: true 11 | message VehicleInteractReq { 12 | uint32 entity_id = 8; 13 | VehicleInteractType interact_type = 3; 14 | uint32 pos = 10; 15 | } 16 | -------------------------------------------------------------------------------- /proto/VehicleInteractType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum VehicleInteractType { 6 | VEHICLE_INTERACT_TYPE_NONE = 0; 7 | VEHICLE_INTERACT_TYPE_IN = 1; 8 | VEHICLE_INTERACT_TYPE_OUT = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/VehicleMember.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message VehicleMember { 6 | uint32 uid = 1; 7 | uint64 avatar_guid = 2; 8 | uint32 pos = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/VehicleStaminaNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 811 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message VehicleStaminaNotify { 9 | uint32 entity_id = 8; 10 | float cur_stamina = 4; 11 | } 12 | -------------------------------------------------------------------------------- /proto/Weapon.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message Weapon { 6 | uint32 level = 1; 7 | uint32 exp = 2; 8 | uint32 promote_level = 3; 9 | map affix_map = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/WeaponAwakenReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 642 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message WeaponAwakenReq { 10 | uint64 target_weapon_guid = 9; 11 | uint64 item_guid = 3; 12 | map affix_level_map = 2; 13 | } 14 | -------------------------------------------------------------------------------- /proto/WeaponPromoteReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 624 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message WeaponPromoteReq { 10 | uint64 target_weapon_guid = 6; 11 | } 12 | -------------------------------------------------------------------------------- /proto/WeaponPromoteRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 638 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message WeaponPromoteRsp { 9 | int32 retcode = 11; 10 | uint64 target_weapon_guid = 15; 11 | uint32 old_promote_level = 5; 12 | uint32 cur_promote_level = 2; 13 | } 14 | -------------------------------------------------------------------------------- /proto/WearEquipReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 630 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message WearEquipReq { 10 | uint64 avatar_guid = 14; 11 | uint64 equip_guid = 2; 12 | } 13 | -------------------------------------------------------------------------------- /proto/WearEquipRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 697 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message WearEquipRsp { 9 | int32 retcode = 6; 10 | uint64 avatar_guid = 10; 11 | uint64 equip_guid = 5; 12 | } 13 | -------------------------------------------------------------------------------- /proto/WeatherInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message WeatherInfo { 6 | uint32 weather_area_id = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/WeeklyBossResinDiscountInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message WeeklyBossResinDiscountInfo { 6 | uint32 discount_num = 1; 7 | uint32 discount_num_limit = 2; 8 | uint32 resin_cost = 3; 9 | uint32 original_resin_cost = 4; 10 | } 11 | -------------------------------------------------------------------------------- /proto/WidgetActiveChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "WidgetSlotData.proto"; 6 | 7 | // CmdId: 4295 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message WidgetActiveChangeNotify { 11 | repeated WidgetSlotData widget_data_list = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/WidgetCameraInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message WidgetCameraInfo { 6 | uint32 target_entity_id = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/WidgetCoolDownData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message WidgetCoolDownData { 6 | uint32 id = 1; 7 | uint64 cool_down_time = 2; 8 | bool is_success = 3; 9 | } 10 | -------------------------------------------------------------------------------- /proto/WidgetCreateLocationInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "Vector.proto"; 6 | 7 | message WidgetCreateLocationInfo { 8 | Vector pos = 1; 9 | Vector rot = 2; 10 | } 11 | -------------------------------------------------------------------------------- /proto/WidgetCreatorInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "WidgetCreateLocationInfo.proto"; 6 | import "WidgetCreatorOpType.proto"; 7 | 8 | message WidgetCreatorInfo { 9 | WidgetCreatorOpType op_type = 1; 10 | uint32 entity_id = 2; 11 | WidgetCreateLocationInfo location_info = 3; 12 | } 13 | -------------------------------------------------------------------------------- /proto/WidgetCreatorOpType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum WidgetCreatorOpType { 6 | WIDGET_CREATOR_OP_TYPE_NONE = 0; 7 | WIDGET_CREATOR_OP_TYPE_RETRACT = 1; 8 | WIDGET_CREATOR_OP_TYPE_RETRACT_AND_CREATE = 2; 9 | } 10 | -------------------------------------------------------------------------------- /proto/WidgetDoBagRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4286 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message WidgetDoBagRsp { 9 | int32 retcode = 12; 10 | uint32 material_id = 9; 11 | } 12 | -------------------------------------------------------------------------------- /proto/WidgetGadgetAllDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "WidgetGadgetData.proto"; 6 | 7 | // CmdId: 4285 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message WidgetGadgetAllDataNotify { 11 | repeated WidgetGadgetData widget_gadget_data = 8; 12 | } 13 | -------------------------------------------------------------------------------- /proto/WidgetGadgetData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message WidgetGadgetData { 6 | uint32 gadget_id = 1; 7 | repeated uint32 gadget_entity_id_list = 3; 8 | } 9 | -------------------------------------------------------------------------------- /proto/WidgetGadgetDataNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "WidgetGadgetData.proto"; 6 | 7 | // CmdId: 4292 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message WidgetGadgetDataNotify { 11 | WidgetGadgetData widget_gadget_data = 13; 12 | } 13 | -------------------------------------------------------------------------------- /proto/WidgetGadgetDestroyNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4275 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message WidgetGadgetDestroyNotify { 9 | uint32 entity_id = 7; 10 | } 11 | -------------------------------------------------------------------------------- /proto/WidgetReportReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4287 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message WidgetReportReq { 10 | uint32 material_id = 7; 11 | bool is_clear_hint = 13; 12 | bool is_client_collect = 9; 13 | bool BHCBOJNGOIK = 1; 14 | } 15 | -------------------------------------------------------------------------------- /proto/WidgetReportRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4282 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message WidgetReportRsp { 9 | int32 retcode = 12; 10 | uint32 material_id = 7; 11 | } 12 | -------------------------------------------------------------------------------- /proto/WidgetSlotChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "WidgetSlotData.proto"; 6 | import "WidgetSlotOp.proto"; 7 | 8 | // CmdId: 4274 9 | // EnetChannelId: 0 10 | // EnetIsReliable: true 11 | message WidgetSlotChangeNotify { 12 | WidgetSlotOp op = 6; 13 | WidgetSlotData slot = 8; 14 | } 15 | -------------------------------------------------------------------------------- /proto/WidgetSlotData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "WidgetSlotTag.proto"; 6 | 7 | message WidgetSlotData { 8 | WidgetSlotTag tag = 1; 9 | uint32 material_id = 2; 10 | uint32 cd_over_time = 3; 11 | bool is_active = 4; 12 | } 13 | -------------------------------------------------------------------------------- /proto/WidgetSlotOp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum WidgetSlotOp { 6 | WIDGET_SLOT_OP_ATTACH = 0; 7 | WIDGET_SLOT_OP_DETACH = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/WidgetSlotTag.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | enum WidgetSlotTag { 6 | WIDGET_SLOT_TAG_QUICK_USE = 0; 7 | WIDGET_SLOT_TAG_ATTACH_AVATAR = 1; 8 | } 9 | -------------------------------------------------------------------------------- /proto/WidgetSlotTagComparer.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | 6 | message WidgetSlotTagComparer { 7 | } 8 | -------------------------------------------------------------------------------- /proto/WidgetThunderBirdFeatherInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message WidgetThunderBirdFeatherInfo { 6 | repeated uint32 entity_id_list = 1; 7 | } 8 | -------------------------------------------------------------------------------- /proto/WidgetUseAttachAbilityGroupChangeNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 4299 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message WidgetUseAttachAbilityGroupChangeNotify { 9 | uint32 material_id = 4; 10 | bool is_attach = 11; 11 | } 12 | -------------------------------------------------------------------------------- /proto/WorktopInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | message WorktopInfo { 6 | repeated uint32 option_list = 1; 7 | bool is_guest_can_operate = 2; 8 | } 9 | -------------------------------------------------------------------------------- /proto/WorktopOptionNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 837 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message WorktopOptionNotify { 9 | uint32 gadget_entity_id = 12; 10 | repeated uint32 option_list = 5; 11 | } 12 | -------------------------------------------------------------------------------- /proto/WorldPlayerRTTNotify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | import "PlayerRTTInfo.proto"; 6 | 7 | // CmdId: 24 8 | // EnetChannelId: 0 9 | // EnetIsReliable: true 10 | message WorldPlayerRTTNotify { 11 | repeated PlayerRTTInfo player_rtt_list = 14; 12 | } 13 | -------------------------------------------------------------------------------- /proto/WorldPlayerReviveReq.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 247 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | // IsAllowClient: true 9 | message WorldPlayerReviveReq { 10 | } 11 | -------------------------------------------------------------------------------- /proto/WorldPlayerReviveRsp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "emu.grasscutter.net.proto"; 4 | 5 | // CmdId: 280 6 | // EnetChannelId: 0 7 | // EnetIsReliable: true 8 | message WorldPlayerReviveRsp { 9 | int32 retcode = 8; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/data/GameResource.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.data; 2 | 3 | public abstract class GameResource { 4 | 5 | public int getId() { 6 | return 0; 7 | } 8 | 9 | public void onLoad() { 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/data/common/PropGrowCurve.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.data.common; 2 | 3 | public class PropGrowCurve { 4 | private String type; 5 | private String growCurve; 6 | 7 | public String getType(){ 8 | return this.type; 9 | } 10 | 11 | public String getGrowCurve(){ 12 | return this.growCurve; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/game/dungeons/DungeonSettleListener.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.game.dungeons; 2 | 3 | import emu.grasscutter.game.world.Scene; 4 | 5 | public interface DungeonSettleListener { 6 | void onDungeonSettle(Scene scene); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/game/inventory/InventoryTab.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.game.inventory; 2 | 3 | public interface InventoryTab { 4 | public GameItem getItemById(int id); 5 | 6 | public void onAddItem(GameItem item); 7 | 8 | public void onRemoveItem(GameItem item); 9 | 10 | public int getSize(); 11 | 12 | public int getMaxCapacity(); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/game/managers/EnergyManager/EnergyDropInfo.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.game.managers.EnergyManager; 2 | 3 | public class EnergyDropInfo { 4 | private int ballId; 5 | private int count; 6 | 7 | public int getBallId() { 8 | return this.ballId; 9 | } 10 | 11 | public int getCount() { 12 | return this.count; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/game/managers/EnergyManager/SkillParticleGenerationInfo.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.game.managers.EnergyManager; 2 | 3 | public class SkillParticleGenerationInfo { 4 | private int value; 5 | private int chance; 6 | 7 | public int getValue() { 8 | return this.value; 9 | } 10 | 11 | public int getChance() { 12 | return this.chance; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/game/quest/QuestValue.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.game.quest; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import emu.grasscutter.game.quest.enums.QuestTrigger; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface QuestValue { 10 | QuestTrigger value(); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/game/quest/enums/QuestShowType.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.game.quest.enums; 2 | 3 | public enum QuestShowType { 4 | QUEST_SHOW (0), 5 | QUEST_HIDDEN (1); 6 | 7 | private final int value; 8 | 9 | QuestShowType(int id) { 10 | this.value = id; 11 | } 12 | 13 | public int getValue() { 14 | return value; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/net/packet/PacketHandler.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.net.packet; 2 | 3 | import emu.grasscutter.server.game.GameSession; 4 | 5 | public abstract class PacketHandler { 6 | protected static final byte[] EMPTY_BYTE_ARRAY = new byte[0]; 7 | 8 | public abstract void handle(GameSession session, byte[] header, byte[] payload) throws Exception; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/plugin/api/Item.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.plugin.api; 2 | 3 | public enum Item { 4 | /* TODO: Use handbook to generate an Item enum. */ 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/constants/ScriptRegionShape.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.constants; 2 | 3 | public class ScriptRegionShape { 4 | public static final int NONE = 0; 5 | public static final int SPHERE = 1; 6 | public static final int CUBIC = 2; 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/data/SceneBossChest.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.data; 2 | 3 | import lombok.Setter; 4 | import lombok.ToString; 5 | 6 | @Setter 7 | @ToString 8 | public class SceneBossChest { 9 | public int life_time; 10 | public int monster_config_id; 11 | public int resin; 12 | public int take_num; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/data/SceneBusiness.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.data; 2 | 3 | import lombok.Setter; 4 | import lombok.ToString; 5 | 6 | @ToString 7 | @Setter 8 | public class SceneBusiness { 9 | public int type; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/data/SceneInitConfig.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.data; 2 | 3 | import lombok.Setter; 4 | import lombok.ToString; 5 | 6 | @ToString 7 | @Setter 8 | public class SceneInitConfig { 9 | public int suite; 10 | public int end_suite; 11 | public int rand_suite; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/data/SceneMonster.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.data; 2 | 3 | import lombok.Setter; 4 | import lombok.ToString; 5 | 6 | @ToString 7 | @Setter 8 | public class SceneMonster extends SceneObject{ 9 | public int monster_id; 10 | public int pose_id; 11 | public int drop_id; 12 | } -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/data/SceneNPC.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.data; 2 | 3 | import lombok.Setter; 4 | import lombok.ToString; 5 | 6 | @ToString 7 | @Setter 8 | public class SceneNPC extends SceneObject{ 9 | public int npc_id; 10 | } -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/data/SceneVar.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.data; 2 | 3 | import lombok.Setter; 4 | import lombok.ToString; 5 | 6 | @ToString 7 | @Setter 8 | public class SceneVar { 9 | public String name; 10 | public int value; 11 | public boolean no_refresh; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/listener/ScriptMonsterListener.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.listener; 2 | 3 | import emu.grasscutter.game.entity.EntityMonster; 4 | 5 | public interface ScriptMonsterListener { 6 | 7 | void onNotify(EntityMonster sceneMonster); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/scripts/serializer/Serializer.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.scripts.serializer; 2 | 3 | import java.util.List; 4 | 5 | public interface Serializer { 6 | 7 | public List toList(Class type, Object obj); 8 | 9 | public T toObject(Class type, Object obj); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/event/Cancellable.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.event; 2 | 3 | /** 4 | * Implementing this interface marks an event as cancellable. 5 | */ 6 | public interface Cancellable { 7 | void cancel(); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/event/game/ServerTickEvent.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.event.game; 2 | 3 | import emu.grasscutter.server.event.types.ServerEvent; 4 | 5 | public final class ServerTickEvent extends ServerEvent { 6 | public ServerTickEvent() { 7 | super(Type.GAME); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/event/types/GameEvent.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.event.types; 2 | 3 | import emu.grasscutter.server.event.Event; 4 | 5 | /** 6 | * An event that is related to the game. 7 | */ 8 | public abstract class GameEvent extends Event { 9 | 10 | } -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/game/GameServerStartFinishEvent.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.game; 2 | 3 | public class GameServerStartFinishEvent { 4 | // Placeholder class for now, probably will get used later 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/game/GameServerStopEvent.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.game; 2 | 3 | public class GameServerStopEvent { 4 | // Placeholder class for now, probably will get used later 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/game/GameServerTickEvent.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.game; 2 | 3 | public class GameServerTickEvent { 4 | // Placeholder class for now, probably will get used later 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/http/documentation/DocumentationHandler.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.http.documentation; 2 | 3 | import express.http.Request; 4 | import express.http.Response; 5 | 6 | interface DocumentationHandler { 7 | 8 | void handle(Request request, Response response); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/http/objects/LoginAccountRequestJson.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.http.objects; 2 | 3 | public class LoginAccountRequestJson { 4 | public String account; 5 | public String password; 6 | public boolean is_crypto; 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/http/objects/LoginTokenRequestJson.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.http.objects; 2 | 3 | public class LoginTokenRequestJson { 4 | public String uid; 5 | public String token; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/server/packet/send/Packet.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.server.packet.send; 2 | 3 | import emu.grasscutter.net.packet.BasePacket; 4 | import emu.grasscutter.net.packet.PacketOpcodes; 5 | 6 | public class Packet extends BasePacket { 7 | 8 | public Packet() { 9 | super(PacketOpcodes.NONE); 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/emu/grasscutter/utils/EventConsumer.java: -------------------------------------------------------------------------------- 1 | package emu.grasscutter.utils; 2 | 3 | import emu.grasscutter.server.event.Event; 4 | 5 | public interface EventConsumer { 6 | void consume(T event); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: emu.grasscutter.Grasscutter 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/defaults/data/TowerSchedule.json: -------------------------------------------------------------------------------- 1 | { 2 | "scheduleId" : 45, 3 | "scheduleStartTime" : "2022-05-01T00:00:00+08:00", 4 | "nextScheduleChangeTime" : "2022-05-30T00:00:00+08:00" 5 | } -------------------------------------------------------------------------------- /src/main/resources/keys/dispatchKey.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/src/main/resources/keys/dispatchKey.bin -------------------------------------------------------------------------------- /src/main/resources/keys/dispatchSeed.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/src/main/resources/keys/dispatchSeed.bin -------------------------------------------------------------------------------- /src/main/resources/keys/secretKey.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/src/main/resources/keys/secretKey.bin -------------------------------------------------------------------------------- /src/main/resources/keys/secretKeyBuffer.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akka0/Grasscutter/be0aa84f49770828d71575b0b9309b10fa6d039c/src/main/resources/keys/secretKeyBuffer.bin -------------------------------------------------------------------------------- /src/main/resources/webstatic/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 51 3 | } --------------------------------------------------------------------------------