feat: 使用 MiniMessage 读取消息

This commit is contained in:
2024-01-20 15:43:11 +08:00
parent 1a23117157
commit aaef3c564c
10 changed files with 100 additions and 50 deletions

View File

@@ -8,6 +8,7 @@ import net.md_5.bungee.api.plugin.Plugin;
import java.util.logging.Logger;
@SuppressWarnings("CallToPrintStackTrace")
public class HamsterCorePlugin extends Plugin {
@Getter
private static HamsterCorePlugin instance;
@@ -20,8 +21,13 @@ public class HamsterCorePlugin extends Plugin {
instance = this;
Logger logger = getLogger();
logger.info("仓鼠核心正在初始化");
CoreBungeeAPI.init();
logger.info("已初始化 CoreAPI");
try {
CoreBungeeAPI.init();
logger.info("已初始化 CoreAPI");
} catch (Exception e) {
logger.warning("初始化 CoreAPI 出错");
e.printStackTrace();
}
long time = System.currentTimeMillis() - start;
logger.info("仓鼠核心初始化完成,总计耗时 " + time + " ms");
}
@@ -53,5 +59,4 @@ public class HamsterCorePlugin extends Plugin {
long time = System.currentTimeMillis() - start;
logger.info("仓鼠核心已关闭,总计耗时 " + time + " ms");
}
}

View File

@@ -28,16 +28,29 @@ public final class CoreBungeeAPI extends CoreAPI {
private final HikariDataSource datasource;
private CoreBungeeAPI() {
gson = new GsonBuilder()
.registerTypeAdapter(Component.class, ComponentTypeAdapter.INSTANCE)
.registerTypeAdapter(DisplayMessage.class, MessageTypeAdapter.INSTANCE)
.create();
humanGson = new GsonBuilder()
.registerTypeAdapter(Component.class, ComponentTypeAdapter.INSTANCE)
.registerTypeAdapter(DisplayMessage.class, MessageTypeAdapter.INSTANCE)
.serializeNulls()
.setPrettyPrinting()
.create();
HamsterCorePlugin plugin = HamsterCorePlugin.getInstance();
Configuration config = CoreBungeeCordUtils.getPluginConfig(plugin);
HamsterCorePlugin.getInstance().getLogger().info("正在创建 redis 客户端");
redisClient = RedisClient.create(config.getString("redis-url"));
HamsterCorePlugin.getInstance().getLogger().info("redis 客户端创建完成");
Configuration datasourceConfig = config.getSection("datasource");
if (datasourceConfig == null) {
throw new IllegalArgumentException("配置文件中未找到 datasource 节点");
}
HamsterCorePlugin.getInstance().getLogger().info("正在创建数据库连接池");
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName(datasourceConfig.getString("driver"));
hikariConfig.setJdbcUrl(datasourceConfig.getString("url"));
@@ -54,17 +67,7 @@ public final class CoreBungeeAPI extends CoreAPI {
hikariConfig.setValidationTimeout(datasourceConfig.getLong("validation-timeout", 5000));
hikariConfig.setPoolName("HamsterCore-Pool");
datasource = new HikariDataSource(hikariConfig);
gson = new GsonBuilder()
.registerTypeAdapter(Component.class, ComponentTypeAdapter.INSTANCE)
.registerTypeAdapter(DisplayMessage.class, MessageTypeAdapter.INSTANCE)
.create();
humanGson = new GsonBuilder()
.registerTypeAdapter(Component.class, ComponentTypeAdapter.INSTANCE)
.registerTypeAdapter(DisplayMessage.class, MessageTypeAdapter.INSTANCE)
.serializeNulls()
.setPrettyPrinting()
.create();
HamsterCorePlugin.getInstance().getLogger().info("数据库连接池创建完成");
}
public static CoreBungeeAPI getInstance() {