MinecraftFabricMod编写Part3物品进阶:物品组

创建简单物品组

要使你的ItemGroup属性显示在创造模式菜单中,请使用FabricItemGroupBuilder创建它们:

复制代码
public class ExampleMod implements ModInitializer {
 
    public static final ItemGroup FISH_GROUP = FabricItemGroupBuilder.build(
        new Identifier("fishmod", "general"),
        () -> new ItemStack(Items.SALMON));
 
    public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create(
        new Identifier("fishmod", "other"))
        .icon(() -> new ItemStack(Items.TROPICAL_FISH))
        .build();
}
复制代码

调用FabricItemGroupBuilder#build后,您的组将被添加到创造模式菜单中的物品组列表中。

请确保将您传递到Identifier构造器的参数替换为您的实际模组ID和你需要给予您的物品组用于稍后本地化的翻译键(translation key)。

将物品添加到物品组

创建自定义物品时,请在设置上调用Item.Settings#group,然后传入自定义组:

public static final Item YOUR_ITEM = new Item(new Item.Settings().group(ExampleMod.FISH_GROUP));

使物品组按特定顺序显示特定物品

调用FabricItemGroupBuilder#appendItems,并传递任何Consumer<List<ItemStack>>。然后,您可以按顺序将将你想要添加的堆栈添加到特定列表中。ItemStack.EMPTY可用于在组中放置空格。

复制代码
public class ExampleMod implements ModInitializer {
 
    public static final ItemGroup FISH_GROUP = FabricItemGroupBuilder.build(
        new Identifier("fishmod", "general"),
        () -> new ItemStack(Blocks.SALMON));
 
    public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create(
        new Identifier("fishmod", "other"))
        .icon(() -> new ItemStack(Items.TROPICAI_FISH))
        .appendItems(stacks -> {
            stacks.add(new ItemStack(Blocks.BONE_BLOCK));
            stacks.add(new ItemStack(Items.APPLE));
            stacks.add(PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER));
            stacks.add(ItemStack.EMPTY);
            stacks.add(new ItemStack(Items.IRON_SHOVEL));
        })
        .build();
}
复制代码

这里就是添加了骨块(BONE_BLOCK)苹果(APPLE)水瓶(POTTON,水瓶的语法有点特殊)铁锹(IRON_SHOVEL)

posted @   Qigfrog  阅读(454)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示