diff --git a/gradle.properties b/gradle.properties index 733ecee..147051f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,5 +3,5 @@ org.gradle.downloadSources=false org.gradle.parallel=true org.gradle.degree_of_parallelism=16 project_group=top.r3944realms.ltdmanager -project_version=1.15-SNAPSHOT +project_version=1.16-SNAPSHOT dg_lab_version=4.4.14.18 diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/core/config/ModuleConfig.kt b/src/main/kotlin/top/r3944realms/ltdmanager/core/config/ModuleConfig.kt index a330a49..f59ff37 100644 --- a/src/main/kotlin/top/r3944realms/ltdmanager/core/config/ModuleConfig.kt +++ b/src/main/kotlin/top/r3944realms/ltdmanager/core/config/ModuleConfig.kt @@ -10,21 +10,19 @@ data class ModuleConfig( var name: String = "default", var type: ModuleType = ModuleType.HELP_MODULE, var enabled: Boolean = true, - var dependencies: List = emptyList(), + var dependencies: List? = emptyList(), var config: Map = emptyMap() ) { data class Dependency( - var name: String, - var type: ModuleType + var name: String = "unknown", + var type: ModuleType = ModuleType.UNKNOWN_MODULE, ) { - private val dependencyName: String = "${type.modName}-$name" - - fun getDepName() :String = dependencyName + fun getDepName() :String = "${type.modName}-#$name" } fun findDependency(type: ModuleType): Dependency? { - return dependencies.find { it.type == type } + return dependencies?.find { it.type == type } } inline fun typedList(paramName: String): List { val list = anyList(paramName) @@ -125,7 +123,8 @@ data class ModuleConfig( MOD_GROUP_HANDLER_MODULE(Modules.MOD_GROUP_HANDLER), RCON_PLAYER_LIST_MODULE(Modules.RCON_PLAYER_LIST), STATE_MODULE(Modules.STATE), - HELP_MODULE(Modules.HELP),; + HELP_MODULE(Modules.HELP), + UNKNOWN_MODULE("UnknownModule"); } // 基础获取方法 fun value(paramName: String): Any = diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/module/ModuleFactory.kt b/src/main/kotlin/top/r3944realms/ltdmanager/module/ModuleFactory.kt index ad3d113..130d02d 100644 --- a/src/main/kotlin/top/r3944realms/ltdmanager/module/ModuleFactory.kt +++ b/src/main/kotlin/top/r3944realms/ltdmanager/module/ModuleFactory.kt @@ -20,6 +20,7 @@ object ModuleFactory { STATE_MODULE -> createState(config) MOD_GROUP_HANDLER_MODULE -> createModGroupHandler(config) HELP_MODULE -> createHelpModule(config) + UNKNOWN_MODULE -> throw ConfigError(ConfigError.Type.INVALID_PARAMETER, "unknown module") } } private fun resolveDependency(dep: ModuleConfig.Module.Dependency?, name: String): BaseModule? { @@ -176,7 +177,6 @@ object ModuleFactory { private fun createHelpModule(config: ModuleConfig.Module): HelpModule { val selfId = config.long("self-id") val cooldownMillis = config.getOrDefault("cooldown-millis", 10_000L) - config.getOrDefault("rcon-timeout-millis", 2_000L) val groupMessagePollingModule = resolveDependency(config.findDependency(GROUP_MESSAGE_POLLING_MODULE), "groupMessagePolling") as GroupMessagePollingModule val selfNickName = config.string("self-nick-name") val keywords = config.stringList("keywords")