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);
}