(Cet article fait partie d'une série d'articles de commentaires)
Premier article: Introduction Article précédent: 2. Ajouter des blocs Article suivant: 4. Ajouter des outils
J'ai ajouté des éléments et des blocs jusqu'à présent, mais il semble un peu étrange de les voir dans le même onglet que les éléments vanille [^ 1] de la création. De plus, c'est bien d'avoir des éléments supplémentaires organisés dans leurs propres onglets. Ici, nous allons ajouter un onglet créatif pour notre mod.
\src\main\java\jp\koteko\example_mod\
   ├ ExampleItemGroup.java
   ├ ExampleMod.java
   └ lists
ExampleItemGroup.java
package jp.koteko.example_mod;
import jp.koteko.example_mod.lists.ItemList;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class ExampleItemGroup extends ItemGroup {
    public static final ExampleItemGroup DEFAULT = new ExampleItemGroup();
    public ExampleItemGroup() {
        super("example_mod");
    }
    @Override
    @OnlyIn(Dist.CLIENT)
    public ItemStack createIcon() {
        return new ItemStack(ItemList.ExampleIngot);
    }
}
Définissez votre propre classe qui hérite de ʻItemGroup. Définissez l'icône de l'onglet avec createIcon` (cette méthode est requise). Le "" example_mod "" spécifié ici n'est pas le ModID, mais l'ID interne de ce ItemGroup.
Modifiez les paramètres des éléments supplémentaires existants pour utiliser cet onglet.
ItemList.java
// ...
import jp.koteko.example_mod.ExampleItemGroup; //ajouter à
//import net.minecraft.item.ItemGroup; //Effacer
// ...
@Mod.EventBusSubscriber(modid = ExampleMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class ItemList {
    //Changer l'argument du groupe
    public static Item ExampleIngot = new Item(new Item.Properties().group(ExampleItemGroup.DEFAULT))
            .setRegistryName(new ResourceLocation(ExampleMod.MOD_ID, "example_ingot"));
    // ...
}
BlockList.java
// ...
import jp.koteko.example_mod.ExampleItemGroup; //ajouter à
//import net.minecraft.item.ItemGroup; //Effacer
// ...
@Mod.EventBusSubscriber(modid = ExampleMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class BlockList {
    // ...
    //Changer l'argument du groupe
    @SubscribeEvent
    public static void registerBlockItems(RegistryEvent.Register<Item> event) {
        event.getRegistry().registerAll(
                new BlockItem(ExampleBlock, new Item.Properties().group(ExampleItemGroup.DEFAULT))
                        .setRegistryName(new ResourceLocation(ExampleMod.MOD_ID, "example_block"))
        );
    }
}
Ensuite, puisque le nom d'affichage n'est pas défini tel quel, ajoutez-le au fichier lang.
en_us.json
{
  "itemGroup.example_mod": "Example Mod",
  "item.example_mod.example_ingot": "Example Ingot",
  "block.example_mod.example_block": "Example Block"
}
ja_jp.json
{
  "itemGroup.example_mod": "Exemple de mod",
  "item.example_mod.example_ingot": "Exemple de lingot",
  "block.example_mod.example_block": "Exemple de bloc"
}
Lancer le jeu.
** J'ai ajouté un nouvel onglet juste pour mon mod. ** **
Création de Minecraft 1.14.4 Forge Mod Partie 5 [Ajout de l'onglet Creative]
[^ 1]: Une Micra simple sans Mod
Recommended Posts