如何从 Bukkit 中的 YAML 文件加载树/索引?这是我想要从中获取所有值的文件:
groups:
myGroup1:
prefix: [test]
permissions:
- test
myGroup2:
prefix: [test2]
permissions:
- test2
这个 YAML 文件是一个配置,用户可以在其中添加任意数量的组,因此不可能收集像 YamlConfiguration.getString("groups.myGroup1.[..])")
这样的东西。 。
我需要列出“groups:”中的所有内容,所以它应该看起来像
YamlConfiguration.getString("groups.%groupName%.[..])")
。
有人知道如何收集“groups:”后面的所有内容(可以只是组名)谢谢您的帮助!
最佳答案
加载 YAML 文件并拥有 YamlConfiguration
的实例后您可以使用getKeys(boolean)
获取当前部分中的键列表。
如果参数为 true,则将递归检索所有键。如果为 false,则只会获取顶级 key 。调用yml.getConfigurationSection("groups").getKeys(false)
在您的示例文件上将产生以下结果:
[myGroup1, myGroup2]
在您的情况下,使用它来解析 yaml 文件将如下所示:
ConfigurationSection section = yml.getConfigurationSection("groups");
for (String group : section.getKeys(false)) {
List<String> prefixes = section.getStringList("prefix");
List<String> permissions = section.getStringList("permissions");
}
关于java - 如何使用 Bukkit API 从 .yaml 文件加载树/索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45383035/