質問
このコードを書きました:
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.");
}
}
}
.
jar内の config.yml ファイルを撮影して出力するという意図付き:
.
# 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
しかし、私がこのように呼んでいるとき:
.
reloadDefConfig(new File(getDataFolder(), "config.yml"), "config.yml");
値がコピーされていません:
.# 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)
解決
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