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
|
// 5. Initialiser le service métier GuildManager et charger les données
|
||||||
this.guildManager = new GuildManager(this, guildRepository, economyManager);
|
this.guildManager = new GuildManager(this, guildRepository, economyManager);
|
||||||
|
loadConfigSettings();
|
||||||
this.guildManager.loadData();
|
this.guildManager.loadData();
|
||||||
|
|
||||||
// 6. Initialiser le framework betterMcCommands et enregistrer les commandes
|
// 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 !");
|
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.
|
* 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