从 yml 配置文件中读取未知数据

Read unknown data from yml configuration file

我正在编写一个 bukkit 插件,它应该从用户创建的 yml 配置文件中读取数据,如下例所示。 以前搜过没有结果,其实我也不知道该搜什么

示例配置:

maps:
  01:
    name: world
    displayname: Plains
    icon: 2
    size: 1000
    info:
    - 'Some information'
    - 'Another information string'
  02:
    name: world_nether
    displayname: Nether
    icon: 87
    size: 500
    info:
    - 'Information'
    - 'More information'
    - 'As many lines as needed...'

地图数量未知,用户可以随意创建,所以不仅有0102,内容(name,icon, info,...) 始终相同。

如何读出maps的个数(01,02,...)以及保存不同类型内容(字符串)的好方法, 整数, 列表) 在 Java?

您可以获得 children 的 Set<String>

ConfigurationSection, FileConfiguration

FileConfiguration fc = getConfig(); // Get the config
ConfigurationSection cs = fc.getConfigurationSection("maps");
boolean deep = false; 
for (String key : cs.getKeys(deep)) {
    //Key will be 01
}

您可以使用一个参数 /[yourcommand] [Number] [...]。 如果你不想要一个命令,你可以像这样保存一行: Worlds: 1 当你创建一个新的 arena 时,你可以从 Worlds 中获取数字并覆盖它。