从 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...'
地图数量未知,用户可以随意创建,所以不仅有01
和02
,内容(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
中获取数字并覆盖它。
我正在编写一个 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...'
地图数量未知,用户可以随意创建,所以不仅有01
和02
,内容(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
中获取数字并覆盖它。