Files
TabooLib/src/main/java/me/skymc/tlm/TLM.java
2018-03-24 23:18:13 +08:00

96 lines
2.2 KiB
Java

package me.skymc.tlm;
import lombok.Getter;
import me.skymc.taboolib.Main;
import me.skymc.taboolib.fileutils.ConfigUtils;
import me.skymc.taboolib.message.MsgUtils;
import me.skymc.taboolib.string.language2.Language2;
import me.skymc.tlm.module.TabooLibraryModule;
import me.skymc.tlm.module.sub.ModuleCommandChanger;
import me.skymc.tlm.module.sub.ModuleInventorySave;
import me.skymc.tlm.module.sub.ModuleKits;
import me.skymc.tlm.module.sub.ModuleTimeCycle;
import org.bukkit.configuration.file.FileConfiguration;
/**
* @author sky
* @since 2018年2月17日 下午10:28:05
*/
public class TLM {
private static TLM inst = null;
@Getter
private FileConfiguration config;
@Getter
private Language2 language;
/**
* 构造方法
*/
private TLM() {
// 重载配置文件
reloadConfig();
// 载入模块
if (isEnableModule("TimeCycle")) {
TabooLibraryModule.getInst().register(new ModuleTimeCycle());
}
if (isEnableModule("Kits")) {
TabooLibraryModule.getInst().register(new ModuleKits());
}
if (isEnableModule("CommandChanger")) {
TabooLibraryModule.getInst().register(new ModuleCommandChanger());
}
if (isEnableModule("InventorySave")) {
TabooLibraryModule.getInst().register(new ModuleInventorySave());
}
// 载入模块
TabooLibraryModule.getInst().loadModules();
// 提示
MsgUtils.send("载入 &f" + TabooLibraryModule.getInst().getSize() + " &7个 &fTLM &7模块");
}
/**
* 获取 TLM 对象
*
* @return TLM
*/
public static TLM getInst() {
if (inst == null) {
synchronized (TLM.class) {
if (inst == null) {
inst = new TLM();
}
}
}
return inst;
}
/**
* 载入配置文件
*/
public void reloadConfig() {
config = ConfigUtils.saveDefaultConfig(Main.getInst(), "module.yml");
// 载入语言文件
try {
language = new Language2(config.getString("Language"), Main.getInst());
} catch (Exception e) {
MsgUtils.warn("语言文件不存在: &4" + config.getString("Language"));
}
}
/**
* 模块是否启用
*
* @param name 名称
* @return boolean
*/
public boolean isEnableModule(String name) {
return config.getStringList("EnableModule").contains(name);
}
}