Config Manager (BaseConfig)
Base class for YAML configs with auto-update via ConfigUpdater
Usage
import io.github.chi2l3s.nextlib.api.config.BaseConfig;
import io.github.chi2l3s.nextlib.api.config.ConfigUtil;
import org.bukkit.World;
import org.bukkit.plugin.java.JavaPlugin;
public class MyConfig extends BaseConfig {
public String prefix;
public int cooldownSeconds;
public World targetWorld;
public MyConfig(JavaPlugin plugin) { super(plugin, "config.yml"); }
@Override
protected void loadValues() {
prefix = config.getString("prefix", "&7[My]&r ");
cooldownSeconds = ConfigUtil.parseTime(config, "cooldown", 60); // e.g. "2m", "10s"
targetWorld = ConfigUtil.getWorld(config, "world", "world");
}
}
// Usage
MyConfig cfg = new MyConfig(this);
cfg.reloadConfig();
getLogger().info("Prefix: " + cfg.prefix);Notes
- reloadConfig() creates the file from resources if missing
- ConfigUpdater keeps comments and adds new keys