content: package emu.grasscutter.server.packet.recv;
  
  import emu.grasscutter.game.quest.enums.QuestTrigger;
  import emu.grasscutter.net.packet.Opcodes;
  import emu.grasscutter.net.packet.PacketOpcodes;
  import emu.grasscutter.net.proto.ChangeGameTimeReqOuterClass.ChangeGameTimeReq;
  import emu.grasscutter.net.packet.PacketHandler;
  import emu.grasscutter.server.game.GameSession;
  import emu.grasscutter.server.packet.send.PacketChangeGameTimeRsp;
  
  @Opcodes(PacketOpcodes.ChangeGameTimeReq)
  public class HandlerChangeGameTimeReq extends PacketHandler {
  
  	@Override
  	public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
  		ChangeGameTimeReq req = ChangeGameTimeReq.parseFrom(payload);
  
  		session.getPlayer().getScene().changeTime(req.getGameTime());
          session.getPlayer().getQuestManager().triggerEvent(QuestTrigger.QUEST_CONTENT_GAME_TIME_TICK,
              req.getGameTime() / 60 , // hours
              req.getExtraDays()); //days
  		session.getPlayer().sendPacket(new PacketChangeGameTimeRsp(session.getPlayer()));
  	}
  
  }
  