Table of Contents

アイテムグループ

シンプルなアイテムグループの作成

ItemGroup をクリエイティブメニューに適切に表示するには、FabricItemGroupBuilder を使用してそれらを作成します:

  1. public class ExampleMod implements ModInitializer {
  2.  
  3. public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(
  4. new Identifier("tutorial", "general"),
  5. () -> new ItemStack(Blocks.COBBLESTONE));
  6.  
  7. public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create(
  8. new Identifier("tutorial", "other"))
  9. .icon(() -> new ItemStack(Items.BOWL))
  10. .build();
  11. // ...
  12. }
FabricItemGroupBuilder#build が呼び出されると、グループがクリエイティブメニューのアイテムグループのリストに追加されます。

Identifier コンストラクターに渡す引数1)を、実際の Mod ID と、後でローカライズするために項目グループに与える翻訳キー2)に置き換えてください。

アイテムグループにアイテムを追加

カスタム項目を作成するときは、設定で Item.Settings#method_7892 を呼び出し、カスタム グループに渡します:

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

アイテムグループに特定のアイテムを特定の順序で表示

FabricItemGroupBuilder#appendItems を呼び出し、任意の Consumer<List<ItemStack>> を渡します。その後、指定されたリストに任意のスタックを任意の順序で追加できます。 ItemStack.EMPTY を使用して、グループに空のスペースを配置できます。

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

1)
Identifier コンストラクターに渡す引数には、特定の文字のみを含めることができることに注意してください。両方の引数 (namespace 〔名前空間〕と path 〔パス〕)には、 小文字数字アンダースコアピリオド、または ダッシュ (つまり、 [a-z0-9_.-]) を含めることができます。
他のシンボルを使用しないでください。そうしないと、InvalidIdentifierException がスローされます!
2)
最初の例 ItemGroup の完全な変換キーは itemGroup.mod_id.general になります