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 CoreCommandbuildCoreCommand(TeamService teamService, PlayerProfileService playerProfileService) Construit leCoreCommand.protected PlayerProfileServicebuildPlayerProfileService(PlayerProfileRepository repository) Construit lePlayerProfileService.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.JavaPluginboolean
-
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.
-
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) Construit leCoreCommand. Override pour ajouter des groupes top-level. -
getPlugin
public org.bukkit.plugin.java.JavaPlugin getPlugin() -
getConfig
-
getDatabase
-
getTeamRepository
-
getTeamService
-
getPlayerProfileRepository
-
getPlayerProfileService
-
getCoreCommand
-
isEnabled
public boolean isEnabled()
-