mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-16 12:02:37 +08:00
cb03b654bc
Send mail command now works from console (to use it from console change the uuid in the 'SendMailCommand' file
52 lines
2.1 KiB
Java
52 lines
2.1 KiB
Java
package emu.grasscutter.server.packet.send;
|
|
|
|
|
|
import emu.grasscutter.game.GenshinPlayer;
|
|
import emu.grasscutter.game.Mail;
|
|
import emu.grasscutter.net.packet.GenshinPacket;
|
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
|
import emu.grasscutter.net.proto.*;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class PacketMailChangeNotify extends GenshinPacket {
|
|
|
|
public PacketMailChangeNotify(GenshinPlayer player, Mail message) {
|
|
super(PacketOpcodes.MailChangeNotify);
|
|
|
|
MailChangeNotifyOuterClass.MailChangeNotify.Builder proto = MailChangeNotifyOuterClass.MailChangeNotify.newBuilder();
|
|
|
|
MailTextContentOuterClass.MailTextContent.Builder mailTextContent = MailTextContentOuterClass.MailTextContent.newBuilder();
|
|
mailTextContent.setTitle(message.mailContent.title);
|
|
mailTextContent.setContent(message.mailContent.content);
|
|
mailTextContent.setSender(message.mailContent.sender);
|
|
|
|
List<MailItemOuterClass.MailItem> mailItems = new ArrayList<MailItemOuterClass.MailItem>();
|
|
|
|
for(Mail.MailItem item : message.itemList) {
|
|
MailItemOuterClass.MailItem.Builder mailItem = MailItemOuterClass.MailItem.newBuilder();
|
|
ItemParamOuterClass.ItemParam.Builder itemParam = ItemParamOuterClass.ItemParam.newBuilder();
|
|
itemParam.setItemId(item.itemId);
|
|
itemParam.setCount(item.itemCount);
|
|
mailItem.setItemParam(itemParam.build());
|
|
|
|
mailItems.add(mailItem.build());
|
|
}
|
|
|
|
MailDataOuterClass.MailData.Builder mailData = MailDataOuterClass.MailData.newBuilder();
|
|
mailData.setMailId(message._id);
|
|
mailData.setMailTextContent(mailTextContent.build());
|
|
mailData.addAllItemList(mailItems);
|
|
mailData.setSendTime((int)message.sendTime);
|
|
mailData.setExpireTime((int)message.expireTime);
|
|
mailData.setImportance(message.importance);
|
|
mailData.setIsRead(false);
|
|
mailData.setIsAttachmentGot(false);
|
|
mailData.setStateValue(message.stateValue);
|
|
|
|
proto.addMailList(mailData.build());
|
|
|
|
this.setData(proto.build());
|
|
}
|
|
} |