refactor: 将部分初始化代码提前至 onLoad 阶段
This commit is contained in:
@@ -2,12 +2,14 @@ package cn.hamster3.mc.plugin.core.bungee;
|
||||
|
||||
import cn.hamster3.mc.plugin.core.bungee.api.CoreBungeeAPI;
|
||||
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects;
|
||||
import net.kyori.adventure.platform.bungeecord.BungeeAudiences;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class HamsterCorePlugin extends Plugin {
|
||||
private static HamsterCorePlugin instance;
|
||||
private BungeeAudiences audienceProvider;
|
||||
|
||||
public static HamsterCorePlugin getInstance() {
|
||||
return instance;
|
||||
@@ -16,6 +18,13 @@ public class HamsterCorePlugin extends Plugin {
|
||||
@Override
|
||||
public void onLoad() {
|
||||
instance = this;
|
||||
Logger logger = getLogger();
|
||||
long start = System.currentTimeMillis();
|
||||
logger.info("仓鼠核心正在初始化...");
|
||||
CoreBungeeAPI.init();
|
||||
logger.info("CoreBungeeAPI 已初始化.");
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠核心初始化完成,总计耗时 " + time + " ms.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -23,10 +32,10 @@ public class HamsterCorePlugin extends Plugin {
|
||||
Logger logger = getLogger();
|
||||
long start = System.currentTimeMillis();
|
||||
logger.info("仓鼠核心正在启动...");
|
||||
CoreBungeeAPI.init();
|
||||
logger.info("CoreAPI 已初始化.");
|
||||
audienceProvider = BungeeAudiences.create(this);
|
||||
logger.info("完成 BungeeAudiences 挂载.");
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠核心已启动,总计耗时 " + time + " ms.");
|
||||
logger.info("仓鼠核心启动完成,总计耗时 " + time + " ms.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -41,4 +50,8 @@ public class HamsterCorePlugin extends Plugin {
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠核心已关闭,总计耗时 " + time + " ms.");
|
||||
}
|
||||
|
||||
public BungeeAudiences getAudienceProvider() {
|
||||
return audienceProvider;
|
||||
}
|
||||
}
|
||||
|
@@ -6,18 +6,15 @@ import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||
import com.zaxxer.hikari.HikariConfig;
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import net.kyori.adventure.platform.AudienceProvider;
|
||||
import net.kyori.adventure.platform.bungeecord.BungeeAudiences;
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class CoreBungeeAPI extends CoreAPI {
|
||||
private final BungeeAudiences audienceProvider;
|
||||
private final HikariDataSource datasource;
|
||||
|
||||
private CoreBungeeAPI() {
|
||||
HamsterCorePlugin plugin = HamsterCorePlugin.getInstance();
|
||||
audienceProvider = BungeeAudiences.create(plugin);
|
||||
|
||||
Configuration config = BungeeCordUtils.getPluginConfig(plugin);
|
||||
|
||||
@@ -47,7 +44,7 @@ public final class CoreBungeeAPI extends CoreAPI {
|
||||
|
||||
@Override
|
||||
public @NotNull AudienceProvider getAudienceProvider() {
|
||||
return audienceProvider;
|
||||
return HamsterCorePlugin.getInstance().getAudienceProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user