插件仓库
MCDR 的官方插件仓库位于 https://github.com/MCDReforged/PluginCatalogue 的 master
分支。用户可以在此处阅览插件,开发者也可以将他们的插件提交至该仓库
该仓库在文件变更时会更新。除此之外,每 1 小时,该仓库也会通过 github action 更新
文件结构
插件的信息储存在仓库的 plugins/
文件夹中。每个插件于 plugins/
文件夹内拥有着以其插件 ID 为名的子文件夹
plugins/
├─ my_plugin
│ └─ plugin_info.json
└─ another_plugin
├─ plugin_info.json
└─ some_other_files.txt
插件信息
plugin_info.json
储存着你的插件的基本信息
id
你的插件的 ID。需要与 plugin_info.json
所在的文件夹的名称一致
类型:str
repository
你的插件的 github 仓库的 url
类型:str
branch
你的插件所在的 git 仓库的分支
类型:str
labels
可选的属性,默认值:[]
你插件的 标签 列表,储存的值为标签的 id。好好挑选它们
类型: List[str]
introduction
可选的属性,默认值:{}
插件的介绍部分(introduction)是一个使用 markdown 语法撰写的文段。它将会在用户浏览你的插件时向其展示。与自述文件(readme)或文档对比,插件介绍更注重于展示插件的特性从而吸引新用户
对于 introduction 属性,它是一个将 语言 映射至文件路径的映射
其中,键为语言的 id
值代表了插件介绍文件在你的插件的仓库中的文件路径。属性 related_path 在计算真实 url 时是会加入考虑的
使用与 related_path 中相同的文件结构的一个例子:
"introduction": {
"en_us": "doc/introduction.md",
"zh_cn": "doc/introduction-zh_cn.md"
}
或者,你也可以不声明此属性,而是将介绍文件放在 plugin_info.json
所在的同一文件夹下
对于默认语言 en_us
,它应当被命名为 introduction.md
;对于其他语言,它应当被命名为如 introduction-zh_cn.md
plugins/
└─ my_plugin
├─ plugin_info.json
├─ introduction.md
└─ introduction-zh_cn.md
类型: Dict[str, str]
标签
标签描述着插件的功能。一个插件可以拥有多个标签
所有可用的标签都在下方表格中被列出
标签 id |
标签名 |
描述 |
---|---|---|
information |
信息 |
显示或获取各类信息的插件 |
tool |
工具 |
工具类,或游戏助手型插件 |
management |
管理 |
管理服务端的文件等各种事务 |
api |
API |
作为一个 API 或者一个依赖库,为其他插件提供各种通用功能 |
语言
插件仓库为不同国家的用户提供多种语言支持
英文 (
en_us
)简体中文 (
zh_cn
)
默认的和缺省的语言为 en_us
发布版本
插件仓库将会自动检测你的插件的仓库内的发布版本,并在其中的附件列表里获取你插件的下载链接,只要发布版本符合以下的约束:
Pre-release:该发布版不应该是一个 pre-release
发布版本的 tag 名称:与发布的插件的版本一致,可为以下的格式之一:
格式 |
例子 |
---|---|
|
1.2.3 |
|
v1.2.3 |
|
my_plugin-1.2.3 |
|
my_plugin-v1.2.3 |
附件:包含一个以
.mcdr
或.pyz
为扩展名的文件附件。其他附件将会被忽略这也意味着仅有 打包插件 这一种格式是被支持的
提交插件
如果你想要提交你的插件,在 plugins/
文件夹中创建你的插件的文件夹,并创建好必须的文件,然后发出一个 Pull Request
推荐将你的 github 链接置于 authors 属性中,这样仓库的维护者可以很容易的判断你是否是该插件的所有者
所有变更的文件仅可位于 plugins/
文件夹里的,以你的插件 id 命名的子文件夹中