Files
Grasscutter/src/main/java/emu/grasscutter/server/packet/send/PacketAvatarTeamUpdateNotify.java
T
2023-04-18 17:17:55 -04:00

37 lines
1.3 KiB
Java

package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarTeamUpdateNotifyOuterClass.AvatarTeamUpdateNotify;
public class PacketAvatarTeamUpdateNotify extends BasePacket {
public PacketAvatarTeamUpdateNotify(Player player) {
super(PacketOpcodes.AvatarTeamUpdateNotify);
AvatarTeamUpdateNotify.Builder proto = AvatarTeamUpdateNotify.newBuilder();
var teamManager = player.getTeamManager();
if (teamManager.isUsingTrialTeam()) {
proto.addAllTempAvatarGuidList(
teamManager.getActiveTeam().stream()
.map(entity -> entity.getAvatar().getGuid())
.toList());
} else {
teamManager
.getTeams()
.forEach((key, value) -> proto.putAvatarTeamMap(key, value.toProto(player)));
}
this.setData(proto);
}
/** Used for locking/unlocking team modification. */
public PacketAvatarTeamUpdateNotify() {
super(PacketOpcodes.AvatarTeamUpdateNotify);
this.setData(AvatarTeamUpdateNotify.newBuilder().build());
}
}