refactor(common): 重构宠物相关信息结构

- 修改 PetInfo 和 PetEffectInfo 结构体,统一字段命名规范
- 更新 SkillInfo 结构体,增加技能等级字段
- 删除未使用的 LoginUserInfo 和 ServerInfo 结构体
- 引入 google/uuid 包,用于后续可能的唯一标识生成
This commit is contained in:
2025-06-22 12:32:19 +08:00
parent 720294ad27
commit f081150178
139 changed files with 3065 additions and 87 deletions

View File

@@ -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<Integer> clothIds;
}

View File

@@ -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<PeopleItemInfo> clothList;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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 {
}

View File

@@ -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;
}

View File

@@ -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();
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<PeopleItemInfo> clothes = new ArrayList<>();
}

View File

@@ -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;
}