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);
})
);
}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);
}
}
Where would you recommend adding these functions? Also, where are we expected to call these functions?