• 插件格式 — MCDReforged 2.16.0
  • 2026-01-20 19:16:40
  • 打包插件

    打包插件是一个文件名后缀是 .mcdr 或 .pyz 的 zip 类型的压缩文件。它是分发插件时的推荐格式

    一个最小的打包插件在其压缩文件根目录中包含了以下的文件:

    mcdreforged.plugin.json,储存着该插件的元数据

    一个以你的插件 id 为名的合法的 python 包

    下面是插件 id 为 my_plugin 时,最小打包插件的文件树的一个例子:

    my_mcdr_server/plugins/

    └─ MyPlugin.mcdr

    ├─ my_plugin/

    │ └─ __init__.py

    └─ mcdreforged.plugin.json

    可选的,打包插件可以包含其他可被 MCDR 识别的有用的文件:

    requirements.txt,储存着你的插件所依赖的 python 依赖。在插件加载前这些依赖需求将会被检查

    lang/,一个储存着 json(.json)或者 yaml(.yml)格式的翻译文件的文件夹。MCDR 将会自动地载入并注册这些翻译文件

    你可以在打包插件中包含其他的自定义文件或文件夹。你可以借助 ServerInterface 的 open_bundled_file() 方法来访问这些文件

    下面是包含着更多文件的打包插件的文件树的一个例子:

    my_mcdr_server/plugins/

    └─ MyPlugin.mcdr

    ├─ my_plugin/

    │ ├─ __init__.py

    │ └─ my_lib.py

    ├─ my_data/

    │ ├─ default_config.json

    │ └─ some_data.txt

    ├─ lang/

    │ ├─ en_us.json

    │ └─ zh_cn.json

    ├─ mcdreforged.plugin.json

    └─ requirements.txt

    除了 .mcdr 文件扩展名外,python 的 zip app 扩展名 .pyz 也是打包插件的一个可用扩展名

    尽管 .pyz 并不像 .mcdr 那样,能让人轻易地从文件名看出这是一个 MCDR 插件,但是对于那些支持脱离 MCDR 直接于控制台中运行的插件而言,使用 .pyz 扩展名能明确地表示“可于控制台中运行”这一性质