Java 如何阻止配置覆盖新值?

Java 如何阻止配置覆盖新值?,java,minecraft,bukkit,Java,Minecraft,Bukkit,所以我对Bukkit API有点陌生,所以请不要对我太苛刻,除此之外,我一直在制作一个插件,希望管理员能够自定义配置,但我遇到了一个问题,无论我做什么,它都会用默认值替换有人试图输入配置的新值 下面是我在代码本身的默认配置中设置的列表: PersonalBoosterTypes: - 5#60 - 2#60 - 3#60 - 5#45 - 2#180 - 3#120 - 2#90 现在,如果我在插件配置中添加新值,而不是在代码中添加新值,如下所示: PersonalBoosterTypes:

所以我对Bukkit API有点陌生,所以请不要对我太苛刻,除此之外,我一直在制作一个插件,希望管理员能够自定义配置,但我遇到了一个问题,无论我做什么,它都会用默认值替换有人试图输入配置的新值

下面是我在代码本身的默认配置中设置的列表:

PersonalBoosterTypes:
- 5#60
- 2#60
- 3#60
- 5#45
- 2#180
- 3#120
- 2#90
现在,如果我在插件配置中添加新值,而不是在代码中添加新值,如下所示:

PersonalBoosterTypes:
- 5#60
- 2#60
- 3#60
- 5#45
- 2#180
- 3#120
- 2#90
- 3#180 // new value
然后我重新加载服务器,它删除该值并保留默认值。我已将此方法放在我的onEnable中:

private void loadConfig() {
    this.getConfig().options().copyDefaults(true);
    this.saveConfig();
}
是否有其他方法可以在不重写的情况下加载默认值,或者我必须使用addDefault()手动添加每个默认值

请帮忙!
干杯,丹尼尔

经过一些研究,我自己已经找到了解决方案,而且非常简单,我所要做的就是使用我的可行方法,我只需要添加以下两行:

this.reloadConfig();
this.saveConfig();

一开始我很惊讶,但它很有魅力,希望这能帮助其他人找到这个问题的解决方案

我总是发现这样的问题,配置覆盖了你想要的(a)令人沮丧,(b)难以解决。这并不能帮你找到答案,但我只想让你知道我们都分担你的痛苦