tutorial:itemgroup
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
tutorial:itemgroup [2019/06/17 18:56] – small refactoring + modid fixes draylar | tutorial:itemgroup [2022/12/11 22:06] – Update to 1.19.3 item group API haykam | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Item Groups ====== | ====== Item Groups ====== | ||
- | ==== Creating a simple Item Group ==== | ||
- | To have your '' | ||
- | <code java [enable_line_numbers=" | ||
- | public class ExampleMod implements ModInitializer | ||
- | { | ||
- | // ... | ||
- | public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build( | ||
- | new Identifier(" | ||
- | () -> new ItemStack(Blocks.COBBLESTONE)); | ||
- | |||
- | public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create( | ||
- | new Identifier(" | ||
- | .icon(() -> new ItemStack(Items.BOWL)) | ||
- | .build(); | ||
- | // ... | ||
- | } | ||
- | </ | ||
- | Once '' | ||
- | Make sure you replace the arguments ((Remember that the arguments you pass to the '' | + | So far, you have used ''/ |
- | === Adding | + | ==== Adding to Item Groups ==== |
- | When creating a custom Item, call '' | + | |
- | <code java> | + | First, choose the item group that the item should be added to. For this example, that item group will be the building blocks group. The vanilla item groups are stored in the '' |
- | public | + | |
- | </code> | + | Next, in your '' |
+ | |||
+ | Items can be positioned relative to the existing vanilla items. Think carefully about where your mod's users would expect the item to be. For example, if you are adding a new type of wood, placing your item after the existing types of wood would make the most sense. | ||
+ | |||
+ | For example, this event handler will place your mod's item after the oak door in the building blocks item group: | ||
+ | |||
+ | < | ||
+ | ItemGroupEvents.modifyEntriesEvent(class_7706.field_40195).register(content -> { | ||
+ | content.addAfter(class_1802.field_8691, | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ==== Creating an Item Group ==== | ||
+ | |||
+ | Before you create an item group, determine whether it would have enough content to warrant its own group. Your item group will be placed | ||
+ | |||
+ | If you think that your own item group is needed, you can use the '' | ||
+ | |||
+ | <yarncode | ||
+ | private | ||
+ | .icon(() -> new class_1799(CUSTOM_ITEM)) | ||
+ | .build(); | ||
+ | </ | ||
+ | |||
+ | You can use '' | ||
+ | |||
+ | < | ||
+ | ItemGroupEvents.modifyEntriesEvent(ITEM_GROUP).register(content -> { | ||
+ | content.add(CUSTOM_ITEM); | ||
+ | }); | ||
+ | </yarncode> | ||
- | ==== Making an Item Group display specific Items in a particular order ==== | ||
- | Call '' | ||
- | <code java [enable_line_numbers=" | ||
- | public class ExampleMod implements ModInitializer | ||
- | { | ||
- | // ... | ||
- | public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build( | ||
- | new Identifier(" | ||
- | () -> new ItemStack(Blocks.COBBLESTONE)); | ||
- | |||
- | public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create( | ||
- | new Identifier(" | ||
- | .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), | ||
- | stacks.add(ItemStack.EMPTY); | ||
- | stacks.add(new ItemStack(Items.IRON_SHOVEL)); | ||
- | }) | ||
- | .build(); | ||
- | // ... | ||
- | } | ||
- | </ | ||
{{: | {{: |
tutorial/itemgroup.txt · Last modified: 2023/10/01 03:21 by haykam