ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
>[danger]`AbstractModule`类封装了yaml的配置,并简化了操作,更方便调用 配置读取一般在`onEnable()`方法下调用,保证每次重载插件都重新读取 基本方法调用 ![](https://img.kancloud.cn/2d/89/2d89c956b5867861c46fe82e4556aab8_976x682.png) >[danger]完整代码 ``` /** * 你的模块类 */ public class TestModule extends AbstractModule { private long customLong; public TestModule(Plugin plugin) { //这里需要传入pxrpg的代理插件类 super(MAPI.getBukkitPxRpgAPI().toPxRpgPlugin(plugin)); } @Override public String getModuleName() { return "Test"; } @Override public void onEnable() { //AbstractModule.getConfig() 封装了读取的过程,只需要调用即可 //当指定文件不存在时,会自动创建 //会获取 "plugins/PxRpg/Modules/" + this.getModuleName() + "/config.yml" 路径的文件 Config config = super.getConfig(); //会获取 "plugins/PxRpg/Modules/" + this.getModuleName() + "/custom.yml" 路径的文件 Config custom = super.getConfig("custom"); //获取 "plugins/PxRpg/Modules/" + this.getModuleName() + "/path/subFile.yml" 路径的文件 Config subFile = super.getConfig("path/subFile"); { //读取 config.yml 的 settings.key1 节点内容,不存在时会写入默认值并写入后面的注释 同时也会重新保存配置到文件 String string = config.getString("settings.key1", "这是默认值", "这是注释第一行", "注释第二行"); } { //读取 config.yml 的 settings.key2 节点内容,不存在时会写入默认值 但不会写入注释 同时也会重新保存配置到文件 String string = config.getString("settings.key2", "这是默认值"); } //单独写入注释,调用后自动写入到文件 config.setNotes("settings","主节点的注释","注释第二行"); } } ```