【翻译】McJty教程之1.9基础模组
三三的小狐狸
2018年02月05日 18:10
收录于文集
共20篇

在正文开始之前,请容许我吐槽一下B站专栏对代码的支持。想要看代码高亮的可以去原文地址或者我的微信公众号(pearapple_2015)查看。

原文链接:https://wiki.mcjty.eu/modding/index.php?title=Basic_Mod-1.9

有许多方式可以构建你的mod。在这一章节我们就引出两种可能的解决方案。 首先,这是一个最简化的mod类:

现在我们来聊聊每一部分的代码都是干嘛的:

“@Mod”让Forge知道这是一个mod并且要像mod一样处理这个类。“modid”告诉forge它应该给你的mod用什么id,这里的modid是string类型。“name”这个部分是一个将会被展示出来的让人容易读的名字,同样也是string类型。“dependencies”部分展示了这个mod依赖哪些mod,也就是说要运行这个mod哪些其他mod是必须的。这里的话是Forge 11.15.0.1634。“useMetadata”决定了Forge是否应该用mcmod.info这个文件去覆盖注释中的其他设置。

这些就是“@Mod”里面引用的字符串们。它们的意思是“MODID”就是“modtut”,“MODNAME”就是“Mod tutorials”,版本号是“0.0.1”。

这一部分设置了端。这些我们之后再解释。

通过告诉Forge它应该运行ModTut类,这里创建了mod实例。

这一大部分设置了这个mod在初始化之前(preinit),初始化中(init)和初始化之后的运行内容。它还为mod设置了一个logger,可以把日志输出到控制台。

你还需要proxy类们。这些类用于mod的初始化,并且保证了在正确的“一边”做正确的事,比如说服务端和客户端。这样的处理方式被认为是很好的做法。需要注意的是在很多情况下,你可以使用CommonProxy类作为服务端,因为大多数你希望在服务端初始化的内容你也需要在客户端进行初始化。