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

MC1.12.2Forge制作盔甲

2023-07-02 23:15 作者:道家深湖  | 我要投稿


主要分为三个步骤:

  1. 制作ArmorBase,盔甲物品基类。

  2. 在物品列表类里添加盔甲质地和盔甲物品。

  3. 提供对应的贴图,尤其是盔甲的贴图。

基类

盔甲物品基类没有太多好说的。ItemArmorBase,继承ItemArmor即可。

如常地继承父类最常用的构造函数,通过RegisterUtil的内容实现自动注册。如果你不知道这个Util在干什么,可以通过链接来看我对应的教程。

这里面我填给父类的renderindex参数写死为5,实际上这个地方是乱填的,填什么都无所谓,没有用。我在封装的时候省掉了这个参数,你不这样做,继续搞四个参数的构造函数也可以。

构造对象

然后是在ModItems里写盔甲质地。虽说写在别处也行,但我推荐写在ModItems。

盔甲质地ArmorMaterial不能直接new,需要通过EnumHelper来构造。

  • 第一个参数是注册名,为了防止和别人家撞,最好是在前面加入自己的modid,且以冒号链接。如:haha:admantite_armor。不叫armor也行,但我推荐叫一下,以免突然和什么冲突了。

  • 第二个参数是材质名。为了确保他去读取你的modid下的资源而非minecraft这个大家随时可能冲突的域,确保你这里的开头是你自己的modid加冒号。这个可以和前面一致,也可以不一致。你可能有好几套盔甲有同一套贴图,这时候他们就会具有不同的注册名,但有相同的材质名。

  • 第三个100,是耐久度基础值。你固然可以去itembase里强行覆盖耐久值,但我不推荐这样做,我建议维持原版的耐久比例。

  • 第四个数组是头、身、腿、鞋四个位置的盔甲值。注意,钻石套是满的,如果你的某个位置超过了钻石套的数值,就会导致盔甲值溢出。溢出的护甲实际上没有意义,尽管1.12.2里允许生物获得最多30点护甲,但超过20的护甲就不参与计算了,你可以去参考wiki的护甲减伤公式。MC的护甲计算挺烂的,我只建议你最强的护甲提供和钻石一样的盔甲值。

  • 第六个参数是附魔适应性,越高越容易在附魔的时候获得额外的附魔效果。你可以参考原版的数值——铁9,钻10,锁子12,皮革15,黄金25

  • 第七个参数是穿上去时候的音效套装。如果你懒得做新的音效的话,就抄原版的音效就行。

  • 第八个参数是盔甲韧性。参考钻石甲。具体减伤机制参阅wiki的减伤公式,比较复杂我就不展开了。


  • 后面还有个setRepairMaterial,是设置它可以用什么维修,你可以不设置。注意,如果你要设置的话,对应的物品必须定义在这个盔甲材质的前面,也就是代码里那个BOW_2的对象构造必须在这一行的上面,否则这里会传进去一个null而设置失败。维修这玩意可以强行覆写而搞的很复杂,但我推荐新手直接复用原版的这一套。

实际构造物品的对象很容易。

分别定义四个物品对应四个部位就行。

四个部位可以不齐,比如某个套装只有头盔,这是允许的。同理,一个套装有多个头盔也是允许的。原版其实并没有特别强的套装的概念,只有质地的概念。这不是泰拉瑞亚那种穿齐一套会有额外效果的游戏。

我这里只有三个参数,如果你在封装的时候没有省略renderIndex那个整数,这里就要补一个整数进去占位,内容如前所述,随便填就行。


关于材质

道具图标我就不多说了,视频教程里有,和普通物品没有区别。

身上渲染的盔甲材质放到自己包的textures/models/armor下,路径不能搞错,一个s都不能多,也不能少。models有s,armor没s,拼错了就等着紫黑块吧。

贴图有两张,假设你的材质名是haha:admantite_armor,那么两张图就分别叫

admantite_armor_layer_1.png   外层,腿甲以外用到

admantite_armor_layer_2.png  内层,只有腿甲用到,只用腿部

不能拼错,搞错了会紫黑块。

顺便一提,这玩意和皮肤其实不太一样。虽然有两层,但并不是都用了。头盔(影响脑袋)、胸甲(影响身体和手臂)、鞋子(影响腿部)只有外层用了,护腿只有里层(影响)用了。如果你想通过双层材质搞点立体感,那只能通过鞋子和腿去搞下半身的。上半身的没法立体,你就算画了layer_2的身体部分也没卵用,不会显示的。

MC1.12.2Forge制作盔甲的评论 (共 条)

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