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

标签 java minecraft bukkit

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

请帮忙! 干杯,丹尼尔

最佳答案

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

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

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

关于java - 如何阻止我的配置覆盖新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60671489/

相关文章:

java - Robotium:SVG/位图 NullPointerException 错误

java - Swing 应用程序的 OnExit 事件?

java.lang.ClassCastException问题

3d - 我的世界使用什么库来制作 3D 图形?

c# - 为什么发送数据包没有发送任何数据(与minecraft服务器握手)?

java - Bukkit/Spigotplugin - 从配置中删除条目

java - 为什么这个法术能给施法者带来满血?

java - Eclipse 3.4的Maven安装目录在哪里

java - 当创建类的两个或多个引用时,Sellable Menu Kit 字段会发生变化(使用 GitHub)

java - Java套接字连接: receiving completely arbitrary integers from the Input Stream