Fabric模组开发 (我的世界):修订间差异

来自Hyacinth
跳转到导航 跳转到搜索
删除的内容 添加的内容
草awa留言 | 贡献
创建页面,内容为“{{Title|Fabric模组开发}} 要进行Fabric模组开发,首先需要配置Gradle构建系统并导入相关的依赖,通常选择直接克隆Fabric官方GitHub仓库中的[https://github.com/FabricMC/fabric-example-mod fabric-example-mod]后在IDE中自动配置。 == fabric.mod.json == 每个Fabric模组都需要''fabric.mod.json''文件来加载,<ref name="fabric.mod.json">{{cite web |url=https://wiki.fabricmc.net…”
 
草awa留言 | 贡献
无编辑摘要
 
第41行: 第41行:
</syntaxhighlight>
</syntaxhighlight>
== 入口点 ==
== 入口点 ==
作为Fabric模组的入口点,类必须实现ModInitializer、ClientModInitializer、DedicatedServerModInitializer这三个接口的的其中一个,并在fabric.mod.json的''entrypoints''文件中定义入口类的全类名,三个Initializer各有不同的列表,将入口点写在错误的位置会报错并且无法启动Minecraft。<ref name="fabricmc-entrypoints">{{cite web |url=https://wiki.fabricmc.net/zh_cn:documentation:entrypoint |title=入口点 [Fabric Wiki] |access-date=2025-02-09 }}</ref>
作为Fabric模组的入口点,类必须实现ModInitializer、ClientModInitializer、DedicatedServerModInitializer这三个接口的的其中一个,并在fabric.mod.json文件的''entrypoints''中定义入口类的全类名,三个Initializer各有不同的列表,将入口点写在错误的位置会报错并且无法启动Minecraft。<ref name="fabricmc-entrypoints">{{cite web |url=https://wiki.fabricmc.net/zh_cn:documentation:entrypoint |title=入口点 [Fabric Wiki] |access-date=2025-02-09 }}</ref>


=== ModInitializer ===
=== ModInitializer ===

2025年3月27日 (四) 15:28的最新版本

要进行Fabric模组开发,首先需要配置Gradle构建系统并导入相关的依赖,通常选择直接克隆Fabric官方GitHub仓库中的fabric-example-mod后在IDE中自动配置。

fabric.mod.json

每个Fabric模组都需要fabric.mod.json文件来加载,[1]它的格式类似于:

{
    "schemaVersion": 1,
    "id": "example-mod",
    "version": "${version}",
    "name": "Mod name",
    "description": "The example mod",
    "contact": {
        "email": "foo@example.com",
        "irc": "irc://irc.example.com",
        "issues": "https://issues.example.com",
        "homepage": https://example.com",
        "sources": "https://source.example.com"
    },
    "environment": "server",
    "entrypoints" : {
        "main": [ 
            /* 此处应为模组的入口点全类名 */
            "com.example.mod.ExampleModEntrypoint"
        ],
        "client": [ /* 和上面的main格式类似 */ ],
        "server": [ /* 和上面的main格式类似 */ ]
    }
    "authors": [
        "Author1",
        "Author2",
        {
            "name": "Author3",
            "contact": { /* 和上面的contact格式类似 */ }
        }
    ],
    "contributors": [ /* 和上面的authors格式类似 */ ],
    "license": "GPLv3",
    "icon": "assets/example-mod/icon.png"
}

入口点

作为Fabric模组的入口点,类必须实现ModInitializer、ClientModInitializer、DedicatedServerModInitializer这三个接口的的其中一个,并在fabric.mod.json文件的entrypoints中定义入口类的全类名,三个Initializer各有不同的列表,将入口点写在错误的位置会报错并且无法启动Minecraft。[2]

ModInitializer

ModInitializer入口点需要定义在entrypointsmain列表里。

ClientModInitializer

ClientModInitializer入口点需要定义在entrypointsclient列表里。

DedicatedServerModInitializer

DedicatedServerModInitializer入口点需要定义在entrypointsserver列表里。

参考文献

  1. "fabric.mod.json [Fabric Wiki]". Retrieved 2025-02-09.
  2. "入口点 [Fabric Wiki]". Retrieved 2025-02-09.