package emu.grasscutter.server.packet.send; import emu.grasscutter.game.expedition.ExpeditionInfo; import emu.grasscutter.net.packet.BasePacket; import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.proto.AvatarExpeditionAllDataRspOuterClass.AvatarExpeditionAllDataRsp; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class PacketAvatarExpeditionAllDataRsp extends BasePacket { public PacketAvatarExpeditionAllDataRsp( Map expeditionInfo, int expeditionCountLimit) { super(PacketOpcodes.AvatarExpeditionAllDataRsp); var openExpeditionList = List.of( 306, 305, 304, 303, 302, 301, 206, 105, 204, 104, 203, 103, 202, 101, 102, 201, 106, 205, 401, 402, 403, 404, 405, 406); this.setData( AvatarExpeditionAllDataRsp.newBuilder() .addAllOpenExpeditionList(openExpeditionList) .setExpeditionCountLimit(expeditionCountLimit) .putAllExpeditionInfoMap( expeditionInfo.entrySet().stream() .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue().toProto()))) .build()); } }