perf: 优化代码

This commit is contained in:
2022-11-07 00:32:16 +08:00
parent 6904a9121c
commit 244f15d021
7 changed files with 144 additions and 35 deletions

View File

@@ -4,17 +4,30 @@ import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.config.Configuration;
import net.md_5.bungee.config.ConfigurationProvider;
import net.md_5.bungee.config.YamlConfiguration;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
@SuppressWarnings("unused")
public final class BungeeCordUtils {
private BungeeCordUtils() {
}
public static Configuration getPluginConfig(Plugin plugin) {
public static Configuration getConfig(@NotNull File file) {
if (!file.exists()) {
throw new IllegalArgumentException("文件不存在!");
}
try {
return ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static Configuration getPluginConfig(@NotNull Plugin plugin) {
File configFile = new File(plugin.getDataFolder(), "config.yml");
if (!configFile.exists()) {
return saveDefaultConfig(plugin);
@@ -23,20 +36,22 @@ public final class BungeeCordUtils {
try {
return ConfigurationProvider.getProvider(YamlConfiguration.class).load(configFile);
} catch (IOException e) {
throw new RuntimeException(e);
e.printStackTrace();
return null;
}
}
public static Configuration saveDefaultConfig(Plugin plugin) {
public static Configuration saveDefaultConfig(@NotNull Plugin plugin) {
if (plugin.getDataFolder().mkdir()) {
plugin.getLogger().info("创建插件文件夹...");
}
File configFile = new File(plugin.getDataFolder(), "config.yml");
try {
if (plugin.getDataFolder().mkdir()) {
plugin.getLogger().info("创建插件文件夹...");
}
File configFile = new File(plugin.getDataFolder(), "config.yml");
InputStream in = plugin.getResourceAsStream("config.yml");
Files.copy(in, configFile.toPath());
return ConfigurationProvider.getProvider(YamlConfiguration.class).load(configFile);
} catch (Exception ignored) {
} catch (Exception e) {
e.printStackTrace();
}
return null;
}