User Tools

Site Tools


de:tutorial:itemgroup

Item Gruppen (Item Groups)

Erstellen einer einfachen Item-Gruppe

Um deine ItemGroup im Kreativ-Menü anzeigen zu lassen, nutze denFabricItemGroupBuilder um diese zu erstellen:

  1. public class ExampleMod implements ModInitializer {
  2.  
  3. public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(
  4. new Identifier("tutorial", "general"),
  5. () -> new ItemStack(Blocks.COBBLESTONE));
  6.  
  7. public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create(
  8. new Identifier("tutorial", "other"))
  9. .icon(() -> new ItemStack(Items.BOWL))
  10. .build();
  11. // ...
  12. }
Wenn FabricItemGroupBuilder#build aufgerufen wurde, wird deine Gruppe zu der Liste von Item-Gruppen im Kreativ-Menü hinzugefügt.

Stell sicher, dass du die Argumente 1), die du an den Identifier-Konstruktor übergibst, durch deine tatsächliche Mod-ID und Übersetzungsschlüssel ersetzen, den du deiner Item-Gruppe für die Lokalisierung2) später geben möchten.

Füge deine Items in deine Item Gruppe

Wenn du ein eigenes Item erstellst, rufe in Item.Settings#method_7892 deine eigene Gruppe auf:

public static final Item YOUR_ITEM = new Item(new Item.Settings().method_7892(ExampleMod.ITEM_GROUP));


Lass deine Item Gruppe die Items in einer bestimmten Reihenfolge anzeigen

Rufe FabricItemGroupBuilder#appendItems auf und übergebe einen beliebigen Consumer<List<ItemStack>>. Du kannst dann beliebige Items in einer bestimmten Reihenfolge zu der angegebenen Liste hinzufügen. ItemStack.EMPTY kann genutzt werden, um freie Slots in der Gruppe zu plazieren.

  1. public class ExampleMod implements ModInitializer {
  2.  
  3. public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(
  4. new Identifier("tutorial", "general"),
  5. () -> new ItemStack(Blocks.COBBLESTONE));
  6.  
  7. public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create(
  8. new Identifier("tutorial", "other"))
  9. .icon(() -> new ItemStack(Items.BOWL))
  10. .appendItems(stacks -> {
  11. stacks.add(new ItemStack(Blocks.BONE_BLOCK));
  12. stacks.add(new ItemStack(Items.APPLE));
  13. stacks.add(PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER));
  14. stacks.add(ItemStack.EMPTY);
  15. stacks.add(new ItemStack(Items.IRON_SHOVEL));
  16. })
  17. .build();
  18. // ...
  19. }

1)
Beachte, dass die Argumente, die du an den Identifier-Konstruktor übergibst, nur bestimmte Zeichen enthalten dürfen.
Beide Argumente (der namespace und der path) können Kleinbuchstaben, Zahlen, Unterstriche, Punkte, oder Bindestriche enthalten. [a-z0-9_.-]
Das zweite Argument (path) kann auch Schrägstriche enthalten. [a-z0-9/._-]
Vermeide andere Zeichen, sonst InvalidIdentifierException!
2)
Der vollständige Übersetzungsschlüssel für das erste Beispiel ItemGroup währe itemGroup.mod_id.general
de/tutorial/itemgroup.txt · Last modified: 2022/07/20 13:59 by 127.0.0.1