本帖最后由 mcbzhu 于 2019-4-13 00:59 编辑
把插件的配置文件config.yml 和 plugin.yml 放到服务器端的plugin文件中 生成的新文件夹中(一般文件夹的名字和插件的名字一样)
这个要怎么实现?求大佬指教
把插件的配置文件config.yml 和 plugin.yml 放到服务器端的plugin文件中 生成的新文件夹中(一般文件夹的名字和插件的名字一样)
这个要怎么实现?求大佬指教
1、plugin.yml不需要放到插件配置文件夹。
2、你的需求可以用saveDefaultConfig()实现。
2、你的需求可以用saveDefaultConfig()实现。
Sunbread 发表于 2019-4-12 22:02
1、plugin.yml不需要放到插件配置文件夹。
2、你的需求可以用saveDefaultConfig()实现。 ...
saveDefaultConfig() 会自动生成一个能够配置插件的文件夹以及config.yml吗?
..................不知道
saveDefaultConfig() 会自动生成一个能够配置插件的文件夹以及config.yml吗?
我试过了 会的
当然会啊
不过如果是另外的多个配置文件就没有saveDefaultConfig()这样的自带方法了
你需要这个(Java IO流)
不过如果是另外的多个配置文件就没有saveDefaultConfig()这样的自带方法了
你需要这个(Java IO流)
- //最前面先自定义方法解析yaml
- public FileConfiguration load(File file) {
- if (!(file.exists())) {
- try {
- file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return YamlConfiguration.loadConfiguration(file);
- }
- //创建插件文件夹与config.yml文件
- File file = new File(getDataFolder(), "config.yml");
- if (!getDataFolder().exists()) {//判断目录是否存在 这里的目录是 plugin/插件名称/
- getDataFolder().mkdir();//不存在则创建这个文件夹
- }
- if (!file.exists()) {//判断文件是否存在
- this.saveDefaultConfig();//不存在则创建默认的config.yml文件
- }
- //创建插件文件夹与area.yml文件,可以是任意的名称,也就是多个配置
- File filea = new File(getDataFolder(), "area.yml");
- if (!getDataFolder().exists()) {//判断目录是否存在 这里的目录是 plugin/插件名称/
- getDataFolder().mkdir();//不存在则创建这个文件夹
- }
- if (!file.exists()) {//判断文件是否存在
- FileConfiguration configarea = YamlConfiguration.loadConfiguration(filea);
- File filearea = new File(getDataFolder(), "area.yml");
- try {
- configarea.save(filearea);
- } catch (IOException e) {
- e.printStackTrace();
- getLogger().info("ArenaPVP--保存文件中......");
- } finally {
- }
- }
- this.reloadConfig();//重载配置
- FileConfiguration config = this.load(file);
解析的话用snakeyaml
自己去搜一下
自己去搜一下
snakeyaml是java自带的
返回的是linkedhashmap继承hashmap
然后你强转map
就可以用map的方式去遍历yaml了
返回的是linkedhashmap继承hashmap
然后你强转map
就可以用map的方式去遍历yaml了