mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2026-08-15 13:04:36 +00:00
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/9db483a8-4a5f-47b1-a6f4-30b6e39075bd Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
36 lines
1.4 KiB
C#
36 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace MinecraftClient
|
|
{
|
|
/// <summary>
|
|
/// The type of an achievement or advancement.
|
|
/// </summary>
|
|
public enum AchievementType
|
|
{
|
|
Task,
|
|
Challenge,
|
|
Goal,
|
|
Legacy
|
|
}
|
|
|
|
/// <summary>
|
|
/// Represents a Minecraft achievement (pre-1.12) or advancement (1.12+).
|
|
/// </summary>
|
|
/// <param name="Id">Resource identifier, e.g. "minecraft:story/root" or "achievement.openInventory"</param>
|
|
/// <param name="Title">Display title (null for legacy achievements without display info)</param>
|
|
/// <param name="Description">Display description (null for legacy achievements without display info)</param>
|
|
/// <param name="Type">The frame type / achievement category</param>
|
|
/// <param name="IsHidden">Whether this advancement is hidden in the UI</param>
|
|
/// <param name="IsCompleted">Whether all requirements have been met</param>
|
|
/// <param name="Requirements">OR-groups of criterion names; all groups must be satisfied</param>
|
|
/// <param name="CriteriaProgress">Per-criterion completion status</param>
|
|
public record Achievement(
|
|
string Id,
|
|
string? Title,
|
|
string? Description,
|
|
AchievementType Type,
|
|
bool IsHidden,
|
|
bool IsCompleted,
|
|
IReadOnlyList<IReadOnlyList<string>> Requirements,
|
|
IReadOnlyDictionary<string, bool> CriteriaProgress);
|
|
}
|