using System; using System.Numerics; namespace PCL.Core.Minecraft.Saves; /// /// 存档核心数据模型 —— 不可变记录,由解析器从 level.dat 中提取。 /// 调用方通过 获取此对象。 /// public sealed record SaveInfo { /// 世界名称。 public required string LevelName { get; init; } /// 最后保存此存档的游戏版本名(如 "1.20.4")。 public string? VersionName { get; init; } /// 最后保存此存档的游戏数据版本号(对应 Data.Version.Id)。 public int? VersionId { get; init; } /// 世界种子。 public long? Seed { get; init; } /// 最后游玩时间(UTC)。 public DateTime LastPlayedUtc { get; init; } /// 出生点坐标 (X, Y, Z)。 public Vector3? Spawn { get; init; } /// 游戏模式。Hardcore 通过 IsHardcore 字段表示。 public GameMode GameMode { get; init; } /// 游戏难度。1.3.1 之前的存档中可能为 null。 public Difficulty? Difficulty { get; init; } /// 难度是否已锁定。 public bool IsDifficultyLocked { get; init; } /// 是否为极限模式。 public bool IsHardcore { get; init; } /// 是否允许作弊命令。 public bool AllowCommands { get; init; } /// 累计游戏时间。 public TimeSpan PlayTime { get; init; } /// 存档文件夹的绝对路径。 public required string FolderPath { get; init; } /// 存档文件夹的创建时间(UTC)。 public DateTime CreatedAt { get; init; } /// level.dat 的最后修改时间(UTC)。 public DateTime ModifiedAt { get; init; } }