插件仓库

MCDR 的官方插件仓库位于 https://github.com/MCDReforged/PluginCataloguemaster 分支。用户可以在此处阅览插件,开发者也可以将他们的插件提交至该仓库

该仓库在文件变更时会更新。除此之外,每 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

authors

可选的属性,默认值:[]

一个储存着插件作者的列表。列表中的元素可以是代表着作者名称的单个 str,也可以是一个储存着作者的名称及作者相关链接的 dict

例子:

"authors": [
    "Someone",
    "That person",
    {
        "name": "AnotherOne",
        "link": "https://github.com/AnotherOne"
    },
    {
        "name": "MyFriend",
        "link": "https://www.myfriend.com"
    }
]

类型:List[str or dict]

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 名称:与发布的插件的版本一致,可为以下的格式之一:

格式

例子

<version>

1.2.3

v<version>

v1.2.3

<plugin_id>-<version>

my_plugin-1.2.3

<plugin_id>-v<version>

my_plugin-v1.2.3

  • 附件:包含一个以 .mcdr.pyz 为扩展名的文件附件。其他附件将会被忽略

    这也意味着仅有 打包插件 这一种格式是被支持的

提交插件

如果你想要提交你的插件,在 plugins/ 文件夹中创建你的插件的文件夹,并创建好必须的文件,然后发出一个 Pull Request

推荐将你的 github 链接置于 authors 属性中,这样仓库的维护者可以很容易的判断你是否是该插件的所有者

所有变更的文件仅可位于 plugins/ 文件夹里的,以你的插件 id 命名的子文件夹中