feat(config): add default config.yml and configure auto-loader
This commit is contained in:
@@ -54,6 +54,7 @@ public final class Main extends JavaPlugin {
|
||||
|
||||
// 5. Initialiser le service métier GuildManager et charger les données
|
||||
this.guildManager = new GuildManager(this, guildRepository, economyManager);
|
||||
loadConfigSettings();
|
||||
this.guildManager.loadData();
|
||||
|
||||
// 6. Initialiser le framework betterMcCommands et enregistrer les commandes
|
||||
@@ -85,6 +86,32 @@ public final class Main extends JavaPlugin {
|
||||
getLogger().info("GamingCore a ete desactive !");
|
||||
}
|
||||
|
||||
/**
|
||||
* Charge et applique les paramètres de configuration dans les différents gestionnaires.
|
||||
*/
|
||||
private void loadConfigSettings() {
|
||||
if (guildManager == null) return;
|
||||
|
||||
double basePrice = getConfig().getDouble("economy.chunk_pricing.base_price", 1000.0);
|
||||
double growthRate = getConfig().getDouble("economy.chunk_pricing.growth_rate", 0.08);
|
||||
double alpha = getConfig().getDouble("economy.chunk_pricing.alpha", 0.95);
|
||||
double linearStep = getConfig().getDouble("economy.chunk_pricing.linear_step", 150.0);
|
||||
double kBase = getConfig().getDouble("economy.chunk_pricing.k_base", 0.05);
|
||||
double kSize = getConfig().getDouble("economy.chunk_pricing.k_size", 0.03);
|
||||
double delta = getConfig().getDouble("economy.chunk_pricing.delta", 1.15);
|
||||
long recentWindowMillis = getConfig().getLong("economy.chunk_pricing.recent_window_hours", 24) * 3600_000L;
|
||||
|
||||
fr.luc.gamingcore.economy.ChunkPriceCalculator calc = guildManager.getPriceCalculator();
|
||||
calc.setBasePrice(basePrice);
|
||||
calc.setGrowthRate(growthRate);
|
||||
calc.setAlpha(alpha);
|
||||
calc.setLinearStep(linearStep);
|
||||
calc.setKBase(kBase);
|
||||
calc.setKSize(kSize);
|
||||
calc.setDelta(delta);
|
||||
calc.setRecentWindowMillis(recentWindowMillis);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialise la connexion vers l'API WorldGuard 7 si disponible.
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
# ==========================================================
|
||||
# GAMINGCORE - SYSTÈME DE GUILDE
|
||||
# ==========================================================
|
||||
|
||||
# Préfixe global des messages (Format MiniMessage / HEX / Gradients)
|
||||
prefix: "<gradient:#00C9FF:#92FE9D>[Guilde]</gradient> <dark_gray>»</dark_gray> <gray>"
|
||||
|
||||
# Paramètres généraux des guildes
|
||||
guild:
|
||||
# Coût de création d'une guilde en monnaie Vault
|
||||
creation_cost: 1000.0
|
||||
# Durée de validité des invitations envoyées (en secondes)
|
||||
invite_timeout_seconds: 60
|
||||
|
||||
# Paramètres mathématiques de calcul du coût des territoires (Chunks)
|
||||
# Formule spatio-temporelle : PrixFinal(N, R) = P_structurel(N) * M_surchauffe(N, R)
|
||||
economy:
|
||||
chunk_pricing:
|
||||
# Prix de base du premier chunk (P_base)
|
||||
base_price: 1000.0
|
||||
# Taux de croissance exponentiel de base (ex: 0.08 pour +8% par chunk)
|
||||
growth_rate: 0.08
|
||||
# Facteur d'amortissement de l'exposant alpha (entre 0.8 et 1.0)
|
||||
alpha: 0.95
|
||||
# Palier linéaire fixe ajouté par chunk possédé (Palier)
|
||||
linear_step: 150.0
|
||||
|
||||
# Paramètres de surchauffe temporelle glissante
|
||||
# Fenêtre glissante en heures
|
||||
recent_window_hours: 24
|
||||
# Surchauffe minimale de base par claim récent (k_base)
|
||||
k_base: 0.05
|
||||
# Amplification de la surchauffe selon la taille de la guilde (k_taille)
|
||||
k_size: 0.03
|
||||
# Exposant de vélocité temporelle (delta)
|
||||
delta: 1.15
|
||||
|
||||
# Paramètres de protection territoriale
|
||||
protection:
|
||||
# Empêcher les explosions (Creeper, TNT, Lits, Cristaux) d'endommager les territoires de guilde
|
||||
prevent_explosions: true
|
||||
# Afficher une notification dans l'Action Bar lors du franchissement de frontière de chunk
|
||||
show_actionbar_on_move: true
|
||||
Reference in New Issue
Block a user