Step 1 添加并注册护甲

这一步,我们将把护甲注册到游戏中

首先我们在mod文件夹下创建ArmorFabric的class

public class ArmorFabric implements ArmorMaterial {
    public static final int[] BASE_DURABILITY = new int[]{20,30,25,15};//定义护甲的耐久,此处数据按照从头到脚的顺序
    public static final int[] BASE_PROTECTION_AMOUNT = new int[]{2,5,6,3};//定义护甲的保护值,顺序同上

    @Override
    public int getDurability(EquipmentSlot arg0) {
        return BASE_DURABILITY[arg0.getEntitySlotId()]*25;
    }

    @Override
    public int getProtectionAmount(EquipmentSlot arg0) {
        return BASE_PROTECTION_AMOUNT[arg0.getEntitySlotId()];
    }

    @Override
    public int getEnchantability() {
        return 100;//设置附魔等级
    }

    @Override
    public SoundEvent getEquipSound() {
        return null;//设置使用时的声音,可选
    }

    @Override
    public Ingredient getRepairIngredient() {
        return null;//设置使用铁砧修复的配方,可选
    }

    @Override
    public String getName() {
        return "fabric";//设置名称,后期添加材质需要使用
    }

    @Override
    public float getToughness() {
        return 10;//设置武器韧性
    }
}

在Main中添加代码

public static final ArmorMaterial FABRIC_ARMOR = new ArmorFabric();

新建BaseArmor这个class

添加代码

public class BaseArmor extends ArmorItem {

    public BaseArmor(ArmorMaterial material, EquipmentSlot slot) {
        super(material, slot, new Item.Settings().group(Main.FABRIC_EXAMPLE_GROUP));
    }

}

回到Main中的onInitialize这个public项,添加代码

Registry.register(Registry.ITEM, new Identifier(MODID, "fabric_helmet"), new BaseArmor(FABRIC_ARMOR, EquipmentSlot.HEAD));
Registry.register(Registry.ITEM, new Identifier(MODID, "fabric_chestplate"), new BaseArmor(FABRIC_ARMOR, EquipmentSlot.CHEST));
Registry.register(Registry.ITEM, new Identifier(MODID, "fabric_leggings"), new BaseArmor(FABRIC_ARMOR, EquipmentSlot.LEGS));
Registry.register(Registry.ITEM, new Identifier(MODID, "fabric_boots"), new BaseArmor(FABRIC_ARMOR, EquipmentSlot.FEET));

打开游戏进行测试

但是当我们准备尝试这一套黑紫色的套装的时候,游戏崩了,放心不是你人品的问题

跟着我继续做下去,你会看到成功的

Last updated