1package dev.keii.goldenage.config;
2
3import dev.keii.goldenage.GoldenAge;
4import lombok.Getter;
5import org.bukkit.util.config.Configuration;
6
7public class Config {
8 @Getter
9 private DatabaseConfig database;
10
11 @Getter
12 private CommandsConfig commands;
13
14 @Getter
15 private ErrorsConfig errors;
16
17 @Getter
18 private FormattersConfig formatters;
19
20 @Getter
21 private StatisticsConfig statistics;
22
23 @Getter
24 private BetaProtectConfig betaProtect;
25
26 private final Configuration configuration;
27
28 public Config(Configuration configuration) {
29 this.configuration = configuration;
30 this.database = new DatabaseConfig(configuration);
31 this.commands = new CommandsConfig(configuration);
32 this.errors = new ErrorsConfig(configuration);
33 this.formatters = new FormattersConfig(configuration);
34 this.statistics = new StatisticsConfig(configuration);
35 this.betaProtect = new BetaProtectConfig(configuration);
36 }
37
38 public Env getEnv() {
39 String envString = configuration.getString("env", "development");
40
41 switch (envString.toLowerCase()) {
42 case "development":
43 return Env.Development;
44 case "production":
45 return Env.Production;
46 // Env is defaulted to production instead of throwing so the plugin still runs
47 default:
48 GoldenAge.getLogger().warning("Invalid env in config. Accepted values are 'development' and 'production'.");
49 return Env.Production;
50 }
51 }
52}