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);
}
}
@dcox45 Those are event handlers, you put them wherever you like to put the event handlers. In my mods they are in the main mod class.