====== Группы предметов ======
==== Создание простой группы предметов ====
Чтобы ваша ''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'', могут содержать только определенные символы.\\ Оба аргумента (''namespace'' и ''path'') могут содержать //строчные буквы//, //цифры//, //подчеркивания//, //точки// или //тире//. ''[a-z0-9_.-]''\\ Второй аргумент (''path'') также может включать //косые черты//. ''[a-z0-9/._-]''\\ Избегайте использования других символов, иначе будет выдано ''InvalidIdentifierException''!)), вы переходите к конструктору ''Identifier'' с вашим фактическим идентификатором мода и ключом перевода, который вы хотите предоставить своей группе предметов для локализации ((Полный ключ перевода для первого примера ''ItemGroup'' будет ''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
//>''. Затем вы можете добавить любые стаки, которые вы хотите, в данный список в определенном порядке. ''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();
// ...
}
{{:tutorial:item_group_append_items.png?nolink&400|}}