Merge branch '1.0.0'

This commit is contained in:
2023-09-24 08:00:25 +08:00
3 changed files with 41 additions and 11 deletions

View File

@@ -64,9 +64,7 @@ public class HamsterCorePlugin extends JavaPlugin {
long time = System.currentTimeMillis() - start; long time = System.currentTimeMillis() - start;
Bukkit.getScheduler().runTaskLater(this, () -> { Bukkit.getScheduler().runTaskLater(this, () -> {
PointAPI.reloadPlayerPointAPIHook(); PointAPI.reloadPlayerPointAPIHook();
logger.info("已完成 PlayerPoints 挂载.");
VaultAPI.reloadVaultHook(); VaultAPI.reloadVaultHook();
logger.info("已完成 VaultAPI 挂载.");
}, 1L); }, 1L);
logger.info("仓鼠核心启动完成,总计耗时 " + time + " ms."); logger.info("仓鼠核心启动完成,总计耗时 " + time + " ms.");
} }

View File

@@ -7,6 +7,8 @@ import net.milkbowl.vault.permission.Permission;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.RegisteredServiceProvider;
import java.util.logging.Logger;
/** /**
* Vault API * Vault API
*/ */
@@ -25,36 +27,38 @@ public class VaultAPI {
economy = null; economy = null;
permission = null; permission = null;
vaultEnabled = Bukkit.getPluginManager().isPluginEnabled("Vault"); vaultEnabled = Bukkit.getPluginManager().isPluginEnabled("Vault");
Logger logger = HamsterCorePlugin.getInstance().getLogger();
if (!vaultEnabled) { if (!vaultEnabled) {
HamsterCorePlugin.getInstance().getLogger().warning("未检测到 Vault 插件!"); logger.warning("未检测到 Vault 插件!");
return; return;
} }
HamsterCorePlugin.getInstance().getLogger().info("已连接 Vault!"); logger.info("已连接 Vault!");
RegisteredServiceProvider<Chat> chatProvider = Bukkit.getServer().getServicesManager().getRegistration(Chat.class); RegisteredServiceProvider<Chat> chatProvider = Bukkit.getServer().getServicesManager().getRegistration(Chat.class);
if (chatProvider != null) { if (chatProvider != null) {
chat = chatProvider.getProvider(); chat = chatProvider.getProvider();
HamsterCorePlugin.getInstance().getLogger().info("聊天系统挂接成功."); logger.info("聊天系统挂接成功.");
} else { } else {
HamsterCorePlugin.getInstance().getLogger().warning("未检测到聊天系统!"); logger.warning("未检测到聊天系统!");
} }
RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServer().getServicesManager().getRegistration(Economy.class); RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (economyProvider != null) { if (economyProvider != null) {
economy = economyProvider.getProvider(); economy = economyProvider.getProvider();
HamsterCorePlugin.getInstance().getLogger().info("经济系统挂接成功."); logger.info("经济系统挂接成功.");
} else { } else {
HamsterCorePlugin.getInstance().getLogger().warning("未检测到经济系统!"); logger.warning("未检测到经济系统!");
} }
RegisteredServiceProvider<Permission> permissionProvider = Bukkit.getServer().getServicesManager().getRegistration(Permission.class); RegisteredServiceProvider<Permission> permissionProvider = Bukkit.getServer().getServicesManager().getRegistration(Permission.class);
if (permissionProvider != null) { if (permissionProvider != null) {
permission = permissionProvider.getProvider(); permission = permissionProvider.getProvider();
HamsterCorePlugin.getInstance().getLogger().info("权限系统挂接成功."); logger.info("权限系统挂接成功.");
} else { } else {
HamsterCorePlugin.getInstance().getLogger().warning("未检测到权限插件!"); logger.warning("未检测到权限插件!");
} }
logger.info("已完成 VaultAPI 挂载.");
} }
/** /**

View File

@@ -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 @NotNull
public static Configuration saveDefaultConfig(@NotNull Plugin plugin) { public static Configuration saveDefaultConfig(@NotNull Plugin plugin) {
if (plugin.getDataFolder().mkdir()) { if (plugin.getDataFolder().mkdir()) {
plugin.getLogger().info("创建插件文件夹..."); plugin.getLogger().info("已生成插件存档文件夹...");
} }
File configFile = new File(plugin.getDataFolder(), "config.yml"); File configFile = new File(plugin.getDataFolder(), "config.yml");
try { try {
@@ -55,4 +68,19 @@ public final class CoreBungeeCordUtils {
throw new RuntimeException(e); 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);
}
}
} }