private void Initialize(int protocolVersion) { this.dataTypes = new DataTypes(protocolVersion); this.packetType = new PacketTypeHandler().GetTypeHandler(protocolVersion); this.protocolVersion = protocolVersion; if (!Directory.Exists(ReplayFileDirectory)) { Directory.CreateDirectory(ReplayFileDirectory); } if (!Directory.Exists(temporaryCache)) { Directory.CreateDirectory(temporaryCache); } recordStream = new BinaryWriter(new FileStream(Path.Combine(temporaryCache, recordingTmpFileName), FileMode.Create, FileAccess.ReadWrite)); recordStartTime = DateTime.Now; MetaData = new MetaDataHandler(); MetaData.date = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalMilliseconds; MetaData.protocol = protocolVersion; MetaData.mcversion = ProtocolHandler.ProtocolVersion2MCVer(protocolVersion); MetaData.SaveToFile(); playerLastPosition = new Location(0, 0, 0); WriteLog("Start recording."); }