1.13版本之后如何制作Minecraft CoreMod

1.13版本之后如何制作Minecraft CoreMod

本站内容版权属于本人。转载须告知本人,写明出处,并在文首提供指向本站对应文章的链接。
本文链接:1.13版本之后如何制作Minecraft CoreMod

现在用到CoreMod的地方比较少了,大部分功能都不需要用CoreMod修改原本的Minecraft代码,而是能用钩子或者类继承的方式完成。不过还是有很多地方需要它,我自己的一个CoreMod仍然需要修改原本的代码,现在Minecraft都已经1.16.1了,Minecraft Forge也支持到了1.15.2。而1.13版本CoreMod机制做了次大改,我之前为1.12.2做的CoreMod都不能用了。

参考这篇文章就能做出修改Minecraft代码的CoreMod了:https://xfl03.gitbook.io/coremodtutor/3-yuan-ban-coremod/3.4#zhi-zuo-fang-fa

但是有一点没有提到,如果你修改后的代码调用了自己的类,那么需要提供这个类所在的文件路径。CoreMod本身所在的Jar并不会被加载到classpath里。提供的方式就是在ITransformationService里重载additionalClassesLocator方法。我在这里的实现如下:

这个方法用Map.Entry返回了两个值,第一个值是一个Set,包含所有要处理的类名的前缀,比如我这里就要处理以my.coremod.common.开头的类。第二个值是个方法,要求返回一个方法,这个方法输入类名,输出类的路径,用URL格式表示。这里面的类名的格式是:my/coremod/common/MyClass.class,以/分隔,.class结尾的,在getResource时需要加/在最前面。

1.13版本之后如何制作Minecraft CoreMod”有1条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据