👌模组声明
介绍
NML与NCMS一样, 用mod.json文件来表示一个模组的信息. 但不同的是, NML用mod.json来定位模组, 如果一个文件夹中不存在一个有效的mod.json文件, 那么该文件夹就判定为不存在模组.
目前NML不支持在子文件夹下搜索mod.json, 如果是用于声明模组请直接放置在模组文件夹下. 额外的key并不会与NCMS冲突.
解析
mod.json文件会按JSON格式等价解析成
public class ModDeclare
{
public string name; // 模组名
public string author; // 作者名
public string version; // 版本
public string description; // 描述
public string iconPath; // 图标路径(相对于mod.json所在文件夹)
public string RepoUrl; // 仓库地址
public string[] Dependencies; // 硬依赖
public string[] OptionalDependencies; // 软依赖
public string[] IncompatibleWith; // 不兼容模组列表(未实现)
}其中, 模组名和作者名尽量不要包含特殊符号
在运行时, 会使用"作者名_模组名"并取大写作为模组的ID, 其中属于ASCII码但不是数字或字母的字符会被替换为下划线. 如
作者名
模组名
ID
Nikon#7777
Example Mod
NIKON_7777_EXAMPLE_MOD
一米
中文名
一米_中文名
仓库地址
可以不填, 一般用于反馈bug或建议. 在模组列表中通过一个按钮访问(不知道怎么描述, 懂得都懂).
硬依赖
应当是模组ID的数组. 当所有硬依赖的模组均编译成功时, 该模组才会编译加载.
软依赖
应当是模组ID的数组. 其中的某个模组编译成功后, 该模组在编译时会加入编译成功的软依赖模组的ID作为宏(预定义常数)
不兼容模组列表
应当是模组ID的数组. 其功能未实现
图标路径
相对于模组文件夹, 可以为空, 为空时, 图标默认为NML的图标
访问
当一个模组能够访问到ModDeclare时, ModDeclare已经经过NML处理, 具体的定义如下
其中JsonProperty特性中的字符串表示解析时对应的key
Last updated