Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No values are copied from the default config

Tags:

java

yaml

bukkit

I have written this code:

public void reloadDefConfig(File filepath, String fileInJar) {
    File configFile = filepath;
    FileConfiguration daConfig = YamlConfiguration.loadConfiguration(configFile);

    if (!configFile.exists()){
        log.info(logName + "Creating default \"" + fileInJar + "\".");

        InputStream defConfigStream = getResource(fileInJar);

        if (defConfigStream != null){
            YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
            daConfig.setDefaults(defConfig);

            try {
                daConfig.save(configFile);
                log.info(logName + "Default config file \"" + fileInJar + "\" wrote.");
            } catch (IOException ex){
                log.severe(logName + "Could not write config file: " + fileInJar);
            }
        } else {
            log.warning(logName + "Could not find default \"" + fileInJar + "\" file.");
        }
    }
}

With the intent of taking this config.yml file inside the JAR and outputting it:

# Home section; this next part of code decides how large the radius to check for monsters
#  for the /home command if not set it will be auto default to 10x10x10 if you want to 
#  disable the radius use -1 on the value (note one value with -1 will disable all)
  home:
    x: 10
    y: 10
    x: 10

But when I call it like this:

reloadDefConfig(new File(getDataFolder(), "config.yml"), "config.yml");

No values are copied:

# Home section; this next part of code decides how large the radius to check for monsters
#  for the /home command if not set it will be auto default to 10x10x10 if you want to 
#  disable the radius use -1 on the value (note one value with -1 will disable all)
like image 207
HcgRandon Avatar asked Dec 02 '25 06:12

HcgRandon


1 Answers

One possibility is that you have two spaces before home:. Try getting rid of them or adding a parent node, so the resulting file would look like this:

# Home section; this next part of code decides how large the radius to check for monsters
#  for the /home command if not set it will be auto default to 10x10x10 if you want to 
#  disable the radius use -1 on the value (note one value with -1 will disable all)
Main:
  home:
    x: 10
    y: 10
    x: 10
like image 150
Alexis King Avatar answered Dec 06 '25 15:12

Alexis King



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!