Identifier
コンストラクターに渡す引数には、特定の文字のみを含めることができることに注意してください。両方の引数 (namespace
〔名前空間〕と path
〔パス〕)には、 小文字、数字、アンダースコア、ピリオド、または ダッシュ (つまり、 [a-z0-9_.-]
) を含めることができます。 他のシンボルを使用しないでください。そうしないと、
InvalidIdentifierException
がスローされます!
ItemGroup
をクリエイティブメニューに適切に表示するには、FabricItemGroupBuilder
を使用してそれらを作成します:
public class ExampleMod implements ModInitializer { public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build( new Identifier("tutorial", "general"), () -> new ItemStack(Blocks.COBBLESTONE)); public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create( new Identifier("tutorial", "other")) .icon(() -> new ItemStack(Items.BOWL)) .build(); // ... }
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
を使用して、グループに空のスペースを配置できます。
public class ExampleMod implements ModInitializer { public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build( new Identifier("tutorial", "general"), () -> new ItemStack(Blocks.COBBLESTONE)); public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create( new Identifier("tutorial", "other")) .icon(() -> new ItemStack(Items.BOWL)) .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(); // ... }