欢迎光临散文网 会员登陆 & 注册

Minecraft 1.12.2 ForgeMod开发笔记(2)

2022-07-29 15:26 作者:Sharbby君  | 我要投稿

添加一个新的基础物品

  1. 每个添加到Minecraft的物品,生物,方块需要注册,官方文档中推荐使用注册事件进行注册,具体如下

    (1)创建一个继承于Item类的公共类,留空即可

    (2)创建一个专门用于注册的类

    (3)在用于注册的类中实例化物品,注册,代码如下(物品为image)

    需要注意的是,这只是一般的注册方法

在新版(1.19)中还有另一种方法,使用DeferredRegister类

详情参阅最新的forge doc

    另外,1.12.2版本中的Forge 14.23.5.2836之后Forge貌似经历了一次大更新

所以针对于2836版本的Harbinger教程对于之后的版本可能有些不适用

比如setTranslationKey改成了setUnlocalizedName

    在文中有一项Register<Item>

需要说明的是,这属于泛型

在JDK5中引入的一个新类型,泛型对于输入比使用形参更加宽泛

单个泛型方法可以输入整形,浮点型等多种变量,甚至可以输入一个java类

详细参阅资料,在这里表示传入的类型是Item类

2.打开调试,使用give命令,成功添加物品

成功添加的物品

2.物品贴图问题

这里只是简单描述添加一个物品贴图

首先,mod除代码外的所有资源都会存放在resources文件夹内,请确保这个文件夹的图标看起来是这样的

资源文件夹

其下新建assets,在这个文件夹下创建一个与你modid相同的文件夹

至于什么是modid,在新建项目填写的文件名就是

在这个文件夹下再创建lang,models,textures

在models下新建item,新建image.json,添加如下代码

image是你创建的物品名,dd就是你的modid

在texture下新建items,把与物品名同名的png塞进去

这时候贴图和模型就正常载入了

注:如果发现贴图没有载入,请检查目录是否正确

如果目录正确,这就是IDEA的bug,不是你的锅

(虽然官方issue不承认)

解决方法如下:

打开build.gradle,添加如下代码

这时候task前面会出现一个绿色小三角,每次测试前点击手动加载资源即可

另外如果上述方法以及网上的方法均失效的时候,去偷个别的mod里的gradle或者干脆放弃idea,我的gradle从理想镜框架里面偷的

模型也需要注册,代码如下

资料:

官方文档(1.12.2):https://mcforge-cn.readthedocs.io/zh/latest/

菜鸟教程——java泛型:https://www.runoob.com/java/java-generics.html

IDEA的bug相关资料:https://stackoverflow.com/questions/25513788/intellij-cant-find-classpath-test-resource

Harbinger教程:https://harbinger.covertdragon.team/



Minecraft 1.12.2 ForgeMod开发笔记(2)的评论 (共 条)

分享到微博请遵守国家法律