Minecraft 1.12.2模组开发(八) 盔甲套装

本次我们尝试在Minecraft中创造一套盔甲套装

1.在items包下新建armor包:

cr3.png

在armor包中新建 ArmorBase 类:

cr4.png

在 ArmorBase.java中编写代码:
package com.Joy187.newmod.items.armor;

import com.Joy187.newmod.Main;
import com.Joy187.newmod.init.ModItems;
import com.Joy187.newmod.util.IHasModel;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemArmor;

public class ArmorBase extends ItemArmor implements IHasModel{

	public ArmorBase(String name,ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn,CreativeTabs tab) {
		super(materialIn, renderIndexIn, equipmentSlotIn);
		// TODO 自动生成的构造函数存根
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(tab);
		
		ModItems.ITEMS.add(this);
	}

	@Override
	public void registerModels() {
		Main.proxy.registerItemRenderer(this, 0, "inventory");
	}
}

2.在init下的 ModItem.java 中添加盔甲信息:

//material 根据情况更改 
//public static final ArmorMaterial ARMOR_MATERIAL_ZS = EnumHelper.addArmorMaterial(name(盔甲名称), textureName(合成材料名称), durability(耐久值), reductionAmounts(盔甲值,包含靴子、护腿、护甲、头盔), enchantability(附魔能力), soundOnEquip(穿上盔甲的声音), toughness(盔甲硬度),钻石是2.0F);

//示例
	public static final ItemArmor.ArmorMaterial ARMOR_MATERIAL_ZSUIT = EnumHelper.addArmorMaterial("armor_material_zsuit", Reference.Mod_ID + ":zsuit", 55, new int[]{3, 6, 8, 3}, 25, SoundEvents.ITEM_ARMOR_EQUIP_CHAIN, 1.5F);


//armor
public static final Item ZS_HELMET = new ArmorBase("zs_helmet",ARMOR_MATERIAL_ZS,1,EntityEquipmentSlot.HEAD,CreativeTabs.COMBAT);

public static final Item ZS_CHESTPLATE = new ArmorBase("zs_chest",ARMOR_MATERIAL_ZS,1,EntityEquipmentSlot.CHEST,CreativeTabs.COMBAT);
public static final Item ZS_LEGGINGS = new ArmorBase("zs_leggings",ARMOR_MATERIAL_ZS,2,EntityEquipmentSlot.LEGS,CreativeTabs.COMBAT);
public static final Item ZS_BOOTS = new ArmorBase("zs_boots",ARMOR_MATERIAL_ZS,1,EntityEquipmentSlot.FEET,CreativeTabs.COMBAT);

代码示例:

cr5.png

我的世界伤害计算公式

cr1.png
cr2.png

3.注册物品信息 在model.item包下 将所有套装的信息进行注册

cr6.png

4.在语言包中添加四中防具的游戏内名称

cr7.png

5.防具材质设置

在textures包下新建models包,之后在models包下新建armor包

cr8.png
cr9.png

将我们准备好的四种护具材质放入items包中(物品栏中显示用)

d1.png

将两种全身材质放入armor包中:

d3.png

6.保存文件 -> 运行游戏

d2.png

切换生存模式,全身效果属性全部正常显示!

d4.png

游戏内成功显示护具!

补充眼镜制作:

在ModItems.java中添加一下盔甲属性和眼镜物品的声明:
 
 	public static final ItemArmor.ArmorMaterial ARMOR_MATERIAL_OEIGHTSUIT = EnumHelper.addArmorMaterial("armor_material_oeightsuit", Reference.Mod_ID + ":oeightsuit", 35, new int[]{10, 10, 20, 15}, 45, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 10.0F);

 //属于头盔类型
	public static final Item EIGHT_GLASSES = new ItemArmorBase("eight_glasses",ARMOR_MATERIAL_OEIGHTSUIT,1,EntityEquipmentSlot.HEAD, IdlFramework.ITEM_TAB);

resources包:

添加游戏内物品名称(en_us.lang):
item.eight_glasses.name=Eight Glasses
models\item包中新建eight_glasses.json
{
	"parent": "item/generated",
	"textures": {
		"layer0": "rejoymod:items/eight_glasses"
	}
}
textures\items添加物品手持贴图

在这里插入图片描述

textures\models\armor中添加穿戴后效果贴图

在这里插入图片描述

刷新项目 -> 启动游戏 -> 测试装备
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay_fearless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值