diff --git a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java index 47828ee..c84046a 100644 --- a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java +++ b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java @@ -64,9 +64,7 @@ public class HamsterCorePlugin extends JavaPlugin { long time = System.currentTimeMillis() - start; Bukkit.getScheduler().runTaskLater(this, () -> { PointAPI.reloadPlayerPointAPIHook(); - logger.info("已完成 PlayerPoints 挂载."); VaultAPI.reloadVaultHook(); - logger.info("已完成 VaultAPI 挂载."); }, 1L); logger.info("仓鼠核心启动完成,总计耗时 " + time + " ms."); } diff --git a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/hook/VaultAPI.java b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/hook/VaultAPI.java index cebce7d..7a67347 100644 --- a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/hook/VaultAPI.java +++ b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/hook/VaultAPI.java @@ -7,6 +7,8 @@ import net.milkbowl.vault.permission.Permission; import org.bukkit.Bukkit; import org.bukkit.plugin.RegisteredServiceProvider; +import java.util.logging.Logger; + /** * Vault API */ @@ -25,36 +27,38 @@ public class VaultAPI { economy = null; permission = null; vaultEnabled = Bukkit.getPluginManager().isPluginEnabled("Vault"); + Logger logger = HamsterCorePlugin.getInstance().getLogger(); if (!vaultEnabled) { - HamsterCorePlugin.getInstance().getLogger().warning("未检测到 Vault 插件!"); + logger.warning("未检测到 Vault 插件!"); return; } - HamsterCorePlugin.getInstance().getLogger().info("已连接 Vault!"); + logger.info("已连接 Vault!"); RegisteredServiceProvider chatProvider = Bukkit.getServer().getServicesManager().getRegistration(Chat.class); if (chatProvider != null) { chat = chatProvider.getProvider(); - HamsterCorePlugin.getInstance().getLogger().info("聊天系统挂接成功."); + logger.info("聊天系统挂接成功."); } else { - HamsterCorePlugin.getInstance().getLogger().warning("未检测到聊天系统!"); + logger.warning("未检测到聊天系统!"); } RegisteredServiceProvider economyProvider = Bukkit.getServer().getServicesManager().getRegistration(Economy.class); if (economyProvider != null) { economy = economyProvider.getProvider(); - HamsterCorePlugin.getInstance().getLogger().info("经济系统挂接成功."); + logger.info("经济系统挂接成功."); } else { - HamsterCorePlugin.getInstance().getLogger().warning("未检测到经济系统!"); + logger.warning("未检测到经济系统!"); } RegisteredServiceProvider permissionProvider = Bukkit.getServer().getServicesManager().getRegistration(Permission.class); if (permissionProvider != null) { permission = permissionProvider.getProvider(); - HamsterCorePlugin.getInstance().getLogger().info("权限系统挂接成功."); + logger.info("权限系统挂接成功."); } else { - HamsterCorePlugin.getInstance().getLogger().warning("未检测到权限插件!"); + logger.warning("未检测到权限插件!"); } + logger.info("已完成 VaultAPI 挂载."); } /** 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); + } + } }