如何阻止我的配置覆盖新值



所以我对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((手动添加每个默认值?

请帮忙!干杯,Daniel

经过一些研究,我实际上自己找到了解决方案,它非常简单,我所要做的就是在我的onDisable方法中,我只需要添加这两行:

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

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

最新更新