using System.Collections.Generic;
namespace MinecraftClient.Mapping
{
///
/// Represents a Minecraft scoreboard team and its current state.
///
public class PlayerTeam
{
/// Team internal name (up to 16 chars)
public string Name { get; set; } = string.Empty;
/// Display name component (formatted text)
public string DisplayName { get; set; } = string.Empty;
/// Friendly fire is allowed between team members
public bool AllowFriendlyFire { get; set; }
/// Team members can see invisible teammates
public bool SeeFriendlyInvisibles { get; set; }
///
/// Nametag visibility rule.
/// Values: "always", "hideForOtherTeams", "hideForOwnTeam", "never"
///
public string NameTagVisibility { get; set; } = string.Empty;
///
/// Collision rule.
/// Values: "always", "pushOtherTeams", "pushOwnTeam", "never"
///
public string CollisionRule { get; set; } = string.Empty;
///
/// Team color as ChatFormatting enum ordinal (-1 = RESET/none,
/// 0–15 = BLACK … WHITE).
///
public int Color { get; set; } = -1;
/// Prefix displayed before member names (formatted text)
public string Prefix { get; set; } = string.Empty;
/// Suffix displayed after member names (formatted text)
public string Suffix { get; set; } = string.Empty;
/// Current set of player / entity names on this team
public HashSet Members { get; } = new(System.StringComparer.OrdinalIgnoreCase);
}
}