Skip to content

工欲善其事 必先利其器

模组基本信息配置

完成环境配置之后,我们仍有一些内容需要略作修改,来保证我们的mod正常运行。

首先我们需要修改我们的modid,这需要修改三个地方:gradle,mods.toml,以及模组主类。

从gradle开始: 打开我们的build.gradle文件,翻到最底下,有这样一段内容:

img 这些绿色的部分就是我们需要修改的内容。从上到下依次是:

  • 模组id,也就是模组的唯一标识符,用于区别各种模组的最直接标识。modid必须要以小写字母开头,且只能包含小写字母,数字和下划线。我们建议您设置一个比较独特而好记的modid,以避免与其它模组产生名字冲突
  • 模组名字。模组id与模组名字的关系,就像身份证号与人名的关系,也就是说名字可以相同,不会造成崩溃。但为了更方便地让玩家辨认,我仍推荐您使用较为独特且易记的名字。名字可以包含任意字符(正常字符)
  • 模组协议,也就是开源与转载许可协议,参考其给出的链接。
  • 模组版本。注:不是模组使用的minecraft版本。
  • 组织名。与java内概念相同,详情请自行搜索。
  • 模组作者。
  • 模组描述。

修改完这些内容后,我们可以打开mods.toml文件。在这里,我们只需要将所有(三个)${mod_id}字符修改为之前使用的modid即可。下面两个是指定模组依赖,这里可以看到我们指定了minecraft和neoforge。如果您需要添加其它依赖,也会需要在这里进行配置。

最后,我们来添加代码中mod主类。删除scr/main/java下的java文件,并开始建包: 通常的命名格式为:

java
package com.auther.project;

也就是项目类型.作者.项目名,这是java推荐的命名规范,用于防止代码包的冲突。其中每一段代表包下的一个文件夹(软件包),比如:

路径: com.landis.ark_tts.ArkTTS
代码位置示例:

img 其中,所有名字都可以根据您的需求自行调整。我们这里创建的ArkTTS是作为模组主类使用,不意味着您的模组必须使用ArkTTS作为主类。在这个作为主类的包中,我们添加以下内容:

java
//省略package与import
@Mod(ArkTTS.MODID)
public class ArkTTS {
    public static final String MODID = "ark_tts";

    public ArkTTS(IEventBus bus){
        //添加模组加载时需要准备的内容
    }
}

MODID部分我们声明了一个静态常量,其内容应与之前提到的modid一致,我们在之后将会经常调用这个常量来保证代码中namespace的统一。下方的ArkTTS(IEventBus bus)用于构造一个模组的实例,我们模组的初始化调用将执行这里面的代码,在之后我们会多次用到。

完成这部分内容后,您可以重新加载gradle,并运行客户端。如果您看到游戏成功加载且mod列表中有您的模组,就说明模组的准备完成了。