Class Team

All Implemented Interfaces:
Identifiable, Named, ScoreHolder

public class Team extends AbstractEntity implements Named, ScoreHolder
Représente une équipe de joueurs. Aggregate mutable : ajout / retrait de membres, transfert de leadership, mise à jour de visibilité, des scores nommés, et du point de spawn passent par les méthodes de cette classe.

L'identité d'une équipe est son UUID (AbstractEntity.getId()). Deux Team avec le même UUID sont égales, quel que soit le reste de leur état.

Implémente Named (a un nom) et ScoreHolder (porte des scores nommés). Hérite de AbstractEntity pour l'identité.

Toutes les modifications passent normalement par le TeamService, qui orchestre persistance + hooks + évènements Bukkit. Modifier une instance directement (ex. team.addMember(...)) court-circuite la persistance.