Class CRCore
java.lang.Object
fr.luc.crcore.CRCore
Point d'entrée unique de CR-Core pour un plugin de jeu downstream.
Instanciée une fois dans onEnable(), branche en cascade :
- la base SQLite (dans le dataFolder du plugin),
- les repositories (SQLite ou in-memory selon
CRCoreConfig), - les services team + player avec fire d'évènements Bukkit,
- la commande
/coreavec tous ses sous-commandes par défaut.
Utilisation minimale côté plugin de jeu
public class MyGamePlugin extends JavaPlugin {
private CRCore core;
@Override
public void onEnable() {
this.core = new CRCore(this).enable();
// /core team create/delete/add/remove/join/leave/... est prêt
}
@Override
public void onDisable() {
if (core != null) core.disable();
}
}
Le plugin de jeu doit avoir déclaré la commande dans son plugin.yml :
commands:
core:
description: Commandes CR-Core
Override
Tout est accessible via les getters :getTeamService(),
getCoreCommand(), getDatabase(), etc. Pour remplacer une
sous-commande, voir CoreCommand. Pour remplacer un service complet,
sous-classer CRCore et override buildTeamService(TeamRepository).-
Constructor Summary
ConstructorsConstructorDescriptionCRCore(org.bukkit.plugin.java.JavaPlugin plugin) Construit CR-Core avec la config par défaut (SQLite activée, commande "core").CRCore(org.bukkit.plugin.java.JavaPlugin plugin, CRCoreConfig config) -
Method Summary
Modifier and TypeMethodDescriptionprotected BroadcastServicebuildBroadcastService(MessagesService messages) Construit leBroadcastService.protected CoreCommandbuildCoreCommand(TeamService teamService, PlayerProfileService playerProfileService, MessagesService messages, BroadcastService broadcasts, TeamConfigService teamConfig) Construit leCoreCommand.protected MessagesServiceConstruit leMessagesService.protected PlayerProfileServicebuildPlayerProfileService(PlayerProfileRepository repository) Construit lePlayerProfileService.protected TeamConfigServicebuildTeamConfigService(TeamRepository repository) Construit leTeamConfigService.protected TeamServicebuildTeamService(TeamRepository repository) Construit leTeamService.voiddisable()Libère les ressources (ferme la DB notamment).enable()Branche tout : ouvre la DB, instancie les services, enregistre la commande.org.bukkit.plugin.java.JavaPluginbooleanmessages()protected voidEnregistre l'expansion PlaceholderAPI%crcore_*%si le plugin PAPI est installé sur le serveur.
-
Constructor Details
-
CRCore
public CRCore(org.bukkit.plugin.java.JavaPlugin plugin) Construit CR-Core avec la config par défaut (SQLite activée, commande "core"). -
CRCore
-
-
Method Details
-
enable
Branche tout : ouvre la DB, instancie les services, enregistre la commande. Idempotent : un second appel est no-op.- Returns:
thispour chaîner.
-
registerPlaceholderHook
protected void registerPlaceholderHook()Enregistre l'expansion PlaceholderAPI%crcore_*%si le plugin PAPI est installé sur le serveur. Si absent, no-op silencieux — la lib reste fonctionnelle sans.Le chargement de la classe d'expansion est différé via une indirection (méthode
doRegisterPlaceholderHook) pour que le bytecode référençantme.clip.placeholderapi.*ne soit pas vérifié si PAPI n'est pas présent. -
disable
public void disable()Libère les ressources (ferme la DB notamment). Idempotent. -
buildTeamService
Construit leTeamService. Override pour utiliser une impl custom. -
buildPlayerProfileService
Construit lePlayerProfileService. Override pour une impl custom. -
buildCoreCommand
protected CoreCommand buildCoreCommand(TeamService teamService, PlayerProfileService playerProfileService, MessagesService messages, BroadcastService broadcasts, TeamConfigService teamConfig) Construit leCoreCommand. Override pour ajouter des groupes top-level. -
buildTeamConfigService
Construit leTeamConfigService. Override pour utiliser une impl custom. -
buildMessagesService
Construit leMessagesService. Override pour utiliser une impl custom. -
buildBroadcastService
Construit leBroadcastService. Override pour utiliser une impl custom. -
getPlugin
public org.bukkit.plugin.java.JavaPlugin getPlugin() -
getConfig
-
getDatabase
-
getTeamRepository
-
getTeamService
-
getPlayerProfileRepository
-
getPlayerProfileService
-
getMessages
-
messages
-
getBroadcasts
-
broadcasts
-
getTeamConfig
-
teamConfig
-
getCoreCommand
-
isEnabled
public boolean isEnabled()
-