玩什么配置哟,直接拿现成的好了(^U^)ノ~
Spigot插件教学——配置文件及其衍生
Part1-最普通的配置Config
| 我们先在主类中创建一个File类型的全局变量出来,然后括号里面就是你的插件配置所在的文件夹,括号里面推荐填(getDataFolder(),"config.yml") getDataFolder()是Spigot为你准备的方法,作用是获取插件所在的文件夹,所以我们用这个方法获取到的就是"plugins/插件名字/" 这样,我们的配置文件就指定在 plugins/插件名字/config.yml 里面啦! 像这样: 
 当然,方法名随意,但是请注意,第一个单词小写,后面的单词首字母都大写! 我的方法就是这样子的: 
 在加载之前,为了防止加载出错,我们要看看config.yml存不存在,如果不存在,那么新建config.yml 为了实现这个功能,我们的loadConfig()方法就变成了这样子: 
 第二个if判断文件夹中是否有config.yml,若没有,就把插件中的config复制出来。 最后,刷新一下config,方便以后调用。 我们的主类就变成了这个样子: 
 在yml文件中,一个路径对应一个值,请看以下代码:(选自 我的原创插件<DSInMinecraft>) 
 ------------------------------------------------------------------------------------------------ 例如:       路径                               该路径所对应的值                 days                           -1                 sanity.using.APPLE        3.0                 sanity.state.InTime.day  15.0 ------------------------------------------------------------------------------------------------ 也就是说,路径之间用"."来分门别类。值就是冒号后面的东西了。#表示注释,java不会加载 对于yaml,有这些方法: ------------------------------------------------------------------------------------------------ 对象                    方法                                    用处                                                 插件                 getConfig()                      表示得到的配置   返回:配置 配置                 get("路径")                      得到对应路径的值 配置                 get+数据类型("路径")        得到对应路径的值并转化成你想要的数据类型。                                                             例如:getInt("days");getDouble("sanity.using.APPLE") 配置                 set("路径",值)                   对制定路径设置一个值(若路径不存在,自动添加。) 配置                 set+数据类型("路径",值)     对制定路径设置一个指定类型的值。                                                             例如:setInt("days", -1);setDouble("sanity.using.APPLE",3.0) ------------------------------------------------------------------------------------------------ 所以,我们经常在主类中使用getConfig().get("路径")获取配置中的东西,getConfig().set("路径",值)设置配置中的东西 | 
Part2-更多的配置文件
| 想要有更多配置文件,那么会让你的主类代码很多,强烈建议独立成一个方法,就像上面的loadConfig()一样。 想要新建另一个配置,一样地,新建一个File类型的全局变量: File file=new File(getDataFolder(),"配置名字.yml"); 然后,要把它转化成Java中的一种流:FileConfiguration FileConfiguration = load(file); 请注意,上面两个都是全局变量 好了,想让Spigot读取这些鬼玩意儿(我承认,我写到这里的时候心情不好),需要几行的代码,为了使主类的方法简单易懂,请独立出一个新的方法!例如下面:请注意,务必return! 
 
 好了,创建完成后,我们要给它填充我们想要的内容,在file.createNewFile();下一行添加: 
 这个方法,就是把文件内容复制出来。后面一定要填写true! 然后如果要获取或者设置配置中的值,这样写: 
 | 
Part3-在主类外访问非静态的配置文件
[其它教程没有的知识点(重要)]
| 我们之前说过了监听器和指令,学习了如何将他们放到主类外面去,既然如此,我们为什么不在主类外访问配置,以减轻主类的负担呢? 但是,试过的小伙伴都知道,在主类外写getconfig(),报错:不是无法解析就是非静态方法不可用静态引用…… 我先来探索一下,既然这个方法不是静态方法,这么说一定需要一个对象,而这个对象就是插件。 好了,我们在主类外新建一个类,让它专门处理配置,然后在这个类里面写 
 但是如何访问除了config.yml以外的配置呢? 直接用主类里面那个FileConfiguration类型的变量就好啦! 例如我的: 主类:public static FileConfiguration language; 配置类:主类名字.language.get();或者主类名字.language.set(); 这里就不需要用getConfig()了。 当然,这仅限于专门处理配置的那一个类里面使用,如果你想要更多的类可以访问配置,请在它们每一个中插入: 
 那么插入一下代码:new 配置类的名字(this); | 
Part4-把数据储存进配置文件的规范
[其它教程没有的知识点(重要)]
| 为了使你的插件更加安全,所以请尝试在访问配置每个路径的值前看看这个路径是否存在: 
 像我这样:(选自 我的插件 <DSInMinecraft>) 
 | 
11234多字打得手疼

 
 
                
