From 6d723b6f9ec5f071f6f8995226feb597a97f7dfc Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Fri, 1 Sep 2023 17:10:19 +0800 Subject: [PATCH] =?UTF-8?q?feat(core-bungeecord):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E5=B7=A5=E5=85=B7=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/bungee/util/CoreBungeeCordUtils.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/util/CoreBungeeCordUtils.java b/core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/util/CoreBungeeCordUtils.java index 5493575..cd84666 100644 --- a/core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/util/CoreBungeeCordUtils.java +++ b/core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/util/CoreBungeeCordUtils.java @@ -41,10 +41,23 @@ public final class CoreBungeeCordUtils { } } + @NotNull + public static Configuration getPluginConfig(@NotNull Plugin plugin, @NotNull String filename) { + File configFile = new File(plugin.getDataFolder(), filename); + if (!configFile.exists()) { + return saveDefaultConfig(plugin, filename); + } + try { + return ConfigurationProvider.getProvider(YamlConfiguration.class).load(configFile); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + @NotNull public static Configuration saveDefaultConfig(@NotNull Plugin plugin) { if (plugin.getDataFolder().mkdir()) { - plugin.getLogger().info("创建插件文件夹..."); + plugin.getLogger().info("已生成插件存档文件夹..."); } File configFile = new File(plugin.getDataFolder(), "config.yml"); try { @@ -55,4 +68,19 @@ public final class CoreBungeeCordUtils { throw new RuntimeException(e); } } + + @NotNull + public static Configuration saveDefaultConfig(@NotNull Plugin plugin, @NotNull String filename) { + if (plugin.getDataFolder().mkdir()) { + plugin.getLogger().info("已生成插件存档文件夹..."); + } + File configFile = new File(plugin.getDataFolder(), filename); + try { + InputStream in = plugin.getResourceAsStream(filename); + Files.copy(in, configFile.toPath()); + return ConfigurationProvider.getProvider(YamlConfiguration.class).load(configFile); + } catch (Exception e) { + throw new RuntimeException(e); + } + } }