(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