Class CRCoreConfig

java.lang.Object
fr.luc.crcore.CRCoreConfig

public class CRCoreConfig extends Object
Configuration de CRCore fournie au constructeur. API builder fluide.

Modèle modulaire

Les features CR-Core (teams, players, placeholders PAPI) sont opt-in : par défaut aucune n'est activée, seule la couche util (messages, broadcasts, GUI framework, command framework, database) est chargée. Tu actives explicitement ce dont tu as besoin :

// Tout activer en une ligne :
new CRCore(this, new CRCoreConfig().setupAll()).enable();

// Ou granularité :
new CRCore(this, new CRCoreConfig()
    .setupTeams()
    .setupPlaceholders()      // sans players
    .withCommandName("game"))
    .enable();

// Tout par défaut + setups :
new CRCore(this, new CRCoreConfig()
    .withSqliteFile("mydata.db")
    .setupAll())
    .enable();

Comportement quand une feature n'est pas activée

Le getter correspondant sur CRCore (ex. core.getTeamService()) lève IllegalStateException avec un message explicite, et la commande built-in n'est pas enregistrée (ex. pas de /core team si setupTeams() n'a pas été appelé).

Valeurs par défaut

  • SQLite activé, fichier crcore.db
  • Commande Bukkit racine : core
  • Aucune feature activée (opt-in via setupX())
  • Constructor Details

    • CRCoreConfig

      public CRCoreConfig()
  • Method Details

    • withInMemoryStorage

      public CRCoreConfig withInMemoryStorage()
      Désactive SQLite — toutes les données vivent en mémoire (perdues au reload/stop).
    • withSqliteFile

      public CRCoreConfig withSqliteFile(String filename)
      Active SQLite et fixe le nom du fichier (relatif au dataFolder du plugin).
    • withCommandName

      public CRCoreConfig withCommandName(String commandName)
      Change le nom de la commande Bukkit racine. Doit matcher l'entrée du commands: dans le plugin.yml du plugin de jeu (ou passe par l'enregistrement dynamique de CR-Core si la commande n'est pas déclarée).
    • setupTeams

      public CRCoreConfig setupTeams()
      Active la feature team : repositories, service, config + GUI, sous-commandes /core team .... Tire les events Bukkit correspondants.
    • setupPlayers

      public CRCoreConfig setupPlayers()
      Active la feature player : repository et service de profil joueur (scores nommés, classements individuels). Tire les events Bukkit player.
    • setupPlaceholders

      public CRCoreConfig setupPlaceholders()
      Active l'intégration PlaceholderAPI. La hook ne sera réellement enregistrée que si PAPI est installé sur le serveur. Nécessite setupTeams() et/ou setupPlayers() pour les placeholders correspondants — sinon les placeholders manquants renvoient simplement vide.
    • setupModeration

      public CRCoreConfig setupModeration()
      Active la feature moderation : service mod mode (snapshot + vanish + freeze + hotbar d'outils), commande /core admin.
    • setupAll

      public CRCoreConfig setupAll()
      Active toutes les features en une fois.
    • isSqliteEnabled

      public boolean isSqliteEnabled()
    • getSqliteFilename

      public String getSqliteFilename()
    • getCommandName

      public String getCommandName()
    • isTeamsEnabled

      public boolean isTeamsEnabled()
    • isPlayersEnabled

      public boolean isPlayersEnabled()
    • isPlaceholdersEnabled

      public boolean isPlaceholdersEnabled()
    • isModerationEnabled

      public boolean isModerationEnabled()