using System.Collections.Generic; namespace MinecraftClient { /// /// The type of an achievement or advancement. /// public enum AchievementType { Task, Challenge, Goal, Legacy } /// /// Represents a Minecraft achievement (pre-1.12) or advancement (1.12+). /// /// Resource identifier, e.g. "minecraft:story/root" or "achievement.openInventory" /// Display title (null for legacy achievements without display info) /// Display description (null for legacy achievements without display info) /// The frame type / achievement category /// Whether this advancement is hidden in the UI /// Whether all requirements have been met /// OR-groups of criterion names; all groups must be satisfied /// Per-criterion completion status public record Achievement( string Id, string? Title, string? Description, AchievementType Type, bool IsHidden, bool IsCompleted, IReadOnlyList> Requirements, IReadOnlyDictionary CriteriaProgress); }