Skip to content

Instantly share code, notes, and snippets.

@gigaherz
Last active March 11, 2023 15:17
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gigaherz/c94a40311ed974349bbda8699b6fe085 to your computer and use it in GitHub Desktop.
Save gigaherz/c94a40311ed974349bbda8699b6fe085 to your computer and use it in GitHub Desktop.

New tab

Use the CreativeModeTabEvent.Register event to register your tab, the items will appear in the order you declare them. The accept method has an optional parameter to specify if the items also appear in the search tab or not. Defaults to appearing in both.

    public static CreativeModeTab MY_TAB;

    private void registerTabs(CreativeModeTabEvent.Register event)
    {
        MY_TAB = event.registerCreativeModeTab(new ResourceLocation(MODID, "main_tab"), builder -> builder
                .icon(() -> new ItemStack(ITEM1.get()))
                .title(Component.translatable("tabs.modid.main_tab"))
                .displayItems((featureFlags, output, hasOp) -> {
                    output.accept(ITEM1.get());
                    output.accept(ITEM2.get(), CreativeModeTab.TabVisibility.SEARCH_TAB_ONLY);
                })
        );
    }

Add to existing tab

Use the CreativeModeTabEvent.BuildContents event to register your tab, the items will appear in the order you declare them. The accept method has an optional parameter to specify if the items also appear in the search tab or not. Defaults to appearing in both. You can insert ordered by using event.getEntries().putBefore or putAfter.

    private void addItemsToTabs(CreativeModeTabEvent.BuildContents event)
    {
        if (event.getTab() == CreativeModeTabs.TOOLS_AND_UTILITIES)
        {
            event.accept(ITEM1);
            event.accept(ITEM2, CreativeModeTab.TabVisibility.SEARCH_TAB_ONLY);
        }
    }
@criminalduck
Copy link

@gigaherz Hey, how do you do the lang of the tab, because i tried using "itemGroup.modid.item": "Name" but it didnt work, do you know how?
Nvm, I found it, I thought the .title was the registry name not the actual name, sorry for bothering

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment