diff --git a/src/main/java/top/redstarmc/plugin/redstarlib/manager/ConfigurationManager.java b/src/main/java/top/redstarmc/plugin/redstarlib/manager/ConfigurationManager.java index 749103a..dae7c57 100644 --- a/src/main/java/top/redstarmc/plugin/redstarlib/manager/ConfigurationManager.java +++ b/src/main/java/top/redstarmc/plugin/redstarlib/manager/ConfigurationManager.java @@ -1,6 +1,7 @@ package top.redstarmc.plugin.redstarlib.manager; import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.plugin.java.JavaPlugin; import java.io.File; import java.io.IOException; @@ -9,9 +10,8 @@ /** *

配置管理器

* 抽象类,提供了 {@link YamlConfiguration} 相关的操作代码,以免重复编写 IO流 相关操作。 - * 使用方法: - * 1.直接使用,new 出实例即可。 - * 2.创建子类,super 然后 new 子类即可。 + * 使用方法:1.直接使用,new 出实例即可;2.创建子类,super 然后 new 子类即可。 + * 注意事项:new本类会自动读取配置文件,但并不会保存默认的配置文件,如果你想保存默认配置文件,使用 {@link #saveMapConfig} 或 {@link #saveJarConfig} */ public abstract class ConfigurationManager { @@ -23,11 +23,12 @@ public abstract class ConfigurationManager { private final File configFile; - private final YamlConfiguration config; + private YamlConfiguration config; - public ConfigurationManager(File configFile, YamlConfiguration config) { + public ConfigurationManager(File configFile) { this.configFile = configFile; - this.config = config; + + config = YamlConfiguration.loadConfiguration(configFile); } public ConfigurationManager(ConfigurationManager manager){ @@ -35,6 +36,7 @@ public ConfigurationManager(ConfigurationManager manager){ this.config = manager.getConfig(); } + /** *

创建文件

* 如果没有这个文件就自动创建,并返回 {@link YamlConfiguration} 配置文件,方便操作 @@ -58,16 +60,22 @@ public YamlConfiguration initFile(){ * @param configMap {@link Map} 类型的配置文件 */ public void saveMapConfig(Map configMap){ - if (!configFile.exists()) return; + if (!configFile.exists()) initFile(); configMap.forEach(config::set); save(); } - public void saveJarConfig(String fileName){ - + /** + *

从 Jar 包中保存配置文件

+ * @param file 文件名,请务必和你创建 {@link File} 中的文件名保持一致 + * @param plugin 你插件的主类,若在主类中运行可以使用 this 传入。 + */ + public void saveJarConfig(String file, T plugin){ + plugin.saveResource(file,true); + config = YamlConfiguration.loadConfiguration(configFile); } /** diff --git a/src/main/java/top/redstarmc/plugin/redstarlib/manager/LoggerManager.java b/src/main/java/top/redstarmc/plugin/redstarlib/manager/LoggerManager.java index 07cf65a..af5271d 100644 --- a/src/main/java/top/redstarmc/plugin/redstarlib/manager/LoggerManager.java +++ b/src/main/java/top/redstarmc/plugin/redstarlib/manager/LoggerManager.java @@ -3,6 +3,13 @@ import org.bukkit.Bukkit; import top.redstarmc.plugin.redstarlib.utils.toStrings; +/** + *

日志管理器

+ * 抽象类,提供了日志相关的操作代码,以免重复编写发送日志的操作。 + * 使用方法: + * 1.直接使用,new 出实例即可。 + * 2.创建子类,super 然后 new 子类即可。 + */ public abstract class LoggerManager { public String INFO_PREFIX;