content: 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.ChatInfoOuterClass.ChatInfo;
  import emu.grasscutter.net.proto.PlayerChatNotifyOuterClass.PlayerChatNotify;
  
  public class PacketPlayerChatNotify extends BasePacket {
  
  	public PacketPlayerChatNotify(Player sender, int channelId, String message) {
  		super(PacketOpcodes.PlayerChatNotify);
  
  		ChatInfo info = ChatInfo.newBuilder()
  				.setTime((int) (System.currentTimeMillis() / 1000))
  				.setUid(sender.getUid())
  				.setText(message)
  				.build();
  
  		PlayerChatNotify proto = PlayerChatNotify.newBuilder()
  				.setChannelId(channelId)
  				.setChatInfo(info)
  				.build();
  
  		this.setData(proto);
  	}
  
  	public PacketPlayerChatNotify(Player sender, int channelId, int emote) {
  		super(PacketOpcodes.PlayerChatNotify);
  
  		ChatInfo info = ChatInfo.newBuilder()
  				.setTime((int) (System.currentTimeMillis() / 1000))
  				.setUid(sender.getUid())
  				.setIcon(emote)
  				.build();
  
  		PlayerChatNotify proto = PlayerChatNotify.newBuilder()
  				.setChannelId(channelId)
  				.setChatInfo(info)
  				.build();
  
  		this.setData(proto);
  	}
  
  	public PacketPlayerChatNotify(Player sender, int channelId, ChatInfo.SystemHint systemHint) {
  		super(PacketOpcodes.PlayerChatNotify);
  
  		ChatInfo info = ChatInfo.newBuilder()
  				.setTime((int) (System.currentTimeMillis() / 1000))
  				.setUid(sender.getUid())
  				.setSystemHint(systemHint)
  				.build();
  
  		PlayerChatNotify proto = PlayerChatNotify.newBuilder()
  				.setChannelId(channelId)
  				.setChatInfo(info)
  				.build();
  
  		this.setData(proto);
  	}
  }
  