Package io.github.theword.queqiao.core
Class GlobalContext
java.lang.Object
io.github.theword.queqiao.core.GlobalContext
全局上下文门面
对外提供静态访问入口,内部持有一个 QueQiaoRuntime 实例。
线程安全:
runtime为volatile,保证初始化后的引用对所有线程可见(安全发布)init(boolean, java.lang.String, java.lang.String, io.github.theword.queqiao.core.handle.HandleApiService, io.github.theword.queqiao.core.handle.HandleCommandReturnMessageService)/shutdown()由INIT_LOCK串行化,二者均幂等
未初始化状态:runtime 初始为 QueQiaoRuntime.empty()——
一个"最小可用运行时"(NOP 日志 + 默认配置),
因此 getLogger() / getConfig() 不会返回 null,
shutdown() / sendEvent() 也不会抛异常。
- Since:
- 0.6.11
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidexecuteReloadCommand(Object commandReturner) static Configstatic com.google.gson.GsongetGson()static HandleApiServicestatic org.slf4j.Loggerstatic com.google.gson.JsonElementstatic Stringstatic Stringstatic WebsocketManagerstatic voidinit(boolean isModServer, String serverVersion, String serverType, HandleApiService handleApiImpl, HandleCommandReturnMessageService handleCommandReturnMessageImpl) 初始化鹊桥static voidinit(boolean isModServer, String serverVersion, String serverType, HandleApiService handleApiImpl, HandleCommandReturnMessageService handleCommandReturnMessageImpl, Consumer<ConfigRegistry> configurer) 初始化并在配置加载前注册扩展配置。static com.google.gson.JsonElementinitMessagePrefixJsonObject(String messagePrefixText) static booleanstatic voidstatic StringsendRconCommand(String command) static void替换运行时配置状态(供测试与工具注入)static voidsetLogger(org.slf4j.Logger logger) static voidshutdown()关闭鹊桥static String
-
Method Details
-
init
public static void init(boolean isModServer, String serverVersion, String serverType, HandleApiService handleApiImpl, HandleCommandReturnMessageService handleCommandReturnMessageImpl) 初始化鹊桥幂等:若已初始化,会先关闭旧实例再创建新实例。 这样即使平台在未调用
shutdown()的情况下重复初始化(如插件热重载), 旧实例持有的 WebSocket 连接、共享重连调度器、Rcon 连接与线程也能被正确回收, 而不是变成无法再关闭的孤儿对象。- Parameters:
isModServer- 是否为模组服务端serverVersion- 服务端版本serverType- 服务端类型handleApiImpl- 平台 API 实现handleCommandReturnMessageImpl- 平台命令返回消息实现
-
init
public static void init(boolean isModServer, String serverVersion, String serverType, HandleApiService handleApiImpl, HandleCommandReturnMessageService handleCommandReturnMessageImpl, Consumer<ConfigRegistry> configurer) 初始化并在配置加载前注册扩展配置。 -
executeReloadCommand
-
shutdown
public static void shutdown()关闭鹊桥幂等:未初始化时调用、或重复调用,都不会抛异常。
-
sendEvent
-
sendRconCommand
- Throws:
RconException
-
initMessagePrefixJsonObject
-
isTranslationEnabled
public static boolean isTranslationEnabled() -
translate
-
getConfig
- Returns:
- 配置运行时状态(唯一配置状态来源)
-
setConfig
替换运行时配置状态(供测试与工具注入)- Parameters:
config- 新的配置运行时状态
-
getLogger
public static org.slf4j.Logger getLogger() -
setLogger
public static void setLogger(org.slf4j.Logger logger) -
getWebsocketManager
-
getHandleApiService
-
getHandleCommandReturnMessageService
-
getServerVersion
-
getServerType
-
getGson
public static com.google.gson.Gson getGson() -
getMessagePrefixJsonObject
public static com.google.gson.JsonElement getMessagePrefixJsonObject()
-