Kreativtabs, auch bekannt als Item Gruppen, sind Tabs im Kreativmenü, die Items speichern. Du kannst deine eigenen Kreativtabs erstellen und deine Items in einem speraten Tab speichern. Das ist ziemlich nützlich, wenn dein Mod viele Items hinzufügt und du sie an einem Ort organisieren möchtest, damit deine Spieler leicht darauf zugreifen können.
Den Kreativtab erstellen
Einen Kreativtab zu erstellen ist recht einfach. Erstelle einfach ein neues statisches finales Feld in deiner Item-Klasse, um den Kreativtab und einen Ressourcenschlüssel dafür zu speichern. Du kannst dann den FabricItemGroup.builder verwenden, um den Kreativtab zu erstellen und Items zu ihm hinzuzufügen:
java
public static final ResourceKey<CreativeModeTab> CUSTOM_CREATIVE_TAB_KEY = ResourceKey.create(BuiltInRegistries.CREATIVE_MODE_TAB.key(), Identifier.fromNamespaceAndPath(ExampleMod.MOD_ID, "creative_tab"));
public static final CreativeModeTab CUSTOM_CREATIVE_TAB = FabricItemGroup.builder()
.icon(() -> new ItemStack(ModItems.GUIDITE_SWORD))
.title(Component.translatable("itemGroup.example-mod"))
.displayItems((params, output) -> {
output.accept(ModItems.SUSPICIOUS_SUBSTANCE);
output.accept(ModItems.POISONOUS_APPLE);
// The tab builder also accepts Blocks
output.accept(ModBlocks.CONDENSED_OAK_LOG);
output.accept(ModBlocks.PRISMARINE_LAMP);
// And custom ItemStacks
ItemStack stack = new ItemStack(Items.SEA_PICKLE);
stack.set(DataComponents.ITEM_NAME, Component.literal("Pickle Rick"));
stack.set(DataComponents.LORE, new ItemLore(List.of(Component.literal("I'm pickle riiick!!"))));
output.accept(stack);
})
.build();1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
java
// Register the group.
Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, CUSTOM_CREATIVE_TAB_KEY, CUSTOM_CREATIVE_TAB);1
2
2
Du solltest sehen, dass die Kreativgruppe jetzt im Kreativinventar ist. Es ist jedoch unübersetzt - du musst deiner Übersetzungsdatei einen Übersetzungsschlüssel hinzufügen - ähnlich wie du dein erstes Item übersetzt hast.

Einen Übersetzungsschlüssel hinzufügen
Wenn du Component.translatable für die Methode title des Kreativtab Builders verwendet hast, musst du die Übersetzung zu deiner Sprachdatei hinzufügen.
json
{
"itemGroup.example-mod": "Example Mod"
}1
2
3
2
3
Wie du sehen kannst, sollte der Kreativtab nun korrekt benannt sein:



