1
mirror of https://github.com/CarmJos/MineConfiguration.git synced 2026-06-04 13:55:03 +08:00

feat(conf): 为入口类添加了实例方法,方便快捷创建基础配置和消息配置文件。

This commit is contained in:
2023-05-27 00:22:30 +08:00
parent 8f3d574446
commit 9d6212e5ea
3 changed files with 102 additions and 2 deletions
@@ -1,15 +1,18 @@
package cc.carm.lib.mineconfiguration.bungee;
import cc.carm.lib.configuration.core.ConfigurationRoot;
import cc.carm.lib.mineconfiguration.bungee.source.BungeeConfigProvider;
import cc.carm.lib.mineconfiguration.common.AbstractConfiguration;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.config.ConfigurationProvider;
import net.md_5.bungee.config.JsonConfiguration;
import net.md_5.bungee.config.YamlConfiguration;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.io.IOException;
public class MineConfiguration {
public class MineConfiguration extends AbstractConfiguration<BungeeConfigProvider> {
protected static BungeeConfigProvider create(File file, String source, ConfigurationProvider loader) {
BungeeConfigProvider provider = new BungeeConfigProvider(file, loader);
@@ -94,4 +97,26 @@ public class MineConfiguration {
return fromJSON(new File(plugin.getDataFolder(), fileName), source);
}
public MineConfiguration(@NotNull Plugin plugin) {
super(from(plugin, "config.yml"), from(plugin, "messages.yml"));
}
public MineConfiguration(@NotNull Plugin plugin,
@NotNull ConfigurationRoot configRoot,
@NotNull ConfigurationRoot messageRoot) {
this(plugin);
initializeConfig(configRoot);
initializeMessage(messageRoot);
}
public MineConfiguration(@NotNull Plugin plugin,
@NotNull Class<? extends ConfigurationRoot> configRoot,
@NotNull Class<? extends ConfigurationRoot> messageRoot) {
this(plugin);
initializeConfig(configRoot);
initializeMessage(messageRoot);
}
}