/** Kether */
@CommandBody
val eval = subCommand {
dynamic("script") {
execute<CommandSender> { sender, context, argument ->
submitAsync {
// 获取参数的值
val content = context["script"]
val ret = runKether(listOf(content), sender)
sender.sendStringAsComponent(sender.asLangText("ApiKether", content))
sender.sendStringAsComponent(sender.asLangText("ApiReturn", ret.get().toString())) }
}
}
}
上述这段代码开启、关闭新解析器将导致结尾的参数不同解析结果:
/kangeldungeon api eval tell 1
newParser = false时 结果如下:(结尾参数无限解析)
argument= tell 1,context["script"]= tell 1
newParser = true时 结果如下:(结尾参数只解析1个)
argument= tell,context["script"]= tell
值得注意的是newParser看的是执行的指令,
如/kangeldungeon开启解析,/kangeldungeonapi关闭解析,但是/kangeldungeon api嵌套仍然视作开启解析。刚开始我被这个东西扰乱了
上述这段代码开启、关闭新解析器将导致结尾的参数不同解析结果:
/kangeldungeon api eval tell 1
newParser = false时 结果如下:(结尾参数无限解析)
argument=
tell 1,context["script"]=tell 1newParser = true时 结果如下:(结尾参数只解析1个)
argument=
tell,context["script"]=tell值得注意的是newParser看的是执行的指令,
如/kangeldungeon开启解析,/kangeldungeonapi关闭解析,但是/kangeldungeon api嵌套仍然视作开启解析。刚开始我被这个东西扰乱了