User Tools

Site Tools


zh_cn:tutorial:itemgroup

物品组

创建简单物品组

要使“项目组’‘正确显示在“创造性”菜单中,请使用FabricItemGroupBuilder创建它们:

  1. public class ExampleMod implements ModInitializer
  2. {
  3. // ...
  4. public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(
  5. new Identifier("tutorial", "general"),
  6. () -> new ItemStack(Blocks.COBBLESTONE));
  7.  
  8. public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create(
  9. new Identifier("tutorial", "other"))
  10. .icon(() -> new ItemStack(Items.BOWL))
  11. .build();
  12. // ...
  13. }

调用FabricItemGroupBuilder#build后,您的组将被添加到creative菜单中的项目组列表中。

请确保替换参数(请记住,传递给Identifier构造函数的参数只能包含某些字符)。[两个参数(命名空间和路径)都可以包含lowercase lettersnumbers下划线periods,或dashes.'[a-z0-9_.-]\\第二个参数(“路径”)也可以包含slashes.'[a-z0-9_.-]\\避免使用其他符号,否则将引发“InvalidIdentifierException!”)您将传递给具有实际mod ID的Identifier构造函数,以及稍后要为本地化提供项组的转换密钥(第一个示例item group的完整转换密钥将是ItemGroup.mod_ID.general)。

将物品添加到物品组

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

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

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

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

  1. public class ExampleMod implements ModInitializer
  2. {
  3. // ...
  4. public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(
  5. new Identifier("tutorial", "general"),
  6. () -> new ItemStack(Blocks.COBBLESTONE));
  7.  
  8. public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create(
  9. new Identifier("tutorial", "other"))
  10. .icon(() -> new ItemStack(Items.BOWL))
  11. .appendItems(stacks ->
  12. {
  13. stacks.add(new ItemStack(Blocks.BONE_BLOCK));
  14. stacks.add(new ItemStack(Items.APPLE));
  15. stacks.add(PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER));
  16. stacks.add(ItemStack.EMPTY);
  17. stacks.add(new ItemStack(Items.IRON_SHOVEL));
  18. })
  19. .build();
  20. // ...
  21. }

zh_cn/tutorial/itemgroup.txt · Last modified: 2019/12/18 11:57 by lightcolour