Minecraft Fabric 教程 #2 添加物品

简介: 创建物品,注册物品,创建物品类

首发于Enaium的个人博客


创建物品

public class ExampleMod implements ModInitializer
{
    private static final Item END_HEART = new Item(new Item.Settings().group(ItemGroup.COMBAT).maxCount(32));
    [...]
}

ItemGroup.COMBAT //分类为COMBAT

maxCount(32) //一组最大堆叠数 一组最大只能叠32个物品

注册物品

    public class ExampleMod implements ModInitializer
    {
        private static final Item END_HEART = new Item(new Item.Settings().group(ItemGroup.COMBAT).maxCount(32));

        @Override
        public void onInitialize()
        {
            Registry.register(Registry.ITEM, new Identifier("endarmor", "end_heart"), END_HEART);
        } 
    }

Registry.ITEM //类别是物品

new Identifier("endarmor", "end_heart") //第一个参数是MOD ID 第二个参数是 物品的名字

END_HEART //要注册的物品的变量名

运行看看

发现是一个紫色方块 而且 名字是 item.endarmor.end_heart 紫色方块是没用纹理(材质)

接下来要添加纹理
需要的文件

  Item model: .../resources/assets/endarmor/models/item/end_heart.json
  Item texture: .../resources/assets/endarmor/textures/item/end_heart.png

end_heart.json 内容

{
  "parent": "item/generated",
  "textures": {
    "layer0": "endarmor:item/end_heart"
  }
}

end_heart.png 就是纹理
end_heart.png

2-1

创建物品类

    public EndHeart(Settings settings) {
        super(settings);
    }

这是一个使用物品然后发出声音的例子

public class FabricItem extends Item
{
    public FabricItem(Settings settings)
    {
        super(settings);
    }

    @Override
    public TypedActionResult<ItemStack> use(World world, PlayerEntity playerEntity, Hand hand)
    {
        playerEntity.playSound(SoundEvents.BLOCK_WOOL_BREAK, 1.0F, 1.0F);
        return new TypedActionResult<>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand));
    }
}

替换

private static final EndHeart END_HEART = new EndHeart(new Item.Settings().group(ItemGroup.COMBAT).maxCount(32));
目录
相关文章
Minecraft Fabric 教程 #8 添加附魔书
这就创建了一个FireBoom附魔书 onTargetDamaged //当目标被攻击 在mc FireballEntity类有一个 方法就是当火球碰撞了就创建一个火焰爆炸的效果
77 0
Minecraft Fabric 教程 #9 添加盔甲
参数一 材料名字 参数二 耐久倍数 参数三 盔甲数也就是穿上盔甲加的盔甲值 参数四 使用的时候发出的声音 参数五 耐性
72 0
Minecraft Fabric 教程 #9 添加盔甲
Minecraft Fabric 进阶教程 #2 绘制界面
绘制界面不需用注入Mixin
106 0
Minecraft Fabric 教程 #5 添加语言文件
lang也就是你模组的翻译比如 中文简体 zh_cn 中文正體 zh_tw 英文 en_us
80 0
|
开发框架 .NET 区块链
Hyperledger fabric部署链码(五)初始化与链码升级
fabric部署chaincode-go(智能合约)系列之五
201 0
|
测试技术 Go 区块链
Hyperledger fabric 测试环境部署
Hyperledger fabric 测试环境部署及相关问题解答
264 3
Hyperledger fabric 测试环境部署
|
JavaScript 测试技术 Go
Hyperledger fabric部署链码(一)打包链码
fabric部署chaincode-go(智能合约)系列之一
243 0