refactor: 将部分初始化代码提前至 onLoad 阶段
This commit is contained in:
@@ -11,6 +11,7 @@ import cn.hamster3.mc.plugin.core.bukkit.listener.CallbackListener;
|
|||||||
import cn.hamster3.mc.plugin.core.bukkit.listener.DebugListener;
|
import cn.hamster3.mc.plugin.core.bukkit.listener.DebugListener;
|
||||||
import cn.hamster3.mc.plugin.core.bukkit.page.listener.PageListener;
|
import cn.hamster3.mc.plugin.core.bukkit.page.listener.PageListener;
|
||||||
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects;
|
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects;
|
||||||
|
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@@ -23,6 +24,8 @@ public class HamsterCorePlugin extends JavaPlugin {
|
|||||||
public static final ParentCommand COMMAND_EXECUTOR = new ParentCommand("core");
|
public static final ParentCommand COMMAND_EXECUTOR = new ParentCommand("core");
|
||||||
private static HamsterCorePlugin instance;
|
private static HamsterCorePlugin instance;
|
||||||
|
|
||||||
|
private BukkitAudiences audienceProvider;
|
||||||
|
|
||||||
public static HamsterCorePlugin getInstance() {
|
public static HamsterCorePlugin getInstance() {
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
@@ -34,6 +37,19 @@ public class HamsterCorePlugin extends JavaPlugin {
|
|||||||
@Override
|
@Override
|
||||||
public void onLoad() {
|
public void onLoad() {
|
||||||
instance = this;
|
instance = this;
|
||||||
|
Logger logger = getLogger();
|
||||||
|
long start = System.currentTimeMillis();
|
||||||
|
logger.info("仓鼠核心正在初始化...");
|
||||||
|
CoreBukkitAPI.init();
|
||||||
|
logger.info("CoreBukkitAPI 已初始化.");
|
||||||
|
COMMAND_EXECUTOR.addChildCommand(BlockInfoCommand.INSTANCE);
|
||||||
|
logger.info("已添加指令: " + BlockInfoCommand.INSTANCE.getName() + " .");
|
||||||
|
COMMAND_EXECUTOR.addChildCommand(YamlCommand.INSTANCE);
|
||||||
|
logger.info("已添加指令: " + YamlCommand.INSTANCE.getName() + " .");
|
||||||
|
COMMAND_EXECUTOR.addChildCommand(ParentLoreCommand.INSTANCE);
|
||||||
|
logger.info("已添加指令: " + ParentLoreCommand.INSTANCE.getName() + " .");
|
||||||
|
long time = System.currentTimeMillis() - start;
|
||||||
|
logger.info("仓鼠核心初始化完成,总计耗时 " + time + " ms.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -41,27 +57,20 @@ public class HamsterCorePlugin extends JavaPlugin {
|
|||||||
Logger logger = getLogger();
|
Logger logger = getLogger();
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
logger.info("仓鼠核心正在启动...");
|
logger.info("仓鼠核心正在启动...");
|
||||||
CoreBukkitAPI.init();
|
|
||||||
logger.info("CoreAPI 已初始化.");
|
|
||||||
VaultAPI.reloadVaultHook();
|
VaultAPI.reloadVaultHook();
|
||||||
logger.info("完成 VaultAPI 挂载.");
|
logger.info("完成 VaultAPI 挂载.");
|
||||||
PointAPI.reloadPlayerPointAPIHook();
|
PointAPI.reloadPlayerPointAPIHook();
|
||||||
logger.info("完成 PlayerPoints 挂载.");
|
logger.info("完成 PlayerPoints 挂载.");
|
||||||
|
audienceProvider = BukkitAudiences.create(this);
|
||||||
|
logger.info("完成 BukkitAudiences 挂载.");
|
||||||
Bukkit.getPluginManager().registerEvents(PageListener.INSTANCE, this);
|
Bukkit.getPluginManager().registerEvents(PageListener.INSTANCE, this);
|
||||||
logger.info("已注册 PageListener.");
|
logger.info("已注册 PageListener.");
|
||||||
Bukkit.getPluginManager().registerEvents(CallbackListener.INSTANCE, this);
|
Bukkit.getPluginManager().registerEvents(CallbackListener.INSTANCE, this);
|
||||||
logger.info("已注册 CallbackListener.");
|
logger.info("已注册 CallbackListener.");
|
||||||
Bukkit.getPluginManager().registerEvents(DebugListener.INSTANCE, this);
|
Bukkit.getPluginManager().registerEvents(DebugListener.INSTANCE, this);
|
||||||
logger.info("已注册 DebugListener.");
|
logger.info("已注册 DebugListener.");
|
||||||
COMMAND_EXECUTOR.addChildCommand(BlockInfoCommand.INSTANCE);
|
|
||||||
logger.info("已添加指令: " + BlockInfoCommand.INSTANCE.getName() + " .");
|
|
||||||
COMMAND_EXECUTOR.addChildCommand(YamlCommand.INSTANCE);
|
|
||||||
logger.info("已添加指令: " + YamlCommand.INSTANCE.getName() + " .");
|
|
||||||
COMMAND_EXECUTOR.addChildCommand(ParentLoreCommand.INSTANCE);
|
|
||||||
logger.info("已添加指令: " + ParentLoreCommand.INSTANCE.getName() + " .");
|
|
||||||
|
|
||||||
long time = System.currentTimeMillis() - start;
|
long time = System.currentTimeMillis() - start;
|
||||||
logger.info("仓鼠核心已启动,总计耗时 " + time + " ms.");
|
logger.info("仓鼠核心启动完成,总计耗时 " + time + " ms.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -86,4 +95,8 @@ public class HamsterCorePlugin extends JavaPlugin {
|
|||||||
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
||||||
return COMMAND_EXECUTOR.onTabComplete(sender, command, alias, args);
|
return COMMAND_EXECUTOR.onTabComplete(sender, command, alias, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BukkitAudiences getAudienceProvider() {
|
||||||
|
return audienceProvider;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -5,19 +5,16 @@ import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
|||||||
import com.zaxxer.hikari.HikariConfig;
|
import com.zaxxer.hikari.HikariConfig;
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
import net.kyori.adventure.platform.AudienceProvider;
|
import net.kyori.adventure.platform.AudienceProvider;
|
||||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public final class CoreBukkitAPI extends CoreAPI {
|
public final class CoreBukkitAPI extends CoreAPI {
|
||||||
private final BukkitAudiences audienceProvider;
|
|
||||||
private final HikariDataSource datasource;
|
private final HikariDataSource datasource;
|
||||||
|
|
||||||
private CoreBukkitAPI() {
|
private CoreBukkitAPI() {
|
||||||
HamsterCorePlugin plugin = HamsterCorePlugin.getInstance();
|
HamsterCorePlugin plugin = HamsterCorePlugin.getInstance();
|
||||||
audienceProvider = BukkitAudiences.create(plugin);
|
|
||||||
|
|
||||||
plugin.saveDefaultConfig();
|
plugin.saveDefaultConfig();
|
||||||
FileConfiguration config = plugin.getConfig();
|
FileConfiguration config = plugin.getConfig();
|
||||||
@@ -48,7 +45,7 @@ public final class CoreBukkitAPI extends CoreAPI {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull AudienceProvider getAudienceProvider() {
|
public @NotNull AudienceProvider getAudienceProvider() {
|
||||||
return audienceProvider;
|
return HamsterCorePlugin.getInstance().getAudienceProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -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.bungee.api.CoreBungeeAPI;
|
||||||
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects;
|
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 net.md_5.bungee.api.plugin.Plugin;
|
||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class HamsterCorePlugin extends Plugin {
|
public class HamsterCorePlugin extends Plugin {
|
||||||
private static HamsterCorePlugin instance;
|
private static HamsterCorePlugin instance;
|
||||||
|
private BungeeAudiences audienceProvider;
|
||||||
|
|
||||||
public static HamsterCorePlugin getInstance() {
|
public static HamsterCorePlugin getInstance() {
|
||||||
return instance;
|
return instance;
|
||||||
@@ -16,6 +18,13 @@ public class HamsterCorePlugin extends Plugin {
|
|||||||
@Override
|
@Override
|
||||||
public void onLoad() {
|
public void onLoad() {
|
||||||
instance = this;
|
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
|
@Override
|
||||||
@@ -23,10 +32,10 @@ public class HamsterCorePlugin extends Plugin {
|
|||||||
Logger logger = getLogger();
|
Logger logger = getLogger();
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
logger.info("仓鼠核心正在启动...");
|
logger.info("仓鼠核心正在启动...");
|
||||||
CoreBungeeAPI.init();
|
audienceProvider = BungeeAudiences.create(this);
|
||||||
logger.info("CoreAPI 已初始化.");
|
logger.info("完成 BungeeAudiences 挂载.");
|
||||||
long time = System.currentTimeMillis() - start;
|
long time = System.currentTimeMillis() - start;
|
||||||
logger.info("仓鼠核心已启动,总计耗时 " + time + " ms.");
|
logger.info("仓鼠核心启动完成,总计耗时 " + time + " ms.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -41,4 +50,8 @@ public class HamsterCorePlugin extends Plugin {
|
|||||||
long time = System.currentTimeMillis() - start;
|
long time = System.currentTimeMillis() - start;
|
||||||
logger.info("仓鼠核心已关闭,总计耗时 " + time + " ms.");
|
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.HikariConfig;
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
import net.kyori.adventure.platform.AudienceProvider;
|
import net.kyori.adventure.platform.AudienceProvider;
|
||||||
import net.kyori.adventure.platform.bungeecord.BungeeAudiences;
|
|
||||||
import net.md_5.bungee.config.Configuration;
|
import net.md_5.bungee.config.Configuration;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public final class CoreBungeeAPI extends CoreAPI {
|
public final class CoreBungeeAPI extends CoreAPI {
|
||||||
private final BungeeAudiences audienceProvider;
|
|
||||||
private final HikariDataSource datasource;
|
private final HikariDataSource datasource;
|
||||||
|
|
||||||
private CoreBungeeAPI() {
|
private CoreBungeeAPI() {
|
||||||
HamsterCorePlugin plugin = HamsterCorePlugin.getInstance();
|
HamsterCorePlugin plugin = HamsterCorePlugin.getInstance();
|
||||||
audienceProvider = BungeeAudiences.create(plugin);
|
|
||||||
|
|
||||||
Configuration config = BungeeCordUtils.getPluginConfig(plugin);
|
Configuration config = BungeeCordUtils.getPluginConfig(plugin);
|
||||||
|
|
||||||
@@ -47,7 +44,7 @@ public final class CoreBungeeAPI extends CoreAPI {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull AudienceProvider getAudienceProvider() {
|
public @NotNull AudienceProvider getAudienceProvider() {
|
||||||
return audienceProvider;
|
return HamsterCorePlugin.getInstance().getAudienceProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user