如果我们想要修改configs里的json,怎么办呢?或者依据config里的配置来决定mod表现?
之前的修改数据库的办法,只能对dababase文件夹里的json转变成的对象来进行操作。
现在,我们来学习操作configs。
首先!最重要的是!配置从aki启动时就开始影响aki的行为,我建议是在preaki阶段就进行读写。
在开始之前,我们先在开头导入需要的模块。我们看到了ConfigServer之外还有ConfigTypes和IXxxxConfig
第16行,我们看到了和读写db时类似的解析行为。
但是20行,我们发现并不和db的getTables相似,多出来了两个参数。
const botConfig = configServer.getConfig<IBotConfig>(ConfigTypes.BOT);
不同类别的配置是分来的对象。
<>里的是对对象格式的定义,不是所有的配置类型都有。不加也不是不能跑。在types\models\spt\config里能找到对应的几个种类。
ConfigTypes.BOT咋么理解呢?查看ConfigTypes的定义,ConfigTypes.BOT等价于”aki-bot”,aki-后面就是对应的json文件名。
也就是说,假如我们要修改configs里的一个json文件,首先导入ConfigTypes,在ConfigTypes里找到对应的填进()
然后找到对应的格式导入、填进<>
这样就获取到对应的对象了。
之后的操作就和操作db是一样的了