文档章节

Minecraft Fabric 教程 #9 添加盔甲

Enaium
 Enaium
发布于 02/22 10:05
字数 426
阅读 182
收藏 0

首发于Enaium的个人博客


创建一个盔甲类

public class EndArmorMaterials implements ArmorMaterial {
    [...]
}

复制一下内容

    private static final int[] BASE_DURABILITY = {13, 15, 16, 11};
    private final String name;
    private final int durabilityMultiplier;
    private final int[] protectionAmounts;
    private final int enchantability;
    private final SoundEvent equipSound;
    private final float toughness;
    private final Lazy<Ingredient> repairIngredientSupplier;

    public EndArmorMaterials(String name, int durabilityMultiplier, int[] armorValueArr, int enchantability, SoundEvent soundEvent, float toughness, Supplier<Ingredient> repairIngredient) {
        this.name = name;
        this.durabilityMultiplier = durabilityMultiplier;
        this.protectionAmounts = armorValueArr;
        this.enchantability = enchantability;
        this.equipSound = soundEvent;
        this.toughness = toughness;
        this.repairIngredientSupplier = new Lazy(repairIngredient);
    }

    public int getDurability(EquipmentSlot equipmentSlot_1) {
        return BASE_DURABILITY[equipmentSlot_1.getEntitySlotId()] * this.durabilityMultiplier;
    }

    public int getProtectionAmount(EquipmentSlot equipmentSlot_1) {
        return this.protectionAmounts[equipmentSlot_1.getEntitySlotId()];
    }

    public int getEnchantability() {
        return this.enchantability;
    }

    public SoundEvent getEquipSound() {
        return this.equipSound;
    }

    public Ingredient getRepairIngredient() {
        return this.repairIngredientSupplier.get();
    }

    @Environment(EnvType.CLIENT)
    public String getName() {
        return this.name;
    }

    public float getToughness() {
        return this.toughness;
    }

然后把class 改成 enum

制作盔甲材料

public enum EndArmorMaterials implements ArmorMaterial {



    END("end_heart" , 15 , new int[]{1,3,2,1}, 15, SoundEvents.BLOCK_WOOL_PLACE,0.0F, () -> {
        return Ingredient.ofItems(Items.WHITE_WOOL);
    });

    [...]
}

参数一 材料名字 参数二 耐久倍数 参数三 盔甲数也就是穿上盔甲加的盔甲值 参数四 使用的时候发出的声音 参数五 耐性

创建盔甲物品

	public static final Item END_HELMET = new ArmorItem(EndArmorMaterials.END, EquipmentSlot.HEAD, (new Item.Settings().group(ItemGroup.COMBAT)));
	public static final Item END_CHESTPLATE = new ArmorItem(EndArmorMaterials.END, EquipmentSlot.CHEST, (new Item.Settings().group(ItemGroup.COMBAT)));
	public static final Item END_LEGGINGS = new ArmorItem(EndArmorMaterials.END, EquipmentSlot.LEGS, (new Item.Settings().group(ItemGroup.COMBAT)));
	public static final Item END_BOOTS = new ArmorItem(EndArmorMaterials.END, EquipmentSlot.FEET, (new Item.Settings().group(ItemGroup.COMBAT)));

注册盔甲物品

	Registry.register(Registry.ITEM,new Identifier("endarmor","end_helmet"), END_HELMET);
	Registry.register(Registry.ITEM,new Identifier("endarmor","end_chestplate"), END_CHESTPLATE);
	Registry.register(Registry.ITEM,new Identifier("endarmor","end_leggings"), END_LEGGINGS);
	Registry.register(Registry.ITEM,new Identifier("endarmor","end_boots"), END_BOOTS);

添加纹理

先添加物品纹理

end_helmet.png

end_chestplate.png

end_leggings.png

end_boots.png

发现只有物品纹理穿上后没有模型纹理然后添加模型

位置 src\main\resources\assets\minecraft\textures\models\armor

一共有两层end_heart_layer_1.png 和 end_heart_layer_2.png

end_heart_layer_1.png

end_heart_layer_2.png

最终效果

9-1.jpg

© 著作权归作者所有

Enaium
粉丝 0
博文 28
码字总数 7550
作品 0
渭南
私信 提问
加载中

评论(0)

使用一个简单工具向现有的 Hyperledger Fabric 区块链网络添加一个组织

使用一个简单工具向现有的 Hyperledger Fabric 区块链网络添加一个组织 使用 configtxlator 自定义 Hyperledger Fabric first-network 示例 Bhargav Perepa 和Jason Yellick 2017 年 12 月 ...

Bhargav Perepa
2017/12/26
0
0
Fabric go sdk开发入门

fabric go sdk是Hyperledger Fabric官方提供的Go语言开发包,应用程序可以利用fabric go sdk与fabric网络进行交互并访问链码。本教程介绍如何使用fabric go sdk实现链码的安装、实例化、交易...

ezpod
03/19
0
0
Hyperledger Fabric和VSCode的IBM区块链扩展开发智能合约

了解使用IBM Blockchain Platform的VSCode扩展来简化开发,测试和部署智能合约的过程。完成本教程后,你将了解如何使用VSCode在本地Hyperledger Fabric网络上快速开发,演示和部署区块链应用...

笔阁
2019/04/04
150
0
Fabric 2.0区块链开发环境安装

本文介绍如何安装最新的Hyperledger Fabric 2.0的预编译程序、fabric-samples示例配置和代码以及docker镜像。 Hyperledger Fabric区块链开发教程: Fabric区块链Node.js开发详解 Fabric区块链...

ezpod
02/25
0
0
可扩展的开源 Minecraft 服务器实现 - Cuberite

Cuberite,一个轻量级、快速且可扩展的 Minecraft 游戏服务器 Cuberite 是一个可扩展的开源 Minecraft 服务器实现,使用 C++ 编写。它有一个易于使用的插件系统,允许用户用 Lua 编写自定义插...

匿名
2018/09/25
1.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

如何从Joomla垃圾箱中删除文章

Joomla允许您删除文章,但是除非您采取其他步骤,否则它不会永久删除它们。 Joomla的垃圾桶类似于PC和Mac的垃圾桶。将项目发送到垃圾桶是可以撤消的操作。 在这个简短的教程中,我将向您展示...

六艺网络专注于Joomla
39分钟前
37
0
图解kubernetes命令执行核心实现

K8s中的命令执行由apiserver、kubelet、cri、docker等组件共同完成, 其中最复杂的就是协议切换以及各种流拷贝相关,让我们一起来看下关键实现,虽然代码比较多,但是不会开发应该也能看懂,祝你...

8小时
43分钟前
29
0
sh和bash之间的区别 - Difference between sh and bash

问题: When writing shell programs, we often use /bin/sh and /bin/bash . 在编写shell程序时,我们经常使用/bin/sh和/bin/bash 。 I usually use bash , but I don't know what's the d......

技术盛宴
55分钟前
39
0
spring - 使用profile来管理环境信息

程序一般都会有开发环境、测试环境以及线上环境,这些环境下程序运行依赖的基础一般不同,例如在有数据源访问的程序中,开发时可能使用了嵌入式数据库,而到测试环境上会使用独立的mysql,正...

閒散人員
59分钟前
21
0
如何实现项目流程自动化

多人协作复杂的任务,团队成员间的分工和沟通就非常必要。现在Zoho projects 项目管理软件中,配合使用蓝图功能,讲让工作事半功倍。 蓝图功能可以解决繁琐的邮件沟通问题,并使任务更加有序...

Zoho云服务
今天
37
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部