Class YamlTeamConfigService
java.lang.Object
fr.luc.crcore.features.team.config.impl.YamlTeamConfigService
- All Implemented Interfaces:
TeamConfigService
Impl YAML par défaut : charge le fichier
<plugin>-team-config.yml
en mémoire, persiste les modifs globales avec
FileConfiguration.save(File), et délègue le per-team au stockage
dans Team.getSettings() (persisté par TeamRepository).
Pattern identique à YamlMessagesService et
YamlBroadcastService : defaults bundlés dans le jar
(crcore-team-config.yml), fichier user créé au premier boot
(template du plugin de jeu en priorité s'il en bundle un, sinon defaults).
Les valeurs globales sont stockées en Object dans la map
globalValues, parsées à la lecture via
TeamSetting.parse(Object).
-
Constructor Summary
ConstructorsConstructorDescriptionYamlTeamConfigService(org.bukkit.plugin.java.JavaPlugin plugin, TeamRepository teamRepository) -
Method Summary
Modifier and TypeMethodDescription<T> Tget(Team team, TeamSetting<T> setting) Récupère la valeur effective d'un setting pour une équipe (cascade per-team → global → default).<T> TgetGlobal(TeamSetting<T> setting) Récupère la valeur globale d'un setting (cascade global → default, sans per-team).Chemin du fichier YAML global (informationnel).Map<TeamSetting<?>, Object> Snapshot des valeurs globales actuelles (déjà parsées).booleanhasPerTeamOverride(Team team, TeamSetting<?> setting) Indique si une équipe a un override pour cette clé (utile pour l'affichage GUI : « hérité du global » vs « override »).voidreload()Recharge le fichier global depuis le disque.voidresetPerTeam(Team team, TeamSetting<?> setting) Supprime l'override per-team pour une clé donnée — la team retombe sur la valeur globale.<T> voidsetGlobal(TeamSetting<T> setting, T value) Définit une valeur globale et persiste le fichier YAML<plugin>-team-config.yml.<T> voidsetPerTeam(Team team, TeamSetting<T> setting, T value) Définit un override per-team.
-
Constructor Details
-
YamlTeamConfigService
public YamlTeamConfigService(org.bukkit.plugin.java.JavaPlugin plugin, TeamRepository teamRepository)
-
-
Method Details
-
get
Description copied from interface:TeamConfigServiceRécupère la valeur effective d'un setting pour une équipe (cascade per-team → global → default).- Specified by:
getin interfaceTeamConfigService
-
getGlobal
Description copied from interface:TeamConfigServiceRécupère la valeur globale d'un setting (cascade global → default, sans per-team).- Specified by:
getGlobalin interfaceTeamConfigService
-
setPerTeam
Description copied from interface:TeamConfigServiceDéfinit un override per-team. Persiste en SQLite via leTeamRepository(l'appelant doit save() la team ensuite — ou passer par le service haut niveau qui le fait).- Specified by:
setPerTeamin interfaceTeamConfigService
-
resetPerTeam
Description copied from interface:TeamConfigServiceSupprime l'override per-team pour une clé donnée — la team retombe sur la valeur globale.- Specified by:
resetPerTeamin interfaceTeamConfigService
-
setGlobal
Description copied from interface:TeamConfigServiceDéfinit une valeur globale et persiste le fichier YAML<plugin>-team-config.yml.- Specified by:
setGlobalin interfaceTeamConfigService
-
reload
public void reload()Description copied from interface:TeamConfigServiceRecharge le fichier global depuis le disque.- Specified by:
reloadin interfaceTeamConfigService
-
hasPerTeamOverride
Description copied from interface:TeamConfigServiceIndique si une équipe a un override pour cette clé (utile pour l'affichage GUI : « hérité du global » vs « override »).- Specified by:
hasPerTeamOverridein interfaceTeamConfigService
-
getGlobalSnapshot
Description copied from interface:TeamConfigServiceSnapshot des valeurs globales actuelles (déjà parsées).- Specified by:
getGlobalSnapshotin interfaceTeamConfigService
-
getGlobalFileName
Description copied from interface:TeamConfigServiceChemin du fichier YAML global (informationnel).- Specified by:
getGlobalFileNamein interfaceTeamConfigService
-