【问题标题】:Save comments in config.yml with api spigot/bukkit使用 api spigot/bukkit 在 config.yml 中保存注释
【发布时间】:2018-04-02 16:10:20
【问题描述】:

我有一个 config.yml 文件,其中包含一些 cmets,例如:

#Thats the message when someone joins to the server
Message: Hello User

但是当我保存 config.yml 文件并再次打开时,它消失了,无法保存。

我试图搜索一些 api 来解决这个问题,但找不到。 我不想用

saveDefaultConfig();

getConfig().options.copydefault(true);
saveConfig();

因为我不想保存这个低谷代码。我想用 api 保存它。

我应该使用什么 api?

【问题讨论】:

  • 我不确定,但我相信只有第一行的 cmets 会被删除。你能验证一下吗?
  • 我试过了,当我按下保存时,所有的 cmets 都被删除了

标签: api config bukkit


【解决方案1】:

我建议你使用 Spigot API,我认为它更好

这两个 API 仅支持配置标题部分中的 ONE 注释。如果你想保存多个评论,你应该编写自己的 YAMLConfiguration

要保存这个标题,您应该尝试

getConfig().options().header("Your Comment");
getConfig().options().copyHeader(true)

你可以用 \n 将注释分成多行

【讨论】:

  • 问题是我保存文件后没有保存cmets没有运行插件
【解决方案2】:

您可以在您的 src 文件夹中创建一个 config.yml,该文件夹将包含在 jar 中。您可以通过在 IDE 中编辑此文件来设置默认值和任何 cmets。您在主课中所要做的就是在您的onEnable() 中调用saveDefaultConfig();。之后,您可以使用getConfig() 访问您的配置。

【讨论】:

  • 正如我在帖子中所说,我不想使用该命令,因为它不起作用
【解决方案3】:

遗憾的是,使用给定工具时这是不可能的!

您需要手动编写自己的 ConfigManager,您可以在其中执行此操作!

这是我得到的:https://mega.nz/#!lsIkVYhD!knZr5DBmbvPyJh8ONeNx4pfb7Q0C9yuIp6FHiyJmhBw

但它可能有一些错误:D

【讨论】:

    【解决方案4】:

    如前所述,Bukkit 提供的 Yaml API 将在写入 cmets 时剥离它。所以你可以注释你的资源配置文件,但是当它被 API 保存或重写时,cmets 会丢失。

    我首选的 Yaml 处理程序是 SimplixStorage。它在 yaml 文件的顶部和任何地方都能很好地处理 cmets。我还找到了SimpleConfig,它允许您添加标题、添加 cmets(在文件保存时不会删除)以及使用您的代码添加到配置中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多