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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)