Skip to content
Merged

Dev #13

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -9,9 +10,8 @@
/**
* <h1>配置管理器</h1>
* 抽象类,提供了 {@link YamlConfiguration} 相关的操作代码,以免重复编写 IO流 相关操作。
* 使用方法:
* 1.直接使用,new 出实例即可。
* 2.创建子类,super 然后 new 子类即可。
* 使用方法:1.直接使用,new 出实例即可;2.创建子类,super 然后 new 子类即可。
* 注意事项:new本类会自动读取配置文件,但并不会保存默认的配置文件,如果你想保存默认配置文件,使用 {@link #saveMapConfig} 或 {@link #saveJarConfig}
*/
public abstract class ConfigurationManager {

Expand All @@ -23,18 +23,20 @@ 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){
this.configFile = manager.getConfigFile();
this.config = manager.getConfig();
}


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

configMap.forEach(config::set);

save();
}

public void saveJarConfig(String fileName){

/**
* <h2>从 Jar 包中保存配置文件</h2>
* @param file 文件名,请务必和你创建 {@link File} 中的文件名保持一致
* @param plugin 你插件的主类,若在主类中运行可以使用 this 传入。
*/
public <T extends JavaPlugin> void saveJarConfig(String file, T plugin){
plugin.saveResource(file,true);

config = YamlConfiguration.loadConfiguration(configFile);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
import org.bukkit.Bukkit;
import top.redstarmc.plugin.redstarlib.utils.toStrings;

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

public String INFO_PREFIX;
Expand Down