fix(修复模块依赖读取错误): 如题
This commit is contained in:
parent
988ed191ec
commit
81e1237635
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -10,21 +10,19 @@ data class ModuleConfig(
|
|||
var name: String = "default",
|
||||
var type: ModuleType = ModuleType.HELP_MODULE,
|
||||
var enabled: Boolean = true,
|
||||
var dependencies: List<Dependency> = emptyList(),
|
||||
var dependencies: List<Dependency>? = emptyList(),
|
||||
var config: Map<String, Any> = 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 <reified T> typedList(paramName: String): List<T> {
|
||||
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 =
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user