package emu.grasscutter.server.packet.send; import java.util.Map.Entry; import emu.grasscutter.game.avatar.Avatar; import emu.grasscutter.game.player.Player; import emu.grasscutter.game.player.TeamInfo; import emu.grasscutter.net.packet.BasePacket; import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.proto.AvatarTeamOuterClass.AvatarTeam; import emu.grasscutter.net.proto.AvatarTeamUpdateNotifyOuterClass.AvatarTeamUpdateNotify; public class PacketAvatarTeamUpdateNotify extends BasePacket { public PacketAvatarTeamUpdateNotify(Player player) { super(PacketOpcodes.AvatarTeamUpdateNotify); AvatarTeamUpdateNotify.Builder proto = AvatarTeamUpdateNotify.newBuilder(); for (Entry entry : player.getTeamManager().getTeams().entrySet()) { TeamInfo teamInfo = entry.getValue(); AvatarTeam.Builder avatarTeam = AvatarTeam.newBuilder() .setTeamName(teamInfo.getName()); for (int i = 0; i < teamInfo.getAvatars().size(); i++) { Avatar avatar = player.getAvatars().getAvatarById(teamInfo.getAvatars().get(i)); avatarTeam.addAvatarGuidList(avatar.getGuid()); } proto.putAvatarTeamMap(entry.getKey(), avatarTeam.build()); } this.setData(proto); } }