From f08115017862800e33784ef2d2ae1a762512eceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <1@72wo.cn> Date: Sun, 22 Jun 2025 12:32:19 +0800 Subject: [PATCH] =?UTF-8?q?refactor(common):=20=E9=87=8D=E6=9E=84=E5=AE=A0?= =?UTF-8?q?=E7=89=A9=E7=9B=B8=E5=85=B3=E4=BF=A1=E6=81=AF=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 PetInfo 和 PetEffectInfo 结构体,统一字段命名规范 - 更新 SkillInfo 结构体,增加技能等级字段 - 删除未使用的 LoginUserInfo 和 ServerInfo 结构体 - 引入 google/uuid 包,用于后续可能的唯一标识生成 --- common/core/info/CrossDomainInfo.go | 12 ++ common/core/info/CrossDomainInfo.java | 13 ++ common/core/info/battle/AttackValue.go | 55 ++++++ .../info/battle/CatchMonsterInboundInfo.go | 7 + .../info/battle/CatchMonsterInboundInfo.java | 21 +++ .../info/battle/CatchMonsterOutboundInfo.go | 9 + .../info/battle/CatchMonsterOutboundInfo.java | 23 +++ .../info/battle/ChallengeBossInboundInfo.go | 7 + .../info/battle/ChallengeBossInboundInfo.java | 15 ++ .../core/info/battle/ChangePetInboundInfo.go | 7 + .../info/battle/ChangePetInboundInfo.java | 21 +++ common/core/info/battle/ChangePetInfo.go | 19 ++ common/core/info/battle/ChangePetInfo.java | 32 ++++ .../core/info/battle/ChangePetOutboundInfo.go | 6 + .../info/battle/ChangePetOutboundInfo.java | 18 ++ .../battle/FightNpcMonsterInboundInfo.java | 15 ++ common/core/info/battle/FightOverInfo.java | 25 +++ .../info/battle/FightOverOutboundInfo.java | 20 ++ common/core/info/battle/FightPetInfo.java | 38 ++++ .../info/battle/FightStartOutboundInfo.java | 27 +++ common/core/info/battle/FightUserInfo.java | 26 +++ .../info/battle/NoteReadyToFightInfo.java | 31 ++++ .../battle/NoteReadyToFightOutboundInfo.java | 20 ++ .../info/battle/NoteUseSkillOutboundInfo.java | 24 +++ .../core/info/battle/ReadyFightPetInfo.java | 42 +++++ .../info/battle/ReadyToFightInboundInfo.java | 16 ++ .../core/info/battle/UseSkillInboundInfo.java | 23 +++ .../info/battle/UseSkillOutboundInfo.java | 12 ++ common/core/info/chat/ChatInboundInfo.java | 19 ++ common/core/info/chat/ChatOutboundInfo.java | 26 +++ common/core/info/item/ItemInfo.java | 15 ++ .../core/info/item/ItemListInboundInfo.java | 21 +++ .../core/info/item/ItemListOutboundInfo.java | 16 ++ common/core/info/item/PeopleItemInfo.java | 17 ++ .../core/info/item/SendItemOutboundInfo.java | 26 +++ common/core/info/item/SingleItemInfo.java | 19 ++ common/core/info/login/CommendSvrInfo.go | 17 ++ common/core/info/login/CommendSvrInfo.java | 25 +++ common/core/info/login/LoginSidInfo.go | 21 +++ common/core/info/login/LoginSidInfo.java | 20 ++ common/core/info/{ => login}/LoginUserInfo.go | 2 +- common/core/info/login/LoginUserInfo.java | 172 ++++++++++++++++++ common/core/info/{ => login}/ServerInfo.go | 2 +- common/core/info/login/ServerInfo.java | 24 +++ common/core/info/login/SidInfo.go | 24 +++ common/core/info/login/SidInfo.java | 14 ++ .../core/info/mail/MailUnreadInboundInfo.java | 14 ++ .../info/mail/MailUnreadOutboundInfo.java | 15 ++ common/core/info/map/LeaveMapInboundInfo.java | 12 ++ .../core/info/map/LeaveMapOutboundInfo.java | 15 ++ .../info/map/ListMapPlayerInboundInfo.java | 14 ++ .../info/map/ListMapPlayerOutboundInfo.java | 15 ++ common/core/info/map/MapHotInboundInfo.java | 14 ++ common/core/info/map/MapHotInfo.java | 19 ++ common/core/info/map/MapHotOutboundInfo.java | 15 ++ common/core/info/map/MapInfo.java | 24 +++ .../info/map/MapOgreListOutboundInfo.java | 21 +++ common/core/info/map/PeopleInfo.java | 102 +++++++++++ .../core/info/map/PeopleWalkInboundInfo.java | 22 +++ .../core/info/map/PeopleWalkOutboundInfo.java | 24 +++ common/core/info/misc/AimatInboundInfo.java | 29 +++ common/core/info/misc/AimatOutboundInfo.java | 31 ++++ common/core/info/misc/CateInfo.java | 19 ++ common/core/info/misc/DayTalkInfo.java | 23 +++ .../misc/GetQuadrupleExeTimeInboundInfo.java | 17 ++ .../misc/GetQuadrupleExeTimeOutboundInfo.java | 17 ++ .../core/info/misc/SystemTimeInboundInfo.java | 12 ++ .../info/misc/SystemTimeOutboundInfo.java | 15 ++ .../core/info/misc/TalkCateInboundInfo.java | 23 +++ .../core/info/misc/TalkCateOutboundInfo.java | 22 +++ .../core/info/misc/TalkCountInboundInfo.java | 23 +++ .../core/info/misc/TalkCountOutboundInfo.java | 23 +++ .../nono/NonoFollowOrHomeInboundInfo.java | 15 ++ .../nono/NonoFollowOrHomeOutboundInfo.java | 28 +++ common/core/info/nono/NonoInboundInfo.java | 17 ++ common/core/info/nono/NonoOutboundInfo.java | 52 ++++++ common/core/info/pet/GetPetInfoInboundInfo.go | 7 + .../core/info/pet/GetPetInfoOutboundInfo.java | 16 ++ common/core/info/pet/PetCureInboundInfo.java | 13 ++ common/core/info/pet/PetCureOutboundInfo.java | 13 ++ common/core/info/pet/PetEffectInfo.go | 39 ++-- common/core/info/pet/PetEffectInfo.java | 34 ++++ common/core/info/pet/PetInfo.go | 109 ++++++----- common/core/info/pet/PetInfo.java | 80 ++++++++ .../core/info/pet/PetOneCureInboundInfo.java | 17 ++ .../core/info/pet/PetOneCureOutboundInfo.java | 17 ++ common/core/info/pet/PetSetExpInboundInfo.go | 9 + .../core/info/pet/PetSetExpInboundInfo.java | 19 ++ common/core/info/pet/PetSetExpOutboundInfo.go | 7 + .../core/info/pet/PetSetExpOutboundInfo.java | 19 ++ common/core/info/pet/PetShortInfo.java | 24 +++ common/core/info/pet/PetShowInboundInfo.go | 7 + common/core/info/pet/PetShowInboundInfo.java | 16 ++ common/core/info/pet/PetShowOutboundInfo.go | 25 +++ common/core/info/pet/PetShowOutboundInfo.java | 35 ++++ .../info/pet/PetSkillSwitchInboundInfo.java | 15 ++ .../info/pet/PetSkillSwitchOutboundInfo.java | 17 ++ .../info/pet/PetStudySkillInboundInfo.java | 15 ++ .../info/pet/PetStudySkillOutboundInfo.java | 17 ++ .../core/info/pet/PetUpdateOutboundInfo.java | 23 +++ .../core/info/pet/RoomPetInfoInboundInfo.java | 21 +++ .../info/pet/RoomPetInfoOutboundInfo.java | 54 ++++++ common/core/info/pet/UpdatePropInfo.java | 49 +++++ common/core/info/pet/UpdateSkillInfo.java | 21 +++ .../info/pet/UpdateSkillOutboundInfo.java | 18 ++ .../info/pet/bag/GetPetListInboundEmpty.java | 13 ++ .../info/pet/bag/GetPetListOutboundInfo.java | 19 ++ .../info/pet/bag/PetDefaultInboundInfo.java | 17 ++ .../info/pet/bag/PetDefaultOutboundInfo.java | 17 ++ .../info/pet/bag/PetReleaseInboundInfo.java | 19 ++ .../info/pet/bag/PetReleaseOutboundInfo.java | 29 +++ .../info/pet/bag/PetRoweiInboundInfo.java | 21 +++ .../pet/bag/PetRoweiListInboundEmpty.java | 13 ++ .../pet/bag/PetRoweiListOutboundInfo.java | 19 ++ .../info/pet/bag/PetRoweiOutboundEmpty.java | 13 ++ .../core/info/pet/skill/ChangeSkillInfo.java | 19 ++ common/core/info/pet/skill/SkillInfo.go | 18 +- common/core/info/pet/skill/SkillInfo.java | 16 ++ .../pet/soulBead/GetSoulBeadInboundInfo.java | 14 ++ .../pet/soulBead/GetSoulBeadOutboundInfo.java | 17 ++ .../info/pet/soulBead/SoulBeadItemInfo.java | 14 ++ common/core/info/team/TeamInfo.java | 22 +++ common/core/info/team/TeamPKInfo.java | 13 ++ .../user/ChangePlayerClothInboundInfo.java | 18 ++ .../user/ChangePlayerClothOutboundInfo.java | 24 +++ .../user/ChangePlayerNameInboundInfo.java | 21 +++ .../user/ChangePlayerNameOutboundInfo.java | 25 +++ .../core/info/user/GetPetExpInboundInfo.java | 11 ++ .../core/info/user/GetPetExpOutboundInfo.java | 19 ++ .../user/GoldOnlineRemainInboundInfo.java | 14 ++ .../user/GoldOnlineRemainOutboundInfo.java | 17 ++ .../info/user/MoreUserInfoInboundInfo.java | 17 ++ .../info/user/MoreUserInfoOutboundInfo.java | 44 +++++ .../info/user/SimUserInfoInboundInfo.java | 17 ++ .../info/user/SimUserInfoOutboundInfo.java | 57 ++++++ .../info/user/SystemMessageOutboundInfo.java | 29 +++ common/go.mod | 1 + common/go.sum | 2 + modules/dict/README.MD | 11 -- 139 files changed, 3065 insertions(+), 87 deletions(-) create mode 100644 common/core/info/CrossDomainInfo.go create mode 100644 common/core/info/CrossDomainInfo.java create mode 100644 common/core/info/battle/AttackValue.go create mode 100644 common/core/info/battle/CatchMonsterInboundInfo.go create mode 100644 common/core/info/battle/CatchMonsterInboundInfo.java create mode 100644 common/core/info/battle/CatchMonsterOutboundInfo.go create mode 100644 common/core/info/battle/CatchMonsterOutboundInfo.java create mode 100644 common/core/info/battle/ChallengeBossInboundInfo.go create mode 100644 common/core/info/battle/ChallengeBossInboundInfo.java create mode 100644 common/core/info/battle/ChangePetInboundInfo.go create mode 100644 common/core/info/battle/ChangePetInboundInfo.java create mode 100644 common/core/info/battle/ChangePetInfo.go create mode 100644 common/core/info/battle/ChangePetInfo.java create mode 100644 common/core/info/battle/ChangePetOutboundInfo.go create mode 100644 common/core/info/battle/ChangePetOutboundInfo.java create mode 100644 common/core/info/battle/FightNpcMonsterInboundInfo.java create mode 100644 common/core/info/battle/FightOverInfo.java create mode 100644 common/core/info/battle/FightOverOutboundInfo.java create mode 100644 common/core/info/battle/FightPetInfo.java create mode 100644 common/core/info/battle/FightStartOutboundInfo.java create mode 100644 common/core/info/battle/FightUserInfo.java create mode 100644 common/core/info/battle/NoteReadyToFightInfo.java create mode 100644 common/core/info/battle/NoteReadyToFightOutboundInfo.java create mode 100644 common/core/info/battle/NoteUseSkillOutboundInfo.java create mode 100644 common/core/info/battle/ReadyFightPetInfo.java create mode 100644 common/core/info/battle/ReadyToFightInboundInfo.java create mode 100644 common/core/info/battle/UseSkillInboundInfo.java create mode 100644 common/core/info/battle/UseSkillOutboundInfo.java create mode 100644 common/core/info/chat/ChatInboundInfo.java create mode 100644 common/core/info/chat/ChatOutboundInfo.java create mode 100644 common/core/info/item/ItemInfo.java create mode 100644 common/core/info/item/ItemListInboundInfo.java create mode 100644 common/core/info/item/ItemListOutboundInfo.java create mode 100644 common/core/info/item/PeopleItemInfo.java create mode 100644 common/core/info/item/SendItemOutboundInfo.java create mode 100644 common/core/info/item/SingleItemInfo.java create mode 100644 common/core/info/login/CommendSvrInfo.go create mode 100644 common/core/info/login/CommendSvrInfo.java create mode 100644 common/core/info/login/LoginSidInfo.go create mode 100644 common/core/info/login/LoginSidInfo.java rename common/core/info/{ => login}/LoginUserInfo.go (99%) create mode 100644 common/core/info/login/LoginUserInfo.java rename common/core/info/{ => login}/ServerInfo.go (98%) create mode 100644 common/core/info/login/ServerInfo.java create mode 100644 common/core/info/login/SidInfo.go create mode 100644 common/core/info/login/SidInfo.java create mode 100644 common/core/info/mail/MailUnreadInboundInfo.java create mode 100644 common/core/info/mail/MailUnreadOutboundInfo.java create mode 100644 common/core/info/map/LeaveMapInboundInfo.java create mode 100644 common/core/info/map/LeaveMapOutboundInfo.java create mode 100644 common/core/info/map/ListMapPlayerInboundInfo.java create mode 100644 common/core/info/map/ListMapPlayerOutboundInfo.java create mode 100644 common/core/info/map/MapHotInboundInfo.java create mode 100644 common/core/info/map/MapHotInfo.java create mode 100644 common/core/info/map/MapHotOutboundInfo.java create mode 100644 common/core/info/map/MapInfo.java create mode 100644 common/core/info/map/MapOgreListOutboundInfo.java create mode 100644 common/core/info/map/PeopleInfo.java create mode 100644 common/core/info/map/PeopleWalkInboundInfo.java create mode 100644 common/core/info/map/PeopleWalkOutboundInfo.java create mode 100644 common/core/info/misc/AimatInboundInfo.java create mode 100644 common/core/info/misc/AimatOutboundInfo.java create mode 100644 common/core/info/misc/CateInfo.java create mode 100644 common/core/info/misc/DayTalkInfo.java create mode 100644 common/core/info/misc/GetQuadrupleExeTimeInboundInfo.java create mode 100644 common/core/info/misc/GetQuadrupleExeTimeOutboundInfo.java create mode 100644 common/core/info/misc/SystemTimeInboundInfo.java create mode 100644 common/core/info/misc/SystemTimeOutboundInfo.java create mode 100644 common/core/info/misc/TalkCateInboundInfo.java create mode 100644 common/core/info/misc/TalkCateOutboundInfo.java create mode 100644 common/core/info/misc/TalkCountInboundInfo.java create mode 100644 common/core/info/misc/TalkCountOutboundInfo.java create mode 100644 common/core/info/nono/NonoFollowOrHomeInboundInfo.java create mode 100644 common/core/info/nono/NonoFollowOrHomeOutboundInfo.java create mode 100644 common/core/info/nono/NonoInboundInfo.java create mode 100644 common/core/info/nono/NonoOutboundInfo.java create mode 100644 common/core/info/pet/GetPetInfoInboundInfo.go create mode 100644 common/core/info/pet/GetPetInfoOutboundInfo.java create mode 100644 common/core/info/pet/PetCureInboundInfo.java create mode 100644 common/core/info/pet/PetCureOutboundInfo.java create mode 100644 common/core/info/pet/PetEffectInfo.java create mode 100644 common/core/info/pet/PetInfo.java create mode 100644 common/core/info/pet/PetOneCureInboundInfo.java create mode 100644 common/core/info/pet/PetOneCureOutboundInfo.java create mode 100644 common/core/info/pet/PetSetExpInboundInfo.go create mode 100644 common/core/info/pet/PetSetExpInboundInfo.java create mode 100644 common/core/info/pet/PetSetExpOutboundInfo.go create mode 100644 common/core/info/pet/PetSetExpOutboundInfo.java create mode 100644 common/core/info/pet/PetShortInfo.java create mode 100644 common/core/info/pet/PetShowInboundInfo.go create mode 100644 common/core/info/pet/PetShowInboundInfo.java create mode 100644 common/core/info/pet/PetShowOutboundInfo.go create mode 100644 common/core/info/pet/PetShowOutboundInfo.java create mode 100644 common/core/info/pet/PetSkillSwitchInboundInfo.java create mode 100644 common/core/info/pet/PetSkillSwitchOutboundInfo.java create mode 100644 common/core/info/pet/PetStudySkillInboundInfo.java create mode 100644 common/core/info/pet/PetStudySkillOutboundInfo.java create mode 100644 common/core/info/pet/PetUpdateOutboundInfo.java create mode 100644 common/core/info/pet/RoomPetInfoInboundInfo.java create mode 100644 common/core/info/pet/RoomPetInfoOutboundInfo.java create mode 100644 common/core/info/pet/UpdatePropInfo.java create mode 100644 common/core/info/pet/UpdateSkillInfo.java create mode 100644 common/core/info/pet/UpdateSkillOutboundInfo.java create mode 100644 common/core/info/pet/bag/GetPetListInboundEmpty.java create mode 100644 common/core/info/pet/bag/GetPetListOutboundInfo.java create mode 100644 common/core/info/pet/bag/PetDefaultInboundInfo.java create mode 100644 common/core/info/pet/bag/PetDefaultOutboundInfo.java create mode 100644 common/core/info/pet/bag/PetReleaseInboundInfo.java create mode 100644 common/core/info/pet/bag/PetReleaseOutboundInfo.java create mode 100644 common/core/info/pet/bag/PetRoweiInboundInfo.java create mode 100644 common/core/info/pet/bag/PetRoweiListInboundEmpty.java create mode 100644 common/core/info/pet/bag/PetRoweiListOutboundInfo.java create mode 100644 common/core/info/pet/bag/PetRoweiOutboundEmpty.java create mode 100644 common/core/info/pet/skill/ChangeSkillInfo.java create mode 100644 common/core/info/pet/skill/SkillInfo.java create mode 100644 common/core/info/pet/soulBead/GetSoulBeadInboundInfo.java create mode 100644 common/core/info/pet/soulBead/GetSoulBeadOutboundInfo.java create mode 100644 common/core/info/pet/soulBead/SoulBeadItemInfo.java create mode 100644 common/core/info/team/TeamInfo.java create mode 100644 common/core/info/team/TeamPKInfo.java create mode 100644 common/core/info/user/ChangePlayerClothInboundInfo.java create mode 100644 common/core/info/user/ChangePlayerClothOutboundInfo.java create mode 100644 common/core/info/user/ChangePlayerNameInboundInfo.java create mode 100644 common/core/info/user/ChangePlayerNameOutboundInfo.java create mode 100644 common/core/info/user/GetPetExpInboundInfo.java create mode 100644 common/core/info/user/GetPetExpOutboundInfo.java create mode 100644 common/core/info/user/GoldOnlineRemainInboundInfo.java create mode 100644 common/core/info/user/GoldOnlineRemainOutboundInfo.java create mode 100644 common/core/info/user/MoreUserInfoInboundInfo.java create mode 100644 common/core/info/user/MoreUserInfoOutboundInfo.java create mode 100644 common/core/info/user/SimUserInfoInboundInfo.java create mode 100644 common/core/info/user/SimUserInfoOutboundInfo.java create mode 100644 common/core/info/user/SystemMessageOutboundInfo.java delete mode 100644 modules/dict/README.MD diff --git a/common/core/info/CrossDomainInfo.go b/common/core/info/CrossDomainInfo.go new file mode 100644 index 000000000..105212eb2 --- /dev/null +++ b/common/core/info/CrossDomainInfo.go @@ -0,0 +1,12 @@ +package info + +/* + * CrossDomainInfo 跨域请求消息对象, 仅作为标记, 无任何意义 + */ +var Instance = &crossDomainInfo{} + +type crossDomainInfo struct{} + +func NewCrossDomainInfo() *crossDomainInfo { + return Instance +} diff --git a/common/core/info/CrossDomainInfo.java b/common/core/info/CrossDomainInfo.java new file mode 100644 index 000000000..17cef42cf --- /dev/null +++ b/common/core/info/CrossDomainInfo.java @@ -0,0 +1,13 @@ +package org.nieo.seerproject.common.net.info; + +import javax.annotation.Nonnull; + +/** + * 跨域请求消息对象, 仅作为标记, 无任何意义 + */ +public class CrossDomainInfo { + @SuppressWarnings("InstantiationOfUtilityClass") + public static final @Nonnull CrossDomainInfo INSTANCE = new CrossDomainInfo(); + + private CrossDomainInfo() {} +} diff --git a/common/core/info/battle/AttackValue.go b/common/core/info/battle/AttackValue.go new file mode 100644 index 000000000..d93b7ad7a --- /dev/null +++ b/common/core/info/battle/AttackValue.go @@ -0,0 +1,55 @@ +package battle + +import "blazing/common/core/info/pet/skill" + +// AttackValue 战斗攻击值信息 +type AttackValue struct { + // UserId 玩家的米米号 与野怪对战userid = 0 + UserId uint64 + + // SkillId 使用技能的id + SkillId uint64 + + // AttackTime 是否击中 如果为0 则miss 如果为1 则击中 + AttackTime uint64 + + // LostHp 我方造成的伤害 + LostHp uint64 + + // GainHp 我方获得血量 + GainHp uint64 + + // RemainHp 我方剩余血量 + RemainHp uint64 + + // MaxHp 我方最大血量 + MaxHp uint64 + + // State 固定值0 需要后续测试 + State uint64 + + // SkillList 根据精灵的数据插入技能 最多4条 不定长 + SkillList []*skill.SkillInfo + + // IsCritical 是否暴击 + IsCritical uint64 + + // Status 20个字节 各种状态 + // 0:"麻痹" + // 1:"中毒" + // 2:"烧伤" + // 4:"寄生" + // 5:"冻伤" + // 6:"害怕" + // 7:"疲惫" + // 8:"睡眠" + // 9:"石化" + // 10:"混乱" + // 15:"冰封" + // 16:"流血" + Status [20]byte + + // BattleLv 6个单字节byte, 内容为buff等级 攻击 速度 特攻 防御 特防命中等 + // 具体数值为1-6等级 + BattleLv [6]byte +} diff --git a/common/core/info/battle/CatchMonsterInboundInfo.go b/common/core/info/battle/CatchMonsterInboundInfo.go new file mode 100644 index 000000000..f4caa6b13 --- /dev/null +++ b/common/core/info/battle/CatchMonsterInboundInfo.go @@ -0,0 +1,7 @@ +package battle + +// CatchMonsterInboundInfo 捕捉怪物入站信息 +type CatchMonsterInboundInfo struct { + // 胶囊id + CapsuleID uint64 `json:"capsuleId"` +} diff --git a/common/core/info/battle/CatchMonsterInboundInfo.java b/common/core/info/battle/CatchMonsterInboundInfo.java new file mode 100644 index 000000000..2371bb502 --- /dev/null +++ b/common/core/info/battle/CatchMonsterInboundInfo.java @@ -0,0 +1,21 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@InboundMessageType(MessageCommandIDRegistry.Catch_Monster) +public class CatchMonsterInboundInfo implements InboundMessage { + @FieldDescription("胶囊id") + private @UInt long capsuleId; +} diff --git a/common/core/info/battle/CatchMonsterOutboundInfo.go b/common/core/info/battle/CatchMonsterOutboundInfo.go new file mode 100644 index 000000000..658c0c94e --- /dev/null +++ b/common/core/info/battle/CatchMonsterOutboundInfo.go @@ -0,0 +1,9 @@ +package battle + +// CatchMonsterOutboundInfo 捕捉怪物出站信息 +type CatchMonsterOutboundInfo struct { + // 捕捉时间 + CatchTime uint64 `json:"catchTime"` + // 宠物编号 + PetID uint64 `json:"petId"` +} diff --git a/common/core/info/battle/CatchMonsterOutboundInfo.java b/common/core/info/battle/CatchMonsterOutboundInfo.java new file mode 100644 index 000000000..eaa050784 --- /dev/null +++ b/common/core/info/battle/CatchMonsterOutboundInfo.java @@ -0,0 +1,23 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Catch_Monster) +public class CatchMonsterOutboundInfo implements OutboundMessage { + @FieldDescription("捕捉时间") + private @UInt long catchTime; + @FieldDescription("宠物编号") + private @UInt long petId; +} diff --git a/common/core/info/battle/ChallengeBossInboundInfo.go b/common/core/info/battle/ChallengeBossInboundInfo.go new file mode 100644 index 000000000..b4cd819f2 --- /dev/null +++ b/common/core/info/battle/ChallengeBossInboundInfo.go @@ -0,0 +1,7 @@ +package battle + +// ChallengeBossInboundInfo boss挑战入站信息 +type ChallengeBossInboundInfo struct { + // boss的序号 从0开始 + BossID uint64 `json:"bossId"` +} diff --git a/common/core/info/battle/ChallengeBossInboundInfo.java b/common/core/info/battle/ChallengeBossInboundInfo.java new file mode 100644 index 000000000..17edc33dc --- /dev/null +++ b/common/core/info/battle/ChallengeBossInboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@InboundMessageType(MessageCommandIDRegistry.Challenge_Boss) +public class ChallengeBossInboundInfo implements InboundMessage { + @FieldDescription("boss的序号 从0开始") + private @UInt long bossId; +} diff --git a/common/core/info/battle/ChangePetInboundInfo.go b/common/core/info/battle/ChangePetInboundInfo.go new file mode 100644 index 000000000..1d059e476 --- /dev/null +++ b/common/core/info/battle/ChangePetInboundInfo.go @@ -0,0 +1,7 @@ +package battle + +// ChangePetInboundInfo 宠物变更入站信息 +type ChangePetInboundInfo struct { + // 捕捉时间 + CatchTime uint64 `json:"catchTime"` +} diff --git a/common/core/info/battle/ChangePetInboundInfo.java b/common/core/info/battle/ChangePetInboundInfo.java new file mode 100644 index 000000000..a8709d9d4 --- /dev/null +++ b/common/core/info/battle/ChangePetInboundInfo.java @@ -0,0 +1,21 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@InboundMessageType(MessageCommandIDRegistry.Change_Pet) +public class ChangePetInboundInfo implements InboundMessage { + @FieldDescription("捕捉时间") + private @UInt long catchTime; +} diff --git a/common/core/info/battle/ChangePetInfo.go b/common/core/info/battle/ChangePetInfo.go new file mode 100644 index 000000000..bb6465014 --- /dev/null +++ b/common/core/info/battle/ChangePetInfo.go @@ -0,0 +1,19 @@ +package battle + +// ChangePetInfo 宠物变更信息 +type ChangePetInfo struct { + // 米米号 野怪0 + UserID uint64 `json:"userId"` + // 切换上场的精灵编号 + PetID uint64 `json:"petId"` + // 精灵名字 16字节 + PetName string `json:"petName"` + // 切换上场的等级 + Level uint64 `json:"level"` + // 切换上场的生命 + HP uint64 `json:"hp"` + // 切换上场的最大生命 + MaxHP uint64 `json:"maxHp"` + // 切换上场的捕捉时间 + CatchTime uint64 `json:"catchTime"` +} diff --git a/common/core/info/battle/ChangePetInfo.java b/common/core/info/battle/ChangePetInfo.java new file mode 100644 index 000000000..60f871cc3 --- /dev/null +++ b/common/core/info/battle/ChangePetInfo.java @@ -0,0 +1,32 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ChangePetInfo { + @FieldDescription("米米号 野怪0") + private @UInt long userId; + @FieldDescription("切换上场的精灵编号") + private @UInt long petId; + @FieldDescription("精灵名字 16字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String petName; + @FieldDescription("切换上场的等级") + private @UInt long level; + @FieldDescription("切换上场的生命") + private @UInt long hp; + @FieldDescription("切换上场的最大生命") + private @UInt long maxHp; + @FieldDescription("切换上场的捕捉时间") + private @UInt long catchTime; +} diff --git a/common/core/info/battle/ChangePetOutboundInfo.go b/common/core/info/battle/ChangePetOutboundInfo.go new file mode 100644 index 000000000..c5b137e71 --- /dev/null +++ b/common/core/info/battle/ChangePetOutboundInfo.go @@ -0,0 +1,6 @@ +package battle + +// ChangePetOutboundInfo 宠物变更出站信息 +type ChangePetOutboundInfo struct { + Info *ChangePetInfo `json:"info"` +} diff --git a/common/core/info/battle/ChangePetOutboundInfo.java b/common/core/info/battle/ChangePetOutboundInfo.java new file mode 100644 index 000000000..563dc4832 --- /dev/null +++ b/common/core/info/battle/ChangePetOutboundInfo.java @@ -0,0 +1,18 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Change_Pet) +public class ChangePetOutboundInfo implements OutboundMessage { + private ChangePetInfo info; +} diff --git a/common/core/info/battle/FightNpcMonsterInboundInfo.java b/common/core/info/battle/FightNpcMonsterInboundInfo.java new file mode 100644 index 000000000..6254a43e1 --- /dev/null +++ b/common/core/info/battle/FightNpcMonsterInboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@InboundMessageType(MessageCommandIDRegistry.Fight_NPC_Monster) +public class FightNpcMonsterInboundInfo implements InboundMessage { + @FieldDescription("地图刷新怪物结构体对应的序号 1 - 9 的位置序号") + private @UInt long number; +} diff --git a/common/core/info/battle/FightOverInfo.java b/common/core/info/battle/FightOverInfo.java new file mode 100644 index 000000000..fe0607a45 --- /dev/null +++ b/common/core/info/battle/FightOverInfo.java @@ -0,0 +1,25 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FightOverInfo { + @FieldDescription("固定值0") + private @UInt long reason; + @FieldDescription("胜者的米米号 野怪为0") + private @UInt long winnerId; + @FieldDescription("20个字节 保留字段 填0") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 20) + @Builder.Default + private byte [] reserved = new byte[20]; +} diff --git a/common/core/info/battle/FightOverOutboundInfo.java b/common/core/info/battle/FightOverOutboundInfo.java new file mode 100644 index 000000000..5f225ca87 --- /dev/null +++ b/common/core/info/battle/FightOverOutboundInfo.java @@ -0,0 +1,20 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Fight_Over) +public class FightOverOutboundInfo implements OutboundMessage { + private FightOverInfo overInfo; +} diff --git a/common/core/info/battle/FightPetInfo.java b/common/core/info/battle/FightPetInfo.java new file mode 100644 index 000000000..2aea78f4b --- /dev/null +++ b/common/core/info/battle/FightPetInfo.java @@ -0,0 +1,38 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FightPetInfo { + @FieldDescription("用户ID 野怪为0") + private @UInt long userId; + @FieldDescription("当前对战精灵ID") + private @UInt long petId; + @FieldDescription("空的16字节byte") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String petName; + @FieldDescription("精灵的捕获时间") + private @UInt long catchTime; + @FieldDescription("当前HP") + private @UInt long hp; + @FieldDescription("最大HP") + private @UInt long maxHp; + @FieldDescription("当前等级") + private @UInt long level; + @FieldDescription("精灵是否能捕捉. 1为能捕捉 0为不能捕捉") + private @UInt long catchable; + @FieldDescription("这里实际上应该是6个单字节byte, 内容为buff等级 攻击 速度 特攻 防御 特防 命中等." + + "但具体顺序未知可能需要测试. 具体数值为1-6等级") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 6) + private byte [] battleLV; +} diff --git a/common/core/info/battle/FightStartOutboundInfo.java b/common/core/info/battle/FightStartOutboundInfo.java new file mode 100644 index 000000000..d4df6cf22 --- /dev/null +++ b/common/core/info/battle/FightStartOutboundInfo.java @@ -0,0 +1,27 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Note_Start_Fight) +public class FightStartOutboundInfo implements OutboundMessage { + @FieldDescription("是否自动 默认给0 怀疑是自动战斗器使用的") + private @UInt long isCanAuto; + @FieldDescription("当前战斗精灵的信息 可能不准.看前端代码是以userid来判断哪个结构体是我方的") + private FightPetInfo info1; + @FieldDescription("当前战斗精灵的信息 可能不准.看前端代码是以userid来判断哪个结构体是我方的") + private FightPetInfo info2; +} diff --git a/common/core/info/battle/FightUserInfo.java b/common/core/info/battle/FightUserInfo.java new file mode 100644 index 000000000..96617e221 --- /dev/null +++ b/common/core/info/battle/FightUserInfo.java @@ -0,0 +1,26 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +import javax.annotation.Nonnull; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FightUserInfo { + public static final @Nonnull FightUserInfo NPC_MONSTER = new FightUserInfo(0, "-"); + + @FieldDescription("userID 如果为野怪则为0") + private @UInt long userId; + @FieldDescription("玩家名称 野怪为一个utf8的'-' 都为16字节byte ") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String nickname; +} diff --git a/common/core/info/battle/NoteReadyToFightInfo.java b/common/core/info/battle/NoteReadyToFightInfo.java new file mode 100644 index 000000000..718fe73f4 --- /dev/null +++ b/common/core/info/battle/NoteReadyToFightInfo.java @@ -0,0 +1,31 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +import java.util.ArrayList; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class NoteReadyToFightInfo { + @FieldDescription("战斗类型ID 但前端好像没有用到 与野怪战斗为3,与人战斗似乎是1") + private @UInt long fightId; + @FieldDescription("我方信息") + private FightUserInfo ourInfo; + @FieldDescription("我方携带精灵的信息") + @Builder.Default + private List ourPetList = new ArrayList<>(); + @FieldDescription("对方信息") + private FightUserInfo opponentInfo; + @FieldDescription("敌方的精灵信息 如果是野怪 那么再给客户端发送这个包体时就提前生成好了这只精灵的PetInfo," + + "然后把从PetInfo中把部分信息写入到这个敌方的精灵信息中再发送这个包结构体") + @Builder.Default + private List opponentPetList = new ArrayList<>(); +} diff --git a/common/core/info/battle/NoteReadyToFightOutboundInfo.java b/common/core/info/battle/NoteReadyToFightOutboundInfo.java new file mode 100644 index 000000000..89a3b9000 --- /dev/null +++ b/common/core/info/battle/NoteReadyToFightOutboundInfo.java @@ -0,0 +1,20 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Note_ReadyTo_Fight) +public class NoteReadyToFightOutboundInfo implements OutboundMessage { + private NoteReadyToFightInfo data; +} diff --git a/common/core/info/battle/NoteUseSkillOutboundInfo.java b/common/core/info/battle/NoteUseSkillOutboundInfo.java new file mode 100644 index 000000000..a3d6e876d --- /dev/null +++ b/common/core/info/battle/NoteUseSkillOutboundInfo.java @@ -0,0 +1,24 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Note_Use_Skill) +public class NoteUseSkillOutboundInfo implements OutboundMessage { + @FieldDescription("本轮先手的精灵在释放技能结束后的状态") + private AttackValue firstAttackInfo; + @FieldDescription("本轮后手的精灵在释放技能结束后的状态") + private AttackValue secondAttackInfo; +} diff --git a/common/core/info/battle/ReadyFightPetInfo.java b/common/core/info/battle/ReadyFightPetInfo.java new file mode 100644 index 000000000..2c2305155 --- /dev/null +++ b/common/core/info/battle/ReadyFightPetInfo.java @@ -0,0 +1,42 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.info.pet.skill.SkillInfo; + +import java.util.ArrayList; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ReadyFightPetInfo { + @FieldDescription("精灵ID") + private @UInt long id; + @FieldDescription("精灵等级") + private @UInt long level; + @FieldDescription("精灵HP") + private @UInt long hp; + @FieldDescription("最大HP") + private @UInt long maxHp; + @FieldDescription("技能信息 技能ID跟剩余PP 固定32字节 没有给0") + @Builder.Default + private List skillList = new ArrayList<>(4); + @FieldDescription("精灵捕获时间") + private @UInt long catchTime; + @FieldDescription("捕捉地图 给0") + private @UInt long catchMap; + @FieldDescription("给0") + private @UInt long catchRect; + @FieldDescription("给0") + private @UInt long catchLevel; + @FieldDescription("精灵皮肤ID") + private @UInt long skinId; + @FieldDescription("精灵是否闪光") + private @UInt long shiny; +} diff --git a/common/core/info/battle/ReadyToFightInboundInfo.java b/common/core/info/battle/ReadyToFightInboundInfo.java new file mode 100644 index 000000000..e7be30d3b --- /dev/null +++ b/common/core/info/battle/ReadyToFightInboundInfo.java @@ -0,0 +1,16 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +import javax.annotation.Nonnull; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Ready_To_Fight) +public class ReadyToFightInboundInfo implements InboundMessage { + public static final @Nonnull ReadyToFightInboundInfo INSTANCE = new ReadyToFightInboundInfo(); +} diff --git a/common/core/info/battle/UseSkillInboundInfo.java b/common/core/info/battle/UseSkillInboundInfo.java new file mode 100644 index 000000000..58e4108d1 --- /dev/null +++ b/common/core/info/battle/UseSkillInboundInfo.java @@ -0,0 +1,23 @@ +package org.nieo.seerproject.common.net.info.battle; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@InboundMessageType(MessageCommandIDRegistry.Use_Skill) +public class UseSkillInboundInfo implements InboundMessage { + @FieldDescription("技能id") + private @UInt long skillId; +} diff --git a/common/core/info/battle/UseSkillOutboundInfo.java b/common/core/info/battle/UseSkillOutboundInfo.java new file mode 100644 index 000000000..7d7f4b79b --- /dev/null +++ b/common/core/info/battle/UseSkillOutboundInfo.java @@ -0,0 +1,12 @@ +package org.nieo.seerproject.common.net.info.battle; + +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Use_Skill) +public class UseSkillOutboundInfo implements OutboundMessage { + public static final UseSkillOutboundInfo INSTANCE = new UseSkillOutboundInfo(); +} diff --git a/common/core/info/chat/ChatInboundInfo.java b/common/core/info/chat/ChatInboundInfo.java new file mode 100644 index 000000000..bda8b11df --- /dev/null +++ b/common/core/info/chat/ChatInboundInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.chat; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Chat) +public class ChatInboundInfo implements InboundMessage { + @FieldDescription("填充 默认值为0") + private @UInt long reserve; + @FieldDescription("消息内容, 结束符为utf-8的数字0") + private String message; +} diff --git a/common/core/info/chat/ChatOutboundInfo.java b/common/core/info/chat/ChatOutboundInfo.java new file mode 100644 index 000000000..844670e31 --- /dev/null +++ b/common/core/info/chat/ChatOutboundInfo.java @@ -0,0 +1,26 @@ +package org.nieo.seerproject.common.net.info.chat; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Chat) +public class ChatOutboundInfo implements OutboundMessage { + @FieldDescription("发送人的米米号") + private @UInt long senderId; + @FieldDescription("发送人的昵称 16字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String senderNickname; + @FieldDescription("可能是私聊用的 公屏发送时为0") + private @UInt long toId; + @FieldDescription("这里的内容没有结束符") + private String message; +} diff --git a/common/core/info/item/ItemInfo.java b/common/core/info/item/ItemInfo.java new file mode 100644 index 000000000..0911bb91b --- /dev/null +++ b/common/core/info/item/ItemInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.item; + +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@SuperBuilder +@Data +public class ItemInfo { + @FieldDescription("发放物品ID") + private @UInt long itemId; + @FieldDescription("发放物品的数量") + private @UInt long itemCount; +} diff --git a/common/core/info/item/ItemListInboundInfo.java b/common/core/info/item/ItemListInboundInfo.java new file mode 100644 index 000000000..738a84100 --- /dev/null +++ b/common/core/info/item/ItemListInboundInfo.java @@ -0,0 +1,21 @@ +package org.nieo.seerproject.common.net.info.item; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Item_List) +public class ItemListInboundInfo implements InboundMessage { + @FieldDescription("查询物品id的开始") + private @UInt long param1; + @FieldDescription("查询物品id的结尾") + private @UInt long param2; + @FieldDescription("默认值2") + private @UInt long param3; +} diff --git a/common/core/info/item/ItemListOutboundInfo.java b/common/core/info/item/ItemListOutboundInfo.java new file mode 100644 index 000000000..83b36504e --- /dev/null +++ b/common/core/info/item/ItemListOutboundInfo.java @@ -0,0 +1,16 @@ +package org.nieo.seerproject.common.net.info.item; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.util.List; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Item_List) +public class ItemListOutboundInfo implements OutboundMessage { + private List itemList; +} diff --git a/common/core/info/item/PeopleItemInfo.java b/common/core/info/item/PeopleItemInfo.java new file mode 100644 index 000000000..ba224f567 --- /dev/null +++ b/common/core/info/item/PeopleItemInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.item; + +import lombok.Builder; +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +@SuperBuilder +public class PeopleItemInfo { + @FieldDescription("装备id") + public @UInt long id; + @FieldDescription("未知默认1") + @Builder.Default + public @UInt long level = 1; +} diff --git a/common/core/info/item/SendItemOutboundInfo.java b/common/core/info/item/SendItemOutboundInfo.java new file mode 100644 index 000000000..46a8508f4 --- /dev/null +++ b/common/core/info/item/SendItemOutboundInfo.java @@ -0,0 +1,26 @@ +package org.nieo.seerproject.common.net.info.item; + +import lombok.Builder; +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.util.List; + +@SuperBuilder +@Data +@OutboundMessageType(MessageCommandIDRegistry.Get_Boss_Monster) +public class SendItemOutboundInfo implements OutboundMessage { + @FieldDescription("奖金ID?未知作用.写0") + private @UInt long bonusId; + @FieldDescription("可能是发放精灵时候用到的ID 发放物品给0") + private @UInt long petId; + @FieldDescription("可能是发放精灵时候对应的捕获时间 发放物品给0") + private @UInt long captureTime; + @FieldDescription("发放物品的数组.但只会给一个物品 发放多个物品只能重复发送这个包") + private List itemList; +} diff --git a/common/core/info/item/SingleItemInfo.java b/common/core/info/item/SingleItemInfo.java new file mode 100644 index 000000000..c4b89ec60 --- /dev/null +++ b/common/core/info/item/SingleItemInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.item; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Builder +@Data +public class SingleItemInfo { + @FieldDescription("物品Id") + private @UInt long itemId; + @FieldDescription("物品数量") + private @UInt long itemCnt; + @FieldDescription("固定值360000") + private @UInt long leftTime; + @FieldDescription("固定值0") + private @UInt long itemLevel; +} diff --git a/common/core/info/login/CommendSvrInfo.go b/common/core/info/login/CommendSvrInfo.go new file mode 100644 index 000000000..7bed8b8d0 --- /dev/null +++ b/common/core/info/login/CommendSvrInfo.go @@ -0,0 +1,17 @@ +package login + +// CommendSvrInfo 初始连接请求信息结构体 +type CommendSvrInfo struct { + MaxOnlineID uint64 // 最大连接数 + IsVip uint64 // 建议为0 + ServerList []ServerInfo // 服务器具体信息 + Reversed int // 保留字段 +} + +func NewCommendSvrInfo() *CommendSvrInfo { + return &CommendSvrInfo{ + IsVip: 0, + ServerList: make([]ServerInfo, 0), + Reversed: 0, + } +} diff --git a/common/core/info/login/CommendSvrInfo.java b/common/core/info/login/CommendSvrInfo.java new file mode 100644 index 000000000..7ddb3cfab --- /dev/null +++ b/common/core/info/login/CommendSvrInfo.java @@ -0,0 +1,25 @@ +package org.nieo.seerproject.common.net.info.login; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.util.List; + +@Data +@AutoCodec +@FieldDescription("初始连接请求信息") +@OutboundMessageType(MessageCommandIDRegistry.Commend_OnLine) +public class CommendSvrInfo implements OutboundMessage { + @FieldDescription("最大连接数") + private @UInt long maxOnlineID; + @FieldDescription("建议为0") + private @UInt long isVip; + @FieldDescription("服务器具体信息") + private List serverList; + private int reversed; +} diff --git a/common/core/info/login/LoginSidInfo.go b/common/core/info/login/LoginSidInfo.go new file mode 100644 index 000000000..e6827f09a --- /dev/null +++ b/common/core/info/login/LoginSidInfo.go @@ -0,0 +1,21 @@ +package login + +// LoginSidInfo 登录携带的凭证结构体 +type LoginSidInfo struct { + Sid [16]byte // 登录会话ID,固定长度16字节 +} + +// NewLoginSidInfo 创建一个新的登录凭证实例 +func NewLoginSidInfo() *LoginSidInfo { + return &LoginSidInfo{} +} + +// SetSid 设置登录会话ID +func (l *LoginSidInfo) SetSid(sid []byte) { + copy(l.Sid[:], sid) +} + +// GetSid 获取登录会话ID +func (l *LoginSidInfo) GetSid() []byte { + return l.Sid[:] +} diff --git a/common/core/info/login/LoginSidInfo.java b/common/core/info/login/LoginSidInfo.java new file mode 100644 index 000000000..852ae673d --- /dev/null +++ b/common/core/info/login/LoginSidInfo.java @@ -0,0 +1,20 @@ +package org.nieo.seerproject.common.net.info.login; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + + +@Data +@FieldDescription("登录携带的凭证") +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Login_In) +public class LoginSidInfo implements InboundMessage { + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private byte[] sid; +} diff --git a/common/core/info/LoginUserInfo.go b/common/core/info/login/LoginUserInfo.go similarity index 99% rename from common/core/info/LoginUserInfo.go rename to common/core/info/login/LoginUserInfo.go index d2475d1bb..2fc152216 100644 --- a/common/core/info/LoginUserInfo.go +++ b/common/core/info/login/LoginUserInfo.go @@ -1,4 +1,4 @@ -package info +package login import "blazing/common/core/info/pet" diff --git a/common/core/info/login/LoginUserInfo.java b/common/core/info/login/LoginUserInfo.java new file mode 100644 index 000000000..bf5ab6c4f --- /dev/null +++ b/common/core/info/login/LoginUserInfo.java @@ -0,0 +1,172 @@ +package org.nieo.seerproject.common.net.info.login; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.annotations.serialize.UShort; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.info.item.PeopleItemInfo; +import org.nieo.seerproject.common.net.info.pet.PetInfo; +import org.nieo.seerproject.common.net.info.team.TeamInfo; +import org.nieo.seerproject.common.net.info.team.TeamPKInfo; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; +import org.nieo.seerproject.common.structs.Point; +import org.nieo.seerproject.common.util.ArrayUtilities; + +import java.util.ArrayList; +import java.util.List; + +@SuppressWarnings("SpellCheckingInspection") +@Data +@AutoCodec +@FieldDescription("登录信息") +@OutboundMessageType(MessageCommandIDRegistry.Login_In) +public class LoginUserInfo implements OutboundMessage { + @FieldDescription("米米号 通过sid拿到") + private @UInt long userId; + @FieldDescription("注册时间(按秒的时间戳)") + private @UInt long registerTime; + @FieldDescription("16字节昵称") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String nick; + @FieldDescription("暂时不明建议先给固定值0") + private @UShort int vip; + @FieldDescription("暂时不明建议先给固定值15") + private @UShort int viped = 15; + @FieldDescription("暂时不明建议先给固定值0") + private @UInt long dsFlag; + @FieldDescription("机器人人物颜色 00 rgb") + private @UInt long color; + @FieldDescription("暂时不明建议先给固定值0") + private @UInt long texture; + @FieldDescription("暂时不明建议先给固定值3000") + private @UInt long energy = 3000; + @FieldDescription("赛尔豆") + private @UInt long coins; + @FieldDescription("暂时不明建议先给固定值0") + private @UInt long fightBadge; + @FieldDescription("上线的地图id") + private @UInt long mapID; + @FieldDescription("上线的坐标 2个uint") + private Point pos = new Point(); + @FieldDescription("已经消耗掉的时间(秒为单位)") + private @UInt long timeToday; + @FieldDescription("总电池限制(秒为单位)") + private @UInt long timeLimit; + @FieldDescription("暂时不明感觉是某种活动建议先给固定值0(只能0或1)") + private byte isClothHalfDay; + @FieldDescription("暂时不明感觉是某种活动建议先给固定值0(只能0或1)") + private byte isRoomHalfDay; + @FieldDescription("暂时不明感觉是某种活动建议先给固定值0(只能0或1)") + private byte iFortressHalfDay; + @FieldDescription("暂时不明感觉是某种活动建议先给固定值0(只能0或1)") + private byte isHQHalfDay; + @FieldDescription("暂时不明建议先给固定值0") + private @UInt long loginCount; + @FieldDescription("邀请活动建议先给固定值0") + private @UInt long inviter; + @FieldDescription("邀请活动建议先给固定值0") + private @UInt long newInviteeCount; + @FieldDescription("超no等级建议固定8") + private @UInt long vipLevel = 8; + @FieldDescription("超no的vip值建议固定80000") + private @UInt long vipValue = 80000; + @FieldDescription("超no的外形等级建议固定1(暂定)") + private @UInt long vipStage = 1; + @FieldDescription("nono是否自动充电 建议固定1") + private @UInt long autoCharge = 1; + @FieldDescription("超no的结束时间建议尽可能大") + private @UInt long vipEndTime = Integer.MAX_VALUE; + @FieldDescription("邀请活动建议先给固定值0") + private @UInt long freshManBonus; + @FieldDescription("超no芯片列表*(80字节)") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 80) + private byte[] nonoChipList = new byte[80]; + @FieldDescription("50字节,默认值为3") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 50) + private byte[] dailyResArr + = ArrayUtilities.generateByteArrayWithInitialValueAndLength((byte) 3, 50); + @FieldDescription("教官id") + private @UInt long teacherID; + @FieldDescription("学员id") + private @UInt long studentID; + @FieldDescription("毕业人数") + private @UInt long graduationCount; + @FieldDescription("默认值为0") + private @UInt long maxPuniLv; + @FieldDescription("精灵的最高等级") + private @UInt long petMaxLevel; + @FieldDescription("所有的精灵的数量") + private @UInt long allPetNumber; + @FieldDescription("精灵王之战胜场") + private @UInt long monKingWin; + @FieldDescription("勇者之塔当前到达的层数") + private @UInt long currentStage; + @FieldDescription("试炼之塔最大胜利的层数") + private @UInt long maxStage; + @FieldDescription("试炼之塔当前到达的层数") + private @UInt long currentFreshStage; + @FieldDescription("试炼之塔最大胜利的层数") + private @UInt long maxFreshStage; + @FieldDescription("星际擂台连胜") + private @UInt long maxArenaWins; + @FieldDescription("未知默认0") + private @UInt long twoTimes; + @FieldDescription("未知默认0") + private @UInt long threeTimes; + @FieldDescription("是否自动战斗(未知默认值0)") + private @UInt long autoFight; + @FieldDescription("自动战斗剩余的场次(未知默认值0)") + private @UInt long autoFightTime; + @FieldDescription("能量吸收仪剩余次数(未知待定默认值0)") + private @UInt long energyTime; + @FieldDescription("学习力吸收仪剩余次数(未知待定默认值0)") + private @UInt long learnTimes; + @FieldDescription("未知默认0") + private @UInt long monBattleMedal; + @FieldDescription("未知默认0") + private @UInt long recordCount; + @FieldDescription("未知默认0") + private @UInt long obtainTm; + @FieldDescription("当前在孵化的元神珠id") + private @UInt long soulBeadItemID; + @FieldDescription("未知默认0") + private @UInt long expireTm; + @FieldDescription("未知默认0") + private @UInt long fuseTimes; + @FieldDescription("玩家有没有nono") + private @UInt long hasNono = 1; + @FieldDescription("玩家有没有超能nono") + private @UInt long superNono = 1; + @FieldDescription("默认值-1") + private @UInt long nonoState = 0xFFFFFFFFL; + @FieldDescription("nono的颜色") + private @UInt long nonoColor; + @FieldDescription("nono的名字 必须要补齐到16位") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String nonoNick = "nono"; + @FieldDescription("猜测为战队信息24字节") + private TeamInfo teamInfo = new TeamInfo(); + @FieldDescription("8字节") + private TeamPKInfo teamPkInfo = new TeamPKInfo(); + @FieldDescription("1字节 无内容") + private byte reserved; + @FieldDescription("默认值为0") + private @UInt long badge; + @FieldDescription("未知(27字节,默认值为3)") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 27) + private byte[] reserved1 + = ArrayUtilities.generateByteArrayWithInitialValueAndLength((byte) 3, 27); + @FieldDescription("任务状态数组(500字节,3为已经完成,建议默认值为3)") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 500) + private byte[] taskList + = ArrayUtilities.generateByteArrayWithInitialValueAndLength((byte) 3, 500); + @FieldDescription("精灵背包内的信息由于特性精灵的存在精灵背包不定长 如果有特性占199字节 如果没特性 一个精灵占175字节") + private List petList = new ArrayList<>(); + @FieldDescription("穿戴装备 8字节") + private List clothes = new ArrayList<>(); +} diff --git a/common/core/info/ServerInfo.go b/common/core/info/login/ServerInfo.go similarity index 98% rename from common/core/info/ServerInfo.go rename to common/core/info/login/ServerInfo.go index 7e97f46b6..cf21dfaa1 100644 --- a/common/core/info/ServerInfo.go +++ b/common/core/info/login/ServerInfo.go @@ -1,4 +1,4 @@ -package info +package login // ServerInfo 服务器信息结构体 type ServerInfo struct { diff --git a/common/core/info/login/ServerInfo.java b/common/core/info/login/ServerInfo.java new file mode 100644 index 000000000..728981688 --- /dev/null +++ b/common/core/info/login/ServerInfo.java @@ -0,0 +1,24 @@ +package org.nieo.seerproject.common.net.info.login; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.annotations.serialize.UShort; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@FieldDescription("服务器信息") +public class ServerInfo { + @FieldDescription("连接ID, 即服务器序号") + private @UInt long onlineId; + @FieldDescription("当前服务器玩家在线数量, 供SWF显示") + private @UInt long userCnt; + @FieldDescription("服务器IP, 16字节UTF-8, 不足16补齐到16") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String ip; + @FieldDescription("端口") + private @UShort int port; + @FieldDescription("好友在线的个数") + private @UInt long friends; +} diff --git a/common/core/info/login/SidInfo.go b/common/core/info/login/SidInfo.go new file mode 100644 index 000000000..deedd6f32 --- /dev/null +++ b/common/core/info/login/SidInfo.go @@ -0,0 +1,24 @@ +package login + +// SidInfo SID信息结构体 +type SidInfo struct { + Sid []byte // SID数据 +} + +// NewSidInfo 创建一个新的SID信息实例 +func NewSidInfo() *SidInfo { + return &SidInfo{ + Sid: make([]byte, 0), + } +} + +// SetSid 设置SID值 +func (s *SidInfo) SetSid(sid []byte) { + s.Sid = make([]byte, len(sid)) + copy(s.Sid, sid) +} + +// GetSid 获取SID值 +func (s *SidInfo) GetSid() []byte { + return s.Sid +} diff --git a/common/core/info/login/SidInfo.java b/common/core/info/login/SidInfo.java new file mode 100644 index 000000000..8e2e4d466 --- /dev/null +++ b/common/core/info/login/SidInfo.java @@ -0,0 +1,14 @@ +package org.nieo.seerproject.common.net.info.login; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@FieldDescription("SID") +@InboundMessageType(MessageCommandIDRegistry.Commend_OnLine) +public class SidInfo implements InboundMessage { + private byte [] sid; +} diff --git a/common/core/info/mail/MailUnreadInboundInfo.java b/common/core/info/mail/MailUnreadInboundInfo.java new file mode 100644 index 000000000..dd63d63b3 --- /dev/null +++ b/common/core/info/mail/MailUnreadInboundInfo.java @@ -0,0 +1,14 @@ +package org.nieo.seerproject.common.net.info.mail; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +import javax.annotation.Nonnull; + +@Data +@InboundMessageType(MessageCommandIDRegistry.Mail_Get_Unread) +public class MailUnreadInboundInfo implements InboundMessage { + public static final @Nonnull MailUnreadInboundInfo INSTANCE = new MailUnreadInboundInfo(); +} diff --git a/common/core/info/mail/MailUnreadOutboundInfo.java b/common/core/info/mail/MailUnreadOutboundInfo.java new file mode 100644 index 000000000..dc7ef20f4 --- /dev/null +++ b/common/core/info/mail/MailUnreadOutboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.mail; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@OutboundMessageType(MessageCommandIDRegistry.Mail_Get_Unread) +public class MailUnreadOutboundInfo implements OutboundMessage { + @FieldDescription("未读邮件的数量") + private @UInt long mailNumber; +} diff --git a/common/core/info/map/LeaveMapInboundInfo.java b/common/core/info/map/LeaveMapInboundInfo.java new file mode 100644 index 000000000..8e6562ca0 --- /dev/null +++ b/common/core/info/map/LeaveMapInboundInfo.java @@ -0,0 +1,12 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@InboundMessageType(MessageCommandIDRegistry.Leave_Map) +public class LeaveMapInboundInfo implements InboundMessage { + public static final LeaveMapInboundInfo INSTANCE = new LeaveMapInboundInfo(); +} diff --git a/common/core/info/map/LeaveMapOutboundInfo.java b/common/core/info/map/LeaveMapOutboundInfo.java new file mode 100644 index 000000000..2a0b16ead --- /dev/null +++ b/common/core/info/map/LeaveMapOutboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@OutboundMessageType(MessageCommandIDRegistry.Leave_Map) +public class LeaveMapOutboundInfo implements OutboundMessage { + @FieldDescription("米米号") + private @UInt long userId; +} diff --git a/common/core/info/map/ListMapPlayerInboundInfo.java b/common/core/info/map/ListMapPlayerInboundInfo.java new file mode 100644 index 000000000..8777a9124 --- /dev/null +++ b/common/core/info/map/ListMapPlayerInboundInfo.java @@ -0,0 +1,14 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +import javax.annotation.Nonnull; + +@Data +@InboundMessageType(MessageCommandIDRegistry.List_Map_Player) +public class ListMapPlayerInboundInfo implements InboundMessage { + public static final @Nonnull ListMapPlayerInboundInfo INSTANCE = new ListMapPlayerInboundInfo(); +} diff --git a/common/core/info/map/ListMapPlayerOutboundInfo.java b/common/core/info/map/ListMapPlayerOutboundInfo.java new file mode 100644 index 000000000..9ececa0c0 --- /dev/null +++ b/common/core/info/map/ListMapPlayerOutboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.util.ArrayList; +import java.util.List; + +@Data +@OutboundMessageType(MessageCommandIDRegistry.List_Map_Player) +public class ListMapPlayerOutboundInfo implements OutboundMessage { + private List mapPlayerInfo = new ArrayList<>(); +} diff --git a/common/core/info/map/MapHotInboundInfo.java b/common/core/info/map/MapHotInboundInfo.java new file mode 100644 index 000000000..0eee1284b --- /dev/null +++ b/common/core/info/map/MapHotInboundInfo.java @@ -0,0 +1,14 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +import javax.annotation.Nonnull; + +@Data +@InboundMessageType(MessageCommandIDRegistry.Map_Hot) +public class MapHotInboundInfo implements InboundMessage { + public static final @Nonnull MapHotInboundInfo INSTANCE = new MapHotInboundInfo(); +} diff --git a/common/core/info/map/MapHotInfo.java b/common/core/info/map/MapHotInfo.java new file mode 100644 index 000000000..40fbd5dbe --- /dev/null +++ b/common/core/info/map/MapHotInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MapHotInfo { + @FieldDescription("地图ID") + private @UInt long mapId; + @FieldDescription("地图里有多少人") + private @UInt long count; +} diff --git a/common/core/info/map/MapHotOutboundInfo.java b/common/core/info/map/MapHotOutboundInfo.java new file mode 100644 index 000000000..f961f83fc --- /dev/null +++ b/common/core/info/map/MapHotOutboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.util.ArrayList; +import java.util.List; + +@Data +@OutboundMessageType(MessageCommandIDRegistry.Map_Hot) +public class MapHotOutboundInfo implements OutboundMessage { + private List hotInfos = new ArrayList<>(); +} diff --git a/common/core/info/map/MapInfo.java b/common/core/info/map/MapInfo.java new file mode 100644 index 000000000..8627aa6e7 --- /dev/null +++ b/common/core/info/map/MapInfo.java @@ -0,0 +1,24 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.MessageName; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.structs.Point; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Enter_Map) +@MessageName("EnterMapInboundInfo") +public class MapInfo implements InboundMessage { + @FieldDescription("地图类型") + private @UInt long mapType; + @FieldDescription("地图ID") + private @UInt long mapId; + @FieldDescription("8字节, 人物地图坐标") + private Point pos = new Point(); +} diff --git a/common/core/info/map/MapOgreListOutboundInfo.java b/common/core/info/map/MapOgreListOutboundInfo.java new file mode 100644 index 000000000..21a444c83 --- /dev/null +++ b/common/core/info/map/MapOgreListOutboundInfo.java @@ -0,0 +1,21 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@OutboundMessageType(MessageCommandIDRegistry.Map_Ogre_List) +public class MapOgreListOutboundInfo implements OutboundMessage { + private @UInt long petId1; + private @UInt long petId2; + private @UInt long petId3; + private @UInt long petId4; + private @UInt long petId5; + private @UInt long petId6; + private @UInt long petId7; + private @UInt long petId8; + private @UInt long petId9; +} diff --git a/common/core/info/map/PeopleInfo.java b/common/core/info/map/PeopleInfo.java new file mode 100644 index 000000000..51246574d --- /dev/null +++ b/common/core/info/map/PeopleInfo.java @@ -0,0 +1,102 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.MessageName; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.annotations.serialize.UShort; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.info.item.PeopleItemInfo; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; +import org.nieo.seerproject.common.structs.Point; + +import java.util.ArrayList; +import java.util.List; + +@Data +@AutoCodec +@SuppressWarnings("SpellCheckingInspection") +@OutboundMessageType(MessageCommandIDRegistry.Enter_Map) +@MessageName("EnterMapOutboundInfo") +public class PeopleInfo implements OutboundMessage { + @FieldDescription("米米号") + private @UInt long userId; + @FieldDescription("16字节昵称") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String nick; + @FieldDescription("机器人人物颜色 00 rgb") + private @UInt long color; + @FieldDescription("固定值0") + private @UInt long texture; + @FieldDescription("暂时不明建议先给固定值0") + private @UShort int vip; + @FieldDescription("暂时不明建议先给固定值15") + private @UShort int viped = 15; + @FieldDescription("暂时不明建议先给固定值1") + private @UInt long vipStage; + @FieldDescription("人物状态 =0 步行 !=0 飞行") + private @UInt long actionType; + @FieldDescription("上线的地图id") + private Point pos = new Point(); + @FieldDescription("暂时不明给0") + private @UInt long action; + @FieldDescription("暂时不明给2") + private @UInt long direction = 2; + @FieldDescription("暂时不明给0") + private @UInt long changeShape; + @FieldDescription("暂时不明给0") + private @UInt long spiritTime; + @FieldDescription("暂时不明给0") + private @UInt long spiritID; + @FieldDescription("宠物ID暂时无法测试, 给0") + private @UInt long petDV; + @FieldDescription("宠物闪光暂时无法测试, 给0") + private @UInt long petShiny; + @FieldDescription("宠物皮肤暂时无法测试, 给0") + private @UInt long petSkin; + @FieldDescription("填充字符") + private @UInt long reserved; + @FieldDescription("填充字符") + private @UInt long reserved1; + @FieldDescription("填充字符") + private @UInt long reserved2; + @FieldDescription("暂时不明给0") + private @UInt long fightFlag; + @FieldDescription("教官ID") + private @UInt long teacherID; + @FieldDescription("学员ID") + private @UInt long studentID; + @FieldDescription("nono状态 固定值-1") + private @UInt long nonoState = 0xFFFFFFFFL; + @FieldDescription("nono颜色 00 FF FF FF") + private @UInt long nonoColor; + @FieldDescription("是不是超能nono 固定值1") + private @UInt long superNono = 1; + @FieldDescription("暂时不明给0") + private @UInt long playerForm; + @FieldDescription("暂时不明给0") + private @UInt long transTime; + @FieldDescription("暂时不明给0") + private @UInt long teamid; + @FieldDescription("暂时不明给0") + private @UInt long teamCoreCount; + @FieldDescription("暂时不明给0") + private @UInt long teamisShow; + @FieldDescription("暂时不明给0") + private short logoBg; + @FieldDescription("暂时不明给0") + private short logoIcon; + @FieldDescription("暂时不明给0") + private short logoColor; + @FieldDescription("暂时不明给0") + private short txtColor; + @FieldDescription("4字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 4) + private byte[] logoWord = new byte[4]; + @FieldDescription("穿戴装备的信息") + private List clothes = new ArrayList<>(); +} diff --git a/common/core/info/map/PeopleWalkInboundInfo.java b/common/core/info/map/PeopleWalkInboundInfo.java new file mode 100644 index 000000000..42584d6b8 --- /dev/null +++ b/common/core/info/map/PeopleWalkInboundInfo.java @@ -0,0 +1,22 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.structs.Point; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.People_Walk) +public class PeopleWalkInboundInfo implements InboundMessage { + @FieldDescription("0为走,1为飞行模式") + private @UInt long flag; + @FieldDescription("直接给坐标x,y") + private Point point = new Point(); + @FieldDescription("暂定 占位字符2") + private String reverse2; +} diff --git a/common/core/info/map/PeopleWalkOutboundInfo.java b/common/core/info/map/PeopleWalkOutboundInfo.java new file mode 100644 index 000000000..5a3685ffa --- /dev/null +++ b/common/core/info/map/PeopleWalkOutboundInfo.java @@ -0,0 +1,24 @@ +package org.nieo.seerproject.common.net.info.map; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.structs.Point; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.People_Walk) +public class PeopleWalkOutboundInfo implements OutboundMessage { + @FieldDescription("0为走,1为飞行模式") + public @UInt long flag; + @FieldDescription("走动的人的米米号") + public @UInt long userID; + @FieldDescription("直接给坐标x,y") + public Point point = new Point(); + @FieldDescription("这个字段同C2S_People_Walk中的reserve2") + public String reserve2; +} diff --git a/common/core/info/misc/AimatInboundInfo.java b/common/core/info/misc/AimatInboundInfo.java new file mode 100644 index 000000000..5e4df6291 --- /dev/null +++ b/common/core/info/misc/AimatInboundInfo.java @@ -0,0 +1,29 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.structs.Point; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@InboundMessageType(MessageCommandIDRegistry.Aimat) +public class AimatInboundInfo implements InboundMessage { + @FieldDescription("物品id 射击激光 物品id为0") + private @UInt long itemId; + @FieldDescription("射击类型 未知 给0") + private @UInt long shootType; + @FieldDescription("射击的坐标 x y") + @Builder.Default + private Point point = new Point(); +} diff --git a/common/core/info/misc/AimatOutboundInfo.java b/common/core/info/misc/AimatOutboundInfo.java new file mode 100644 index 000000000..a2eccbb53 --- /dev/null +++ b/common/core/info/misc/AimatOutboundInfo.java @@ -0,0 +1,31 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.structs.Point; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Aimat) +public class AimatOutboundInfo implements OutboundMessage { + @FieldDescription("射出子弹的人 米米号") + private @UInt long userId; + @FieldDescription("物品id 射击激光 物品id为0") + private @UInt long itemId; + @FieldDescription("射击类型 未知 给0") + private @UInt long shootType; + @FieldDescription("射击的坐标 x y") + @Builder.Default + private Point point = new Point(); +} diff --git a/common/core/info/misc/CateInfo.java b/common/core/info/misc/CateInfo.java new file mode 100644 index 000000000..95cbe91d2 --- /dev/null +++ b/common/core/info/misc/CateInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CateInfo { + @FieldDescription("物品id") + private @UInt long id; + @FieldDescription("数量") + private @UInt long count; +} diff --git a/common/core/info/misc/DayTalkInfo.java b/common/core/info/misc/DayTalkInfo.java new file mode 100644 index 000000000..77863025a --- /dev/null +++ b/common/core/info/misc/DayTalkInfo.java @@ -0,0 +1,23 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; + +import java.util.ArrayList; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DayTalkInfo { + @FieldDescription("要序列list数量字段 只序列数量 结构体数据给null") + @Builder.Default + private List cateList = new ArrayList<>(); + @FieldDescription("实际发放奖励使用的是outlist") + @Builder.Default + private List outList = new ArrayList<>(); +} diff --git a/common/core/info/misc/GetQuadrupleExeTimeInboundInfo.java b/common/core/info/misc/GetQuadrupleExeTimeInboundInfo.java new file mode 100644 index 000000000..bac815ef9 --- /dev/null +++ b/common/core/info/misc/GetQuadrupleExeTimeInboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Get_Quadruple_Exe_Time) +public class GetQuadrupleExeTimeInboundInfo implements InboundMessage { + @FieldDescription("标志若标志为1 则返回已经使用的四倍时间") + private @UInt long flag; +} diff --git a/common/core/info/misc/GetQuadrupleExeTimeOutboundInfo.java b/common/core/info/misc/GetQuadrupleExeTimeOutboundInfo.java new file mode 100644 index 000000000..88998f9f3 --- /dev/null +++ b/common/core/info/misc/GetQuadrupleExeTimeOutboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Get_Quadruple_Exe_Time) +public class GetQuadrupleExeTimeOutboundInfo implements OutboundMessage { + @FieldDescription("返回已经使用的四倍时间, 以秒为单位") + private @UInt long quadrupleExeTime; +} diff --git a/common/core/info/misc/SystemTimeInboundInfo.java b/common/core/info/misc/SystemTimeInboundInfo.java new file mode 100644 index 000000000..f322ccb78 --- /dev/null +++ b/common/core/info/misc/SystemTimeInboundInfo.java @@ -0,0 +1,12 @@ +package org.nieo.seerproject.common.net.info.misc; + +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +import javax.annotation.Nonnull; + +@InboundMessageType(MessageCommandIDRegistry.System_Time) +public class SystemTimeInboundInfo implements InboundMessage { + public static final @Nonnull SystemTimeInboundInfo INSTANCE = new SystemTimeInboundInfo(); +} diff --git a/common/core/info/misc/SystemTimeOutboundInfo.java b/common/core/info/misc/SystemTimeOutboundInfo.java new file mode 100644 index 000000000..3aed4e743 --- /dev/null +++ b/common/core/info/misc/SystemTimeOutboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.time.Instant; + +@Data +@OutboundMessageType(MessageCommandIDRegistry.System_Time) +public class SystemTimeOutboundInfo implements OutboundMessage { + private @UInt long systemTime = Instant.now().getEpochSecond(); +} diff --git a/common/core/info/misc/TalkCateInboundInfo.java b/common/core/info/misc/TalkCateInboundInfo.java new file mode 100644 index 000000000..e8da943a4 --- /dev/null +++ b/common/core/info/misc/TalkCateInboundInfo.java @@ -0,0 +1,23 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@InboundMessageType(MessageCommandIDRegistry.Talk_Cate) +public class TalkCateInboundInfo implements InboundMessage { + @FieldDescription("奖品的type, 即ID") + private @UInt long id; +} diff --git a/common/core/info/misc/TalkCateOutboundInfo.java b/common/core/info/misc/TalkCateOutboundInfo.java new file mode 100644 index 000000000..4564ce3e4 --- /dev/null +++ b/common/core/info/misc/TalkCateOutboundInfo.java @@ -0,0 +1,22 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Talk_Cate) +public class TalkCateOutboundInfo implements OutboundMessage { + @FieldDescription("返回的奖品信息") + private DayTalkInfo dayTalkInfo; +} diff --git a/common/core/info/misc/TalkCountInboundInfo.java b/common/core/info/misc/TalkCountInboundInfo.java new file mode 100644 index 000000000..06b56e0cf --- /dev/null +++ b/common/core/info/misc/TalkCountInboundInfo.java @@ -0,0 +1,23 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@InboundMessageType(MessageCommandIDRegistry.Talk_Count) +public class TalkCountInboundInfo implements InboundMessage { + @FieldDescription("奖品的Type, 即ID") + private @UInt long id; +} diff --git a/common/core/info/misc/TalkCountOutboundInfo.java b/common/core/info/misc/TalkCountOutboundInfo.java new file mode 100644 index 000000000..9bed8a4b9 --- /dev/null +++ b/common/core/info/misc/TalkCountOutboundInfo.java @@ -0,0 +1,23 @@ +package org.nieo.seerproject.common.net.info.misc; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@AutoCodec +@NoArgsConstructor +@AllArgsConstructor +@OutboundMessageType(MessageCommandIDRegistry.Talk_Count) +public class TalkCountOutboundInfo implements OutboundMessage { + @FieldDescription("已领取奖励的次数") + private @UInt long giftCount; +} diff --git a/common/core/info/nono/NonoFollowOrHomeInboundInfo.java b/common/core/info/nono/NonoFollowOrHomeInboundInfo.java new file mode 100644 index 000000000..ee0f244ba --- /dev/null +++ b/common/core/info/nono/NonoFollowOrHomeInboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.nono; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@InboundMessageType(MessageCommandIDRegistry.Nono_Follow_Or_Home) +public class NonoFollowOrHomeInboundInfo implements InboundMessage { + @FieldDescription("1为跟随 0为收回 且如果为收回 那么后续结构不需要发送") + private @UInt long flag; +} diff --git a/common/core/info/nono/NonoFollowOrHomeOutboundInfo.java b/common/core/info/nono/NonoFollowOrHomeOutboundInfo.java new file mode 100644 index 000000000..c18caeadc --- /dev/null +++ b/common/core/info/nono/NonoFollowOrHomeOutboundInfo.java @@ -0,0 +1,28 @@ +package org.nieo.seerproject.common.net.info.nono; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@OutboundMessageType(MessageCommandIDRegistry.Nono_Follow_Or_Home) +public class NonoFollowOrHomeOutboundInfo implements OutboundMessage { + @FieldDescription("米米号") + private @UInt long userID; + @FieldDescription("设置的值与下面的flag变量相同") + private @UInt long superStage; + @FieldDescription("1为跟随 0为收回 且如果为收回 那么后续结构不需要发送, 不序列化") + private @UInt long flag; + @FieldDescription("nono名字 补到16字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String nonoNick; + @FieldDescription("nono颜色 rpg") + private @UInt long color; + @FieldDescription("能量值 前端显示除以1000后的值") + private @UInt long power; +} diff --git a/common/core/info/nono/NonoInboundInfo.java b/common/core/info/nono/NonoInboundInfo.java new file mode 100644 index 000000000..4399ed5d1 --- /dev/null +++ b/common/core/info/nono/NonoInboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.nono; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Nono_Info) +public class NonoInboundInfo implements InboundMessage { + @FieldDescription("米米号") + private @UInt long userId; +} diff --git a/common/core/info/nono/NonoOutboundInfo.java b/common/core/info/nono/NonoOutboundInfo.java new file mode 100644 index 000000000..98bcadadc --- /dev/null +++ b/common/core/info/nono/NonoOutboundInfo.java @@ -0,0 +1,52 @@ +package org.nieo.seerproject.common.net.info.nono; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.annotations.serialize.UShort; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Nono_Info) +public class NonoOutboundInfo implements OutboundMessage { + @FieldDescription("米米号") + private @UInt long userID; + @FieldDescription("未知") + private @UInt long num; + @FieldDescription("未知") + private @UInt long state; + @FieldDescription("16字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String nick; + @FieldDescription("是不是超能nono") + private @UInt long superNono; + @FieldDescription("nono颜色 00 rgb") + private @UInt long color; + @FieldDescription("未知, 返回的实际数值要*1000") + private @UInt long power; + @FieldDescription("未知, 返回的实际数值要*1000") + private @UInt long mate; + @FieldDescription("未知") + private @UInt long iq; + @FieldDescription("未知") + private @UShort int ai; + @FieldDescription("未知, 返回的实际数值要除以1000") + private @UInt long birth; + @FieldDescription("充电时间") + private @UInt long chargeTime; + @FieldDescription("20字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 20) + private byte[] func = new byte[20]; + @FieldDescription("超能nono能力") + private @UInt long superEnergy; + @FieldDescription("超能nono等级") + private @UInt long superLevel; + @FieldDescription("超能nono阶段") + private @UInt long superStage; +} diff --git a/common/core/info/pet/GetPetInfoInboundInfo.go b/common/core/info/pet/GetPetInfoInboundInfo.go new file mode 100644 index 000000000..73c685668 --- /dev/null +++ b/common/core/info/pet/GetPetInfoInboundInfo.go @@ -0,0 +1,7 @@ +package pet + +// GetPetInfoInboundInfo 获取宠物信息入站请求 +type GetPetInfoInboundInfo struct { + // 精灵生成时间 + CatchTime uint64 `json:"catchTime"` +} diff --git a/common/core/info/pet/GetPetInfoOutboundInfo.java b/common/core/info/pet/GetPetInfoOutboundInfo.java new file mode 100644 index 000000000..8a7cb3913 --- /dev/null +++ b/common/core/info/pet/GetPetInfoOutboundInfo.java @@ -0,0 +1,16 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@AutoCodec +@Data +@OutboundMessageType(MessageCommandIDRegistry.Get_Pet_Info) +public class GetPetInfoOutboundInfo implements OutboundMessage { + @FieldDescription("精灵信息") + private PetInfo petInfo; +} diff --git a/common/core/info/pet/PetCureInboundInfo.java b/common/core/info/pet/PetCureInboundInfo.java new file mode 100644 index 000000000..21d1a85f3 --- /dev/null +++ b/common/core/info/pet/PetCureInboundInfo.java @@ -0,0 +1,13 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Pet_Cure) +public class PetCureInboundInfo implements InboundMessage { +} diff --git a/common/core/info/pet/PetCureOutboundInfo.java b/common/core/info/pet/PetCureOutboundInfo.java new file mode 100644 index 000000000..e4c486bb3 --- /dev/null +++ b/common/core/info/pet/PetCureOutboundInfo.java @@ -0,0 +1,13 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_Cure) +public class PetCureOutboundInfo implements OutboundMessage { +} diff --git a/common/core/info/pet/PetEffectInfo.go b/common/core/info/pet/PetEffectInfo.go index 8b9c41825..254de1e5b 100644 --- a/common/core/info/pet/PetEffectInfo.go +++ b/common/core/info/pet/PetEffectInfo.go @@ -1,21 +1,28 @@ package pet -// PetEffectInfo 精灵特性信息结构体 -type PetEffectInfo struct { - ItemID uint32 // 特性晶片对应的物品id - Status byte // 默认为1 - LeftCount byte // 未知默认为0 - EffectID uint16 // 特性id - Reserve1 byte // 保留字段1 - Reserve2 byte // 保留字段2无作用 - Reserve3 byte // 保留字段3 - Reserve4 [13]byte // 保留字段4 占13字节 +// SkillInfo 临时技能信息结构体(实际项目应补充完整定义) +type SkillInfo struct { + SkillId uint32 // 技能ID + Level uint32 // 技能等级 } +package pet -// NewPetEffectInfo 创建一个新的精灵特性信息实例 -func NewPetEffectInfo() *PetEffectInfo { - return &PetEffectInfo{ - Status: 1, - Reserve4: [13]byte{}, - } +// PetEffectInfo 宠物特性信息 +type PetEffectInfo struct { + // ItemId 特性晶片对应的物品id + ItemId uint64 + // Status 默认为1 + Status byte + // LeftCount 未知默认为0 + LeftCount byte + // EffectId 特性id + EffectId uint16 + // Reserve1 保留字段1 + Reserve1 byte + // Reserve2 保留字段2无作用 + Reserve2 byte + // Reserve3 保留字段3 + Reserve3 byte + // Reserve4 保留字段4(13字节) + Reserve4 [13]byte } diff --git a/common/core/info/pet/PetEffectInfo.java b/common/core/info/pet/PetEffectInfo.java new file mode 100644 index 000000000..c7ab02549 --- /dev/null +++ b/common/core/info/pet/PetEffectInfo.java @@ -0,0 +1,34 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Builder; +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.annotations.serialize.UShort; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@SuperBuilder +public class PetEffectInfo { + @FieldDescription("特性晶片对应的物品id") + public @UInt long itemID; + @FieldDescription("默认为1") + @Builder.Default + public byte status = 1; + @FieldDescription("未知默认为0") + public byte leftCount; + @FieldDescription("特性id") + public @UShort int effectID; + @FieldDescription("保留字段1") + public byte reserve1; + @FieldDescription("保留字段2无作用") + public byte reserve2; + @FieldDescription("保留字段3") + public byte reserve3; + @FieldDescription("保留字段4 占13字节") + @Builder.Default + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 13) + public byte[] reserve4 = new byte[13]; +} diff --git a/common/core/info/pet/PetInfo.go b/common/core/info/pet/PetInfo.go index 8ef2555f7..8b6164cd8 100644 --- a/common/core/info/pet/PetInfo.go +++ b/common/core/info/pet/PetInfo.go @@ -1,54 +1,69 @@ package pet import ( - "blazing/common/core/info/pet/skill" - "time" + "common/core/info/pet/skill" ) -// PetInfo 精灵信息结构体 +// PetInfo 宠物基本信息 type PetInfo struct { - ID uint32 // 精灵编号 - Name string `serialize:"fixed:16"` // 定长模式:16字节 // 名字 默认为全0 但要补齐到16字节 - DV uint32 // 个体值 - Nature uint32 // 性格 - Level uint32 // 等级 - Exp uint32 // 当前等级已经获得的经验 - LvExp uint32 // 当前等级所需的经验 - NextLvExp uint32 // 升到下一级的经验 - HP uint32 // 当前生命 - MaxHP uint32 // 最大生命 - Attack uint32 // 攻击 - Defence uint32 // 防御 - SpecialAttack uint32 // 特攻 - SpecialDefence uint32 // 特防 - Speed uint32 // 速度 - EVHP uint32 // 生命学习力 - EVAttack uint32 // 攻击学习力 - EVDefence uint32 // 防御学习力 - EVSpecialAttack uint32 // 特攻学习力 - EVSpecialDefense uint32 // 特防学习力 - EVSpeed uint32 // 速度学习力 - SkillSize uint32 // 技能个数 - SkillList [4]skill.SkillInfo `serialize:"fixed:8"` // 32字节 技能信息 必须插入4条skillInfo,若技能信息为空则要赋值成0 - CatchTime uint32 // 捕捉时间 - CatchMap uint32 // 捕捉地图 - CatchRect uint32 // 未知默认为0 - CatchLevel uint32 // 捕获等级 默认为0 - EffectInfo []PetEffectInfo `serialize:"varlen:2"` // 特性列表, 长度在头部以UShort存储 - SkinID uint32 // 皮肤id默认为0 - Shiny uint32 // 是不是闪 -} - -// NewPetInfo 创建一个新的精灵信息实例 -func NewPetInfo() *PetInfo { - return &PetInfo{ - Name: "", - SkillList: [4]skill.SkillInfo{}, - EffectInfo: make([]PetEffectInfo, 0), - } -} - -// GetCatchTimeAsTime 将捕捉时间转换为time.Time类型 -func (p *PetInfo) GetCatchTimeAsTime() time.Time { - return time.Unix(int64(p.CatchTime), 0) + // Id 精灵编号 + Id uint64 + // Name 名字,长度为16字节 + Name [16]byte + // Dv 个体值 + Dv uint64 + // Nature 性格 + Nature uint64 + // Level 等级 + Level uint64 + // Exp 当前等级已获得的经验 + Exp uint64 + // LvExp 当前等级所需的经验 + LvExp uint64 + // NextLvExp 升到下一级的经验 + NextLvExp uint64 + // Hp 当前生命 + Hp uint64 + // MaxHp 最大生命 + MaxHp uint64 + // Attack 攻击 + Attack uint64 + // Defence 防御 + Defence uint64 + // SpecialAttack 特攻 + SpecialAttack uint64 + // SpecialDefence 特防 + SpecialDefence uint64 + // Speed 速度 + Speed uint64 + // EvHp 生命学习力 + EvHp uint64 + // EvAttack 攻击学习力 + EvAttack uint64 + // EvDefence 防御学习力 + EvDefence uint64 + // EvSpecialAttack 特攻学习力 + EvSpecialAttack uint64 + // EvSpecialDefense 特防学习力 + EvSpecialDefense uint64 + // EvSpeed 速度学习力 + EvSpeed uint64 + // SkillSize 技能个数 + SkillSize uint64 + // SkillList 技能信息列表 + SkillList []skill.SkillInfo + // CatchTime 捕捉时间 + CatchTime uint64 + // CatchMap 捕捉地图 + CatchMap uint64 + // CatchRect 未知默认为0 + CatchRect uint64 + // CatchLevel 捕获等级默认为0 + CatchLevel uint64 + // EffectInfo 特性列表 + EffectInfo []PetEffectInfo + // SkinID 皮肤id默认为0 + SkinID uint64 + // Shiny 是否为闪 + Shiny uint64 } diff --git a/common/core/info/pet/PetInfo.java b/common/core/info/pet/PetInfo.java new file mode 100644 index 000000000..dcedd684f --- /dev/null +++ b/common/core/info/pet/PetInfo.java @@ -0,0 +1,80 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.info.pet.skill.SkillInfo; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; +import org.nieo.seerproject.common.net.serialize.LengthFieldType; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class PetInfo { + @FieldDescription("精灵编号") + private @UInt long id; + @FieldDescription("名字 默认为全0 但要补齐到16字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private byte[] name = new byte[16]; + @FieldDescription("个体值") + private @UInt long dv; + @FieldDescription("性格") + private @UInt long nature; + @FieldDescription("等级") + private @UInt long level; + @FieldDescription("当前等级已经获得的经验 2538") + private @UInt long exp; + @FieldDescription("当前等级所需的经验") + private @UInt long lvExp; + @FieldDescription("升到下一级的经验") + private @UInt long nextLvExp; + @FieldDescription("当前生命") + private @UInt long hp; + @FieldDescription("最大生命") + private @UInt long maxHp; + @FieldDescription("攻击") + private @UInt long attack; + @FieldDescription("防御") + private @UInt long defence; + @FieldDescription("特攻") + private @UInt long specialAttack; + @FieldDescription("特防") + private @UInt long specialDefence; + @FieldDescription("速度") + private @UInt long speed; + @FieldDescription("生命学习力") + private @UInt long evHp; + @FieldDescription("攻击学习力") + private @UInt long evAttack; + @FieldDescription("防御学习力") + private @UInt long evDefence; + @FieldDescription("特攻学习力") + private @UInt long evSpecialAttack; + @FieldDescription("特防学习力") + private @UInt long evSpecialDefense; + @FieldDescription("速度学习力") + private @UInt long evSpeed; + @FieldDescription("技能个数") + private @UInt long skillSize; + @FieldDescription("32字节 技能信息 必须插入4条skillInfo,若技能信息为空则要赋值成0") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 8) + private List skillList; + @FieldDescription("捕捉时间") + private @UInt long catchTime; + @FieldDescription("捕捉地图") + private @UInt long catchMap; + @FieldDescription("未知默认为0") + private @UInt long catchRect; + @FieldDescription("捕获等级 默认为0") + private @UInt long catchLevel; + @FieldDescription("特性列表, 长度在头部以UShort存储") + @ArraySerialize(value = ArraySerializeType.LENGTH_FIRST, lengthType = LengthFieldType.UNSIGNED_SHORT) + private List effectInfo = new ArrayList<>(); + @FieldDescription("皮肤id默认为0") + private @UInt long skinID; + @FieldDescription("是不是闪") + private @UInt long shiny; +} diff --git a/common/core/info/pet/PetOneCureInboundInfo.java b/common/core/info/pet/PetOneCureInboundInfo.java new file mode 100644 index 000000000..54111c7ac --- /dev/null +++ b/common/core/info/pet/PetOneCureInboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Pet_One_Cure) +public class PetOneCureInboundInfo implements InboundMessage { + @FieldDescription("精灵捕捉时间") + private @UInt long catchTime; +} diff --git a/common/core/info/pet/PetOneCureOutboundInfo.java b/common/core/info/pet/PetOneCureOutboundInfo.java new file mode 100644 index 000000000..6b21aeb80 --- /dev/null +++ b/common/core/info/pet/PetOneCureOutboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_One_Cure) +public class PetOneCureOutboundInfo implements OutboundMessage { + @FieldDescription("精灵捕捉时间") + private @UInt long catchTime; +} diff --git a/common/core/info/pet/PetSetExpInboundInfo.go b/common/core/info/pet/PetSetExpInboundInfo.go new file mode 100644 index 000000000..66606e78b --- /dev/null +++ b/common/core/info/pet/PetSetExpInboundInfo.go @@ -0,0 +1,9 @@ +package pet + +// PetSetExpInboundInfo 宠物设置经验输入信息 +type PetSetExpInboundInfo struct { + // CatchTime 精灵获取时间 + CatchTime uint64 `json:"catchTime"` + // Exp 分配经验 + Exp uint64 `json:"exp"` +} diff --git a/common/core/info/pet/PetSetExpInboundInfo.java b/common/core/info/pet/PetSetExpInboundInfo.java new file mode 100644 index 000000000..dc5f8ac29 --- /dev/null +++ b/common/core/info/pet/PetSetExpInboundInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@AutoCodec +@Data +@InboundMessageType(MessageCommandIDRegistry.Pet_Set_Exp) +public class PetSetExpInboundInfo implements InboundMessage { + @FieldDescription("精灵获取时间") + private @UInt long catchTime; + @FieldDescription("分配经验") + private @UInt long exp; +} diff --git a/common/core/info/pet/PetSetExpOutboundInfo.go b/common/core/info/pet/PetSetExpOutboundInfo.go new file mode 100644 index 000000000..1013eb538 --- /dev/null +++ b/common/core/info/pet/PetSetExpOutboundInfo.go @@ -0,0 +1,7 @@ +package pet + +// PetSetExpOutboundInfo 宠物设置经验输出信息 +type PetSetExpOutboundInfo struct { + // Exp 剩余累计经验 + Exp uint64 `json:"exp"` +} diff --git a/common/core/info/pet/PetSetExpOutboundInfo.java b/common/core/info/pet/PetSetExpOutboundInfo.java new file mode 100644 index 000000000..e83617e32 --- /dev/null +++ b/common/core/info/pet/PetSetExpOutboundInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@AutoCodec +@Data +@Builder +@OutboundMessageType(MessageCommandIDRegistry.Pet_Set_Exp) +public class PetSetExpOutboundInfo implements OutboundMessage { + @FieldDescription("剩余累计经验") + private @UInt long exp; +} diff --git a/common/core/info/pet/PetShortInfo.java b/common/core/info/pet/PetShortInfo.java new file mode 100644 index 000000000..1250fa9e7 --- /dev/null +++ b/common/core/info/pet/PetShortInfo.java @@ -0,0 +1,24 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +@AutoCodec +@SuperBuilder +public class PetShortInfo{ + + @FieldDescription("精灵类型ID") + private @UInt long typeId; + @FieldDescription("精灵生成时间") + private @UInt long catchTime; + @FieldDescription("当前等级") + private @UInt long level; + @FieldDescription("精灵皮肤ID") + private @UInt long skinId; + @FieldDescription("是否为闪光") + private @UInt long isShiny; +} diff --git a/common/core/info/pet/PetShowInboundInfo.go b/common/core/info/pet/PetShowInboundInfo.go new file mode 100644 index 000000000..e5245d3aa --- /dev/null +++ b/common/core/info/pet/PetShowInboundInfo.go @@ -0,0 +1,7 @@ +package pet + +// PetShowInboundInfo 宠物展示输入信息 +type PetShowInboundInfo struct { + CatchTime uint64 `json:"catchTime"` // 捕捉时间 + Flag uint64 `json:"flag"` // 标志位 +} diff --git a/common/core/info/pet/PetShowInboundInfo.java b/common/core/info/pet/PetShowInboundInfo.java new file mode 100644 index 000000000..ff8c529f7 --- /dev/null +++ b/common/core/info/pet/PetShowInboundInfo.java @@ -0,0 +1,16 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Pet_Show) +public class PetShowInboundInfo implements InboundMessage { + private @UInt long catchTime; + private @UInt long flag; +} diff --git a/common/core/info/pet/PetShowOutboundInfo.go b/common/core/info/pet/PetShowOutboundInfo.go new file mode 100644 index 000000000..87b8d0815 --- /dev/null +++ b/common/core/info/pet/PetShowOutboundInfo.go @@ -0,0 +1,25 @@ +package pet + +// PetShowOutboundInfo 宠物展示输出信息 +type PetShowOutboundInfo struct { + // UserId 米米号 + UserId uint64 `json:"userId"` + // CatchTime 精灵获得的时间 + CatchTime uint64 `json:"catchTime"` + // PetId 精灵编号 + PetId uint64 `json:"petId"` + // Flag 1为显示 0为收回 + Flag uint64 `json:"flag"` + // Dv 个体 + Dv uint64 `json:"dv"` + // Shiny 闪 + Shiny uint64 `json:"shiny"` + // SkinID 皮肤id + SkinID uint64 `json:"skinID"` + // Reserved 填充字段 + Reserved uint64 `json:"reserved"` + // Reserved1 填充字段 + Reserved1 uint64 `json:"reserved1"` + // Reserved2 填充字段 + Reserved2 uint64 `json:"reserved2"` +} diff --git a/common/core/info/pet/PetShowOutboundInfo.java b/common/core/info/pet/PetShowOutboundInfo.java new file mode 100644 index 000000000..03a810370 --- /dev/null +++ b/common/core/info/pet/PetShowOutboundInfo.java @@ -0,0 +1,35 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_Show) +public class PetShowOutboundInfo implements OutboundMessage { + @FieldDescription("米米号") + private @UInt long UserID; + @FieldDescription("精灵获得的时间") + private @UInt long CatchTime; + @FieldDescription("精灵编号") + private @UInt long PetID; + @FieldDescription("1为显示 0为收回") + private @UInt long flag; + @FieldDescription("个体") + private @UInt long dv; + @FieldDescription("闪") + private @UInt long shiny; + @FieldDescription("皮肤id") + private @UInt long skinID; + @FieldDescription("填充字段") + private @UInt long reserved; + @FieldDescription("填充字段") + private @UInt long reserved1; + @FieldDescription("填充字段") + private @UInt long reserved2; +} diff --git a/common/core/info/pet/PetSkillSwitchInboundInfo.java b/common/core/info/pet/PetSkillSwitchInboundInfo.java new file mode 100644 index 000000000..d2545048b --- /dev/null +++ b/common/core/info/pet/PetSkillSwitchInboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.info.pet.skill.ChangeSkillInfo; + +@AutoCodec +@Data +@InboundMessageType(MessageCommandIDRegistry.Pet_Skill_Switch) +public class PetSkillSwitchInboundInfo implements InboundMessage { + private ChangeSkillInfo skillInfo; +} diff --git a/common/core/info/pet/PetSkillSwitchOutboundInfo.java b/common/core/info/pet/PetSkillSwitchOutboundInfo.java new file mode 100644 index 000000000..f7151a6a2 --- /dev/null +++ b/common/core/info/pet/PetSkillSwitchOutboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@AutoCodec +@Data +@Builder +@OutboundMessageType(MessageCommandIDRegistry.Pet_Skill_Switch) +public class PetSkillSwitchOutboundInfo implements OutboundMessage { + private @UInt long catchTime; +} diff --git a/common/core/info/pet/PetStudySkillInboundInfo.java b/common/core/info/pet/PetStudySkillInboundInfo.java new file mode 100644 index 000000000..98a55c4c0 --- /dev/null +++ b/common/core/info/pet/PetStudySkillInboundInfo.java @@ -0,0 +1,15 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.info.pet.skill.ChangeSkillInfo; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Pet_Study_Skill) +public class PetStudySkillInboundInfo implements InboundMessage { + private ChangeSkillInfo skillInfo; +} diff --git a/common/core/info/pet/PetStudySkillOutboundInfo.java b/common/core/info/pet/PetStudySkillOutboundInfo.java new file mode 100644 index 000000000..ed6387b41 --- /dev/null +++ b/common/core/info/pet/PetStudySkillOutboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_Study_Skill) +public class PetStudySkillOutboundInfo implements OutboundMessage { + private @UInt long catchTime; +} diff --git a/common/core/info/pet/PetUpdateOutboundInfo.java b/common/core/info/pet/PetUpdateOutboundInfo.java new file mode 100644 index 000000000..3c43c530e --- /dev/null +++ b/common/core/info/pet/PetUpdateOutboundInfo.java @@ -0,0 +1,23 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.util.List; + +@AutoCodec +@SuperBuilder +@Data +@OutboundMessageType(MessageCommandIDRegistry.Note_Update_Prop) +public class PetUpdateOutboundInfo implements OutboundMessage { + @FieldDescription("未知字段,默认为0") + private @UInt long addition; + @FieldDescription("更新数据") + private List data; +} diff --git a/common/core/info/pet/RoomPetInfoInboundInfo.java b/common/core/info/pet/RoomPetInfoInboundInfo.java new file mode 100644 index 000000000..f89230ae1 --- /dev/null +++ b/common/core/info/pet/RoomPetInfoInboundInfo.java @@ -0,0 +1,21 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@AutoCodec +@Data +@InboundMessageType(MessageCommandIDRegistry.Pet_Room) +public class RoomPetInfoInboundInfo implements InboundMessage { + + @FieldDescription("精灵所属主人的用户ID") + private @UInt long ownerID; + + @FieldDescription("精灵的捕获时间") + private @UInt long catchTime; +} diff --git a/common/core/info/pet/RoomPetInfoOutboundInfo.java b/common/core/info/pet/RoomPetInfoOutboundInfo.java new file mode 100644 index 000000000..747ab92e3 --- /dev/null +++ b/common/core/info/pet/RoomPetInfoOutboundInfo.java @@ -0,0 +1,54 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@AutoCodec +@Data +@OutboundMessageType(MessageCommandIDRegistry.Pet_Room) +public class RoomPetInfoOutboundInfo implements OutboundMessage { + + @FieldDescription("精灵所属主人的用户ID") + private @UInt long ownerID; // 与前端发送过来的包数据相同 + + @FieldDescription("精灵的捕获时间") + private @UInt long catchTime; // 与前端发送过来的包数据相同 + + @FieldDescription("精灵的类别ID") + public @UInt long id; + + @FieldDescription("精灵的性格id") + public @UInt long nature; + + @FieldDescription("精灵的等级") + public @UInt long lv; + + @FieldDescription("精灵的HP") + public @UInt long hp; + + @FieldDescription("精灵的攻击") + public @UInt long atk; + + @FieldDescription("精灵的防御") + public @UInt long def; + + @FieldDescription("精灵的特攻") + public @UInt long spatk; + + @FieldDescription("精灵的特防") + public @UInt long spdef; + + @FieldDescription("精灵的速度") + public @UInt long speed; + + @FieldDescription("填充字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 55) + public byte[] reserved = new byte[55]; +} diff --git a/common/core/info/pet/UpdatePropInfo.java b/common/core/info/pet/UpdatePropInfo.java new file mode 100644 index 000000000..466545b9a --- /dev/null +++ b/common/core/info/pet/UpdatePropInfo.java @@ -0,0 +1,49 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +@AutoCodec +@SuperBuilder +public class UpdatePropInfo { + @FieldDescription("精灵的捕获时间") + private @UInt long catchTime; + @FieldDescription("精灵id") + private @UInt long id; + @FieldDescription("精灵等级") + private @UInt long level; + @FieldDescription("已获得的总经验") + private @UInt long exp; + @FieldDescription("升到下一级所需总经验") + private @UInt long currentLevelExp; + @FieldDescription("到下一级升级所需的经验") + private @UInt long nextLvExp; + @FieldDescription("最大血量") + private @UInt long maxHp; + @FieldDescription("攻击") + private @UInt long attack; + @FieldDescription("防御") + private @UInt long defence; + @FieldDescription("特攻") + private @UInt long sa; + @FieldDescription("特防") + private @UInt long sd; + @FieldDescription("速度") + private @UInt long sp; + @FieldDescription("hp学习力") + private @UInt long ev_hp; + @FieldDescription("攻击学习力") + private @UInt long ev_a; + @FieldDescription("防御学习力") + private @UInt long ev_d; + @FieldDescription("特攻学习力") + private @UInt long ev_sa; + @FieldDescription("特防学习力") + private @UInt long ev_sd; + @FieldDescription("速度学习力") + private @UInt long ev_sp; +} diff --git a/common/core/info/pet/UpdateSkillInfo.java b/common/core/info/pet/UpdateSkillInfo.java new file mode 100644 index 000000000..8d572b09a --- /dev/null +++ b/common/core/info/pet/UpdateSkillInfo.java @@ -0,0 +1,21 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +import java.util.List; + +@SuperBuilder +@Data +public class UpdateSkillInfo { + @FieldDescription("精灵获得时间") + private @UInt long petCatchTime; + @FieldDescription("能直接放到精灵技能列表里的技能数量, 若没有剩余空闲技能格子则为0, 上限为3") + private @UInt long activeSkillNum; + @FieldDescription("填充格子后精灵还能学习的技能个数, 若学习技能数量小于剩余格子数则为0") + private @UInt long unActiveSkillNum; + @FieldDescription("精灵升级后新学习的技能id列表") + private List<@UInt Integer> skillArray; +} diff --git a/common/core/info/pet/UpdateSkillOutboundInfo.java b/common/core/info/pet/UpdateSkillOutboundInfo.java new file mode 100644 index 000000000..178179537 --- /dev/null +++ b/common/core/info/pet/UpdateSkillOutboundInfo.java @@ -0,0 +1,18 @@ +package org.nieo.seerproject.common.net.info.pet; + +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.util.List; + +@Data +@SuperBuilder +@OutboundMessageType(MessageCommandIDRegistry.Note_Update_Skill) +public class UpdateSkillOutboundInfo implements OutboundMessage { + @FieldDescription("更新技能数据") + private List infoArray; +} diff --git a/common/core/info/pet/bag/GetPetListInboundEmpty.java b/common/core/info/pet/bag/GetPetListInboundEmpty.java new file mode 100644 index 000000000..4a8ab9ff3 --- /dev/null +++ b/common/core/info/pet/bag/GetPetListInboundEmpty.java @@ -0,0 +1,13 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Get_Pet_List) +public class GetPetListInboundEmpty implements InboundMessage { +} diff --git a/common/core/info/pet/bag/GetPetListOutboundInfo.java b/common/core/info/pet/bag/GetPetListOutboundInfo.java new file mode 100644 index 000000000..a21850814 --- /dev/null +++ b/common/core/info/pet/bag/GetPetListOutboundInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.info.pet.PetShortInfo; + +import java.util.List; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Get_Pet_List) +public class GetPetListOutboundInfo implements OutboundMessage { + @FieldDescription("精灵摘要信息列表") + private List petShortInfo; +} diff --git a/common/core/info/pet/bag/PetDefaultInboundInfo.java b/common/core/info/pet/bag/PetDefaultInboundInfo.java new file mode 100644 index 000000000..163e33928 --- /dev/null +++ b/common/core/info/pet/bag/PetDefaultInboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Pet_Default) +public class PetDefaultInboundInfo implements InboundMessage { + @FieldDescription("精灵捕捉时间") + private @UInt long catchTime; +} diff --git a/common/core/info/pet/bag/PetDefaultOutboundInfo.java b/common/core/info/pet/bag/PetDefaultOutboundInfo.java new file mode 100644 index 000000000..176b00703 --- /dev/null +++ b/common/core/info/pet/bag/PetDefaultOutboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_Default) +public class PetDefaultOutboundInfo implements OutboundMessage { + @FieldDescription("0: 首发设置失败,1: 首发设置成功") + private @UInt long isDefault; +} diff --git a/common/core/info/pet/bag/PetReleaseInboundInfo.java b/common/core/info/pet/bag/PetReleaseInboundInfo.java new file mode 100644 index 000000000..98e40098a --- /dev/null +++ b/common/core/info/pet/bag/PetReleaseInboundInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@AutoCodec +@Data +@InboundMessageType(MessageCommandIDRegistry.Pet_Release) +public class PetReleaseInboundInfo implements InboundMessage { + @FieldDescription("精灵生成时间") + private @UInt long catchTime; + @FieldDescription("0为放入仓库,1为放入背包") + private @UInt long flag; +} diff --git a/common/core/info/pet/bag/PetReleaseOutboundInfo.java b/common/core/info/pet/bag/PetReleaseOutboundInfo.java new file mode 100644 index 000000000..c28b53299 --- /dev/null +++ b/common/core/info/pet/bag/PetReleaseOutboundInfo.java @@ -0,0 +1,29 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.info.pet.PetInfo; + +import java.util.List; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_Release) +public class PetReleaseOutboundInfo implements OutboundMessage { + @FieldDescription("暂定0") + private @UInt long homeEnergy; + @FieldDescription("精灵生成时间") + private @UInt long firstPetTime; + // @FieldDescription("0为放入仓库,1为放入背包") + // private @UInt long flag; + // petInfo 最大长度应该为1 + // 当flag为0时,放回仓库;当flag为1时,放回背包 + // 即:List长度为0时,表示放回仓库;长度为1时,表示放回背包 + @FieldDescription("精灵信息") + private List petInfo; +} diff --git a/common/core/info/pet/bag/PetRoweiInboundInfo.java b/common/core/info/pet/bag/PetRoweiInboundInfo.java new file mode 100644 index 000000000..f3ed391a1 --- /dev/null +++ b/common/core/info/pet/bag/PetRoweiInboundInfo.java @@ -0,0 +1,21 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Pet_Rowei) +public class PetRoweiInboundInfo implements InboundMessage { + + @FieldDescription("精灵类型ID") + private @UInt long typeId; + + @FieldDescription("精灵捕捉时间") + private @UInt long catchTime; +} diff --git a/common/core/info/pet/bag/PetRoweiListInboundEmpty.java b/common/core/info/pet/bag/PetRoweiListInboundEmpty.java new file mode 100644 index 000000000..149bee1ed --- /dev/null +++ b/common/core/info/pet/bag/PetRoweiListInboundEmpty.java @@ -0,0 +1,13 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Pet_Rowei_List) +public class PetRoweiListInboundEmpty implements InboundMessage { +} diff --git a/common/core/info/pet/bag/PetRoweiListOutboundInfo.java b/common/core/info/pet/bag/PetRoweiListOutboundInfo.java new file mode 100644 index 000000000..326b7506a --- /dev/null +++ b/common/core/info/pet/bag/PetRoweiListOutboundInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.info.pet.PetShortInfo; + +import java.util.List; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_Rowei_List) +public class PetRoweiListOutboundInfo implements OutboundMessage { + @FieldDescription("精灵摘要信息列表") + private List petShortInfo; +} diff --git a/common/core/info/pet/bag/PetRoweiOutboundEmpty.java b/common/core/info/pet/bag/PetRoweiOutboundEmpty.java new file mode 100644 index 000000000..f5058d81b --- /dev/null +++ b/common/core/info/pet/bag/PetRoweiOutboundEmpty.java @@ -0,0 +1,13 @@ +package org.nieo.seerproject.common.net.info.pet.bag; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_Rowei) +public class PetRoweiOutboundEmpty implements OutboundMessage { +} diff --git a/common/core/info/pet/skill/ChangeSkillInfo.java b/common/core/info/pet/skill/ChangeSkillInfo.java new file mode 100644 index 000000000..64f8ef76e --- /dev/null +++ b/common/core/info/pet/skill/ChangeSkillInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.pet.skill; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +public class ChangeSkillInfo { + @FieldDescription("精灵生成时间") + private @UInt long catchTime; + @FieldDescription("填充字段,默认为1") + private @UInt long reserved; + @FieldDescription("填充字段,默认为1") + private @UInt long reserved1; + @FieldDescription("拥有的技能id") + private @UInt long hasSkill; + @FieldDescription("替换技能的id") + private @UInt long replaceSkill; +} diff --git a/common/core/info/pet/skill/SkillInfo.go b/common/core/info/pet/skill/SkillInfo.go index 196410995..d6dc070ea 100644 --- a/common/core/info/pet/skill/SkillInfo.go +++ b/common/core/info/pet/skill/SkillInfo.go @@ -1,15 +1,11 @@ package skill -// SkillInfo 技能信息结构体 +// SkillInfo 技能基础信息 type SkillInfo struct { - ID uint32 // 技能id - PP uint32 // 剩余pp -} - -// NewSkillInfo 创建一个新的技能信息实例 -func NewSkillInfo(id, pp uint32) *SkillInfo { - return &SkillInfo{ - ID: id, - PP: pp, - } + // SkillId 技能ID + SkillId uint32 `json:"skillId"` + // Level 技能等级 + Level uint32 `json:"level"` + // Pp 技能PP值 + Pp uint32 `json:"pp"` } diff --git a/common/core/info/pet/skill/SkillInfo.java b/common/core/info/pet/skill/SkillInfo.java new file mode 100644 index 000000000..446197232 --- /dev/null +++ b/common/core/info/pet/skill/SkillInfo.java @@ -0,0 +1,16 @@ +package org.nieo.seerproject.common.net.info.pet.skill; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SkillInfo { + public @UInt long id; //技能id + public @UInt long pp; //剩余pp +} diff --git a/common/core/info/pet/soulBead/GetSoulBeadInboundInfo.java b/common/core/info/pet/soulBead/GetSoulBeadInboundInfo.java new file mode 100644 index 000000000..e87eb4a42 --- /dev/null +++ b/common/core/info/pet/soulBead/GetSoulBeadInboundInfo.java @@ -0,0 +1,14 @@ +package org.nieo.seerproject.common.net.info.pet.soulBead; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +import javax.annotation.Nonnull; + +@Data +@InboundMessageType(MessageCommandIDRegistry.Get_Soul_Bead_List) +public class GetSoulBeadInboundInfo implements InboundMessage { + public static final @Nonnull GetSoulBeadInboundInfo INSTANCE = new GetSoulBeadInboundInfo(); +} diff --git a/common/core/info/pet/soulBead/GetSoulBeadOutboundInfo.java b/common/core/info/pet/soulBead/GetSoulBeadOutboundInfo.java new file mode 100644 index 000000000..f7dabb22a --- /dev/null +++ b/common/core/info/pet/soulBead/GetSoulBeadOutboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.pet.soulBead; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +import java.util.ArrayList; +import java.util.List; + +@Data +@OutboundMessageType(MessageCommandIDRegistry.Get_Soul_Bead_List) +public class GetSoulBeadOutboundInfo implements OutboundMessage { + @FieldDescription("元神珠信息") + private List soulBeadList = new ArrayList<>(); +} diff --git a/common/core/info/pet/soulBead/SoulBeadItemInfo.java b/common/core/info/pet/soulBead/SoulBeadItemInfo.java new file mode 100644 index 000000000..a1153cf5e --- /dev/null +++ b/common/core/info/pet/soulBead/SoulBeadItemInfo.java @@ -0,0 +1,14 @@ +package org.nieo.seerproject.common.net.info.pet.soulBead; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +@FieldDescription("元神珠信息") +public class SoulBeadItemInfo { + @FieldDescription("获得时间") + private @UInt long obtainTime; + @FieldDescription("物品ID") + private @UInt long itemId; +} diff --git a/common/core/info/team/TeamInfo.java b/common/core/info/team/TeamInfo.java new file mode 100644 index 000000000..bfd793f99 --- /dev/null +++ b/common/core/info/team/TeamInfo.java @@ -0,0 +1,22 @@ +package org.nieo.seerproject.common.net.info.team; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +@SuppressWarnings("SpellCheckingInspection") +public class TeamInfo { + @FieldDescription("默认值0") + private @UInt long id; + @FieldDescription("默认值1") + private @UInt long priv = 1; + @FieldDescription("默认值1") + private @UInt long superCore = 1; + @FieldDescription("默认值1") + private @UInt long isShow = 1; + @FieldDescription("默认值1") + private @UInt long allContribution = 1; + @FieldDescription("默认值1") + private @UInt long canExContribution = 1; +} diff --git a/common/core/info/team/TeamPKInfo.java b/common/core/info/team/TeamPKInfo.java new file mode 100644 index 000000000..40f307708 --- /dev/null +++ b/common/core/info/team/TeamPKInfo.java @@ -0,0 +1,13 @@ +package org.nieo.seerproject.common.net.info.team; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.serialize.UInt; + +@Data +public class TeamPKInfo { + @FieldDescription("默认值1") + private @UInt long groupID = 1; + @FieldDescription("默认值1") + private @UInt long homeTeamID = 1; +} diff --git a/common/core/info/user/ChangePlayerClothInboundInfo.java b/common/core/info/user/ChangePlayerClothInboundInfo.java new file mode 100644 index 000000000..d14dd7975 --- /dev/null +++ b/common/core/info/user/ChangePlayerClothInboundInfo.java @@ -0,0 +1,18 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +import java.util.List; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Change_Cloth) +public class ChangePlayerClothInboundInfo implements InboundMessage { + @FieldDescription("玩家装备列表") + private List clothIds; +} diff --git a/common/core/info/user/ChangePlayerClothOutboundInfo.java b/common/core/info/user/ChangePlayerClothOutboundInfo.java new file mode 100644 index 000000000..d3ed189c3 --- /dev/null +++ b/common/core/info/user/ChangePlayerClothOutboundInfo.java @@ -0,0 +1,24 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Data; +import lombok.experimental.SuperBuilder; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.info.item.PeopleItemInfo; + +import java.util.List; + +@Data +@AutoCodec +@SuperBuilder +@OutboundMessageType(MessageCommandIDRegistry.Change_Cloth) +public class ChangePlayerClothOutboundInfo implements OutboundMessage { + @FieldDescription("玩家id") + private @UInt long userId; + @FieldDescription("玩家装备列表") + private List clothList; +} diff --git a/common/core/info/user/ChangePlayerNameInboundInfo.java b/common/core/info/user/ChangePlayerNameInboundInfo.java new file mode 100644 index 000000000..5952c0d63 --- /dev/null +++ b/common/core/info/user/ChangePlayerNameInboundInfo.java @@ -0,0 +1,21 @@ +package org.nieo.seerproject.common.net.info.user; + + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; + +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Change_Nick_Name) +public class ChangePlayerNameInboundInfo implements InboundMessage { + @FieldDescription("修改的玩家名字") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String newPlayerName; +} diff --git a/common/core/info/user/ChangePlayerNameOutboundInfo.java b/common/core/info/user/ChangePlayerNameOutboundInfo.java new file mode 100644 index 000000000..e697abf58 --- /dev/null +++ b/common/core/info/user/ChangePlayerNameOutboundInfo.java @@ -0,0 +1,25 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + + +@Data +@Builder +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Change_Nick_Name) +public class ChangePlayerNameOutboundInfo implements OutboundMessage { + @FieldDescription("米米号") + private @UInt long userId; + @FieldDescription("修改的玩家名字") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String changeName; +} diff --git a/common/core/info/user/GetPetExpInboundInfo.java b/common/core/info/user/GetPetExpInboundInfo.java new file mode 100644 index 000000000..d7303f89c --- /dev/null +++ b/common/core/info/user/GetPetExpInboundInfo.java @@ -0,0 +1,11 @@ +package org.nieo.seerproject.common.net.info.user; + +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Pet_Get_Exp) +public class GetPetExpInboundInfo implements InboundMessage { +} diff --git a/common/core/info/user/GetPetExpOutboundInfo.java b/common/core/info/user/GetPetExpOutboundInfo.java new file mode 100644 index 000000000..5324b9099 --- /dev/null +++ b/common/core/info/user/GetPetExpOutboundInfo.java @@ -0,0 +1,19 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Data +@Builder +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Pet_Get_Exp) +public class GetPetExpOutboundInfo implements OutboundMessage { + @FieldDescription("剩余累计经验") + private @UInt long exp; +} diff --git a/common/core/info/user/GoldOnlineRemainInboundInfo.java b/common/core/info/user/GoldOnlineRemainInboundInfo.java new file mode 100644 index 000000000..ce1c40195 --- /dev/null +++ b/common/core/info/user/GoldOnlineRemainInboundInfo.java @@ -0,0 +1,14 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +import javax.annotation.Nonnull; + +@Data +@InboundMessageType(MessageCommandIDRegistry.Gold_Online_Check_Remain) +public class GoldOnlineRemainInboundInfo implements InboundMessage { + public static final @Nonnull GoldOnlineRemainInboundInfo INSTANCE = new GoldOnlineRemainInboundInfo(); +} diff --git a/common/core/info/user/GoldOnlineRemainOutboundInfo.java b/common/core/info/user/GoldOnlineRemainOutboundInfo.java new file mode 100644 index 000000000..324865069 --- /dev/null +++ b/common/core/info/user/GoldOnlineRemainOutboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; + +@Builder +@Data +@OutboundMessageType(MessageCommandIDRegistry.Gold_Online_Check_Remain) +public class GoldOnlineRemainOutboundInfo implements OutboundMessage { + @FieldDescription("金豆数量, 后端返回实际数量需要*100") + private @UInt long goldNumber; +} diff --git a/common/core/info/user/MoreUserInfoInboundInfo.java b/common/core/info/user/MoreUserInfoInboundInfo.java new file mode 100644 index 000000000..6490a4515 --- /dev/null +++ b/common/core/info/user/MoreUserInfoInboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Get_More_UserInfo) +public class MoreUserInfoInboundInfo implements InboundMessage { + @FieldDescription("米米号") + private @UInt long userId; +} diff --git a/common/core/info/user/MoreUserInfoOutboundInfo.java b/common/core/info/user/MoreUserInfoOutboundInfo.java new file mode 100644 index 000000000..dbd58743b --- /dev/null +++ b/common/core/info/user/MoreUserInfoOutboundInfo.java @@ -0,0 +1,44 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Builder +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Get_More_UserInfo) +public class MoreUserInfoOutboundInfo implements OutboundMessage { + @FieldDescription("米米号") + private @UInt long userID; + @FieldDescription("昵称 补齐16字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String nick; + @FieldDescription("注册时间 时间戳 按秒") + private @UInt long registerTime; + @FieldDescription("所有精灵数量") + private @UInt long petAllNum; + @FieldDescription("精灵最大等级") + private @UInt long petMaxLev; + @FieldDescription("spt boos成就 20字节 以任务状态完成 3为击败该boss, 目前spt只有12个, 剩下的长度以3填充") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 20) + @Builder.Default + private byte[] bossAchievement = new byte[20]; + @FieldDescription("教官成绩") + private @UInt long graduationCount; + @FieldDescription("精灵王胜场") + private @UInt long monKingWin; + @FieldDescription("大乱斗胜场") + private @UInt long messWin; + @FieldDescription("勇者之塔层数") + private @UInt long maxStage; + @FieldDescription("星际擂台胜场") + private @UInt long maxArenaWins; +} diff --git a/common/core/info/user/SimUserInfoInboundInfo.java b/common/core/info/user/SimUserInfoInboundInfo.java new file mode 100644 index 000000000..6113bf9b7 --- /dev/null +++ b/common/core/info/user/SimUserInfoInboundInfo.java @@ -0,0 +1,17 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.InboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.InboundMessage; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; + +@Data +@AutoCodec +@InboundMessageType(MessageCommandIDRegistry.Get_Sim_UserInfo) +public class SimUserInfoInboundInfo implements InboundMessage { + @FieldDescription("米米号") + private @UInt long userId; +} diff --git a/common/core/info/user/SimUserInfoOutboundInfo.java b/common/core/info/user/SimUserInfoOutboundInfo.java new file mode 100644 index 000000000..d8d8ffb69 --- /dev/null +++ b/common/core/info/user/SimUserInfoOutboundInfo.java @@ -0,0 +1,57 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.info.item.PeopleItemInfo; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +import java.util.ArrayList; +import java.util.List; + +@Builder +@Data +@AutoCodec +@OutboundMessageType(MessageCommandIDRegistry.Get_Sim_UserInfo) +public class SimUserInfoOutboundInfo implements OutboundMessage { + @FieldDescription("米米号") + private @UInt long userid; + @FieldDescription("昵称 16字节") + @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) + private String nick; + @FieldDescription("rgb颜色") + private @UInt long color; + @FieldDescription("纹理 0") + private @UInt long texture; + @FieldDescription("默认值 1 位置") + private @UInt long vip; + @FieldDescription("默认值0 未知") + private @UInt long status; + @FieldDescription("地图类型 进入地图包传入的字段") + private @UInt long mapType; + @FieldDescription("地图id") + private @UInt long mapID; + @FieldDescription("能不能做教官") + private @UInt long isCanBeTeacher; + @FieldDescription("教官id") + private @UInt long teacherID; + @FieldDescription("学生id") + private @UInt long studentID; + @FieldDescription("教官成绩") + private @UInt long graduationCount; + @FieldDescription("vip等级 8") + private @UInt long vipLevel; + @FieldDescription("战队id") + private @UInt long teamId; + @FieldDescription("有没有跟随的精灵") + private @UInt long isShow; + @FieldDescription("穿戴装备") + @Builder.Default + private List clothes = new ArrayList<>(); +} diff --git a/common/core/info/user/SystemMessageOutboundInfo.java b/common/core/info/user/SystemMessageOutboundInfo.java new file mode 100644 index 000000000..1ed8a5830 --- /dev/null +++ b/common/core/info/user/SystemMessageOutboundInfo.java @@ -0,0 +1,29 @@ +package org.nieo.seerproject.common.net.info.user; + +import lombok.Builder; +import lombok.Data; +import org.nieo.seerproject.common.annotations.FieldDescription; +import org.nieo.seerproject.common.annotations.OutboundMessageType; +import org.nieo.seerproject.common.annotations.serialize.ArraySerialize; +import org.nieo.seerproject.common.annotations.serialize.AutoCodec; +import org.nieo.seerproject.common.annotations.serialize.UInt; +import org.nieo.seerproject.common.annotations.serialize.UShort; +import org.nieo.seerproject.common.net.MessageCommandIDRegistry; +import org.nieo.seerproject.common.net.OutboundMessage; +import org.nieo.seerproject.common.net.serialize.ArraySerializeType; + +@Data +@AutoCodec +@Builder +@OutboundMessageType(MessageCommandIDRegistry.System_Message) +public class SystemMessageOutboundInfo implements OutboundMessage { + @FieldDescription("参数未知默认为0") + private @UShort short type; + @FieldDescription("npc的id 0无npc 1船长 7博士") + private @UShort short npc; + @FieldDescription("消息时间, 当前的时间戳") + private @UInt long msgTime; + @FieldDescription("消息体") + @ArraySerialize(value = ArraySerializeType.LENGTH_FIRST) + private String msg; +} diff --git a/common/go.mod b/common/go.mod index 207f416ac..0b9c395f2 100644 --- a/common/go.mod +++ b/common/go.mod @@ -16,6 +16,7 @@ require ( github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/google/uuid v1.6.0 github.com/gorilla/websocket v1.5.0 // indirect github.com/grokify/html-strip-tags-go v0.0.1 // indirect github.com/magiconair/properties v1.8.6 // indirect diff --git a/common/go.sum b/common/go.sum index c4612d3ca..37e0bde4f 100644 --- a/common/go.sum +++ b/common/go.sum @@ -20,6 +20,8 @@ github.com/gogf/gf/contrib/nosql/redis/v2 v2.6.3/go.mod h1:2+evGu1xAlamaYuDdSqa7 github.com/gogf/gf/v2 v2.6.3 h1:DoqeuwU98wotpFoDSQEx8RZbmJdK8KdGiJtzJeqpyIo= github.com/gogf/gf/v2 v2.6.3/go.mod h1:x2XONYcI4hRQ/4gMNbWHmZrNzSEIg20s2NULbzom5k0= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grokify/html-strip-tags-go v0.0.1 h1:0fThFwLbW7P/kOiTBs03FsJSV9RM2M/Q/MOnCQxKMo0= diff --git a/modules/dict/README.MD b/modules/dict/README.MD deleted file mode 100644 index 659fc40c2..000000000 --- a/modules/dict/README.MD +++ /dev/null @@ -1,11 +0,0 @@ -# dict -字典模块 - - -## 资源打包命令 - - -```bash -gf pack modules/dict/resource modules/dict/packed/packed.go -p modules/dict/resource -``` -