(Dieser Artikel gehört zu einer Reihe von Kommentaren)
Erster Artikel: Einführung Vorheriger Artikel: 2. Blöcke hinzufügen Nächster Artikel: 4. Tools hinzufügen
Ich habe bisher Elemente und Blöcke hinzugefügt, aber es scheint etwas seltsam, sie auf derselben Registerkarte wie die Vanille [^ 1] -Elemente im Creative zu sehen. Außerdem ist es schön, zusätzliche Elemente in eigenen Registerkarten zu organisieren. Hier werden wir einen kreativen Tab für unseren Mod hinzufügen.
\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);
}
}
Definieren Sie Ihre eigene Klasse, die von "ItemGroup" erbt. Setzen Sie das Registerkartensymbol mit "createIcon" (diese Methode ist erforderlich). Das hier angegebene "example_mod" ist nicht die ModID, sondern die interne ID dieser ItemGroup.
Ändern Sie die Einstellungen vorhandener zusätzlicher Elemente, um diese Registerkarte zu verwenden.
ItemList.java
// ...
import jp.koteko.example_mod.ExampleItemGroup; //hinzufügen
//import net.minecraft.item.ItemGroup; //Löschen
// ...
@Mod.EventBusSubscriber(modid = ExampleMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class ItemList {
//Ändern Sie das Argument der Gruppe
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; //hinzufügen
//import net.minecraft.item.ItemGroup; //Löschen
// ...
@Mod.EventBusSubscriber(modid = ExampleMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class BlockList {
// ...
//Ändern Sie das Argument der Gruppe
@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"))
);
}
}
Da der Anzeigename nicht so festgelegt ist, wie er ist, fügen Sie ihn der lang-Datei hinzu.
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": "Beispiel Mod",
"item.example_mod.example_ingot": "Beispiel Barren",
"block.example_mod.example_block": "Beispielblock"
}
Starte das Spiel.
** Ich habe einen neuen Tab nur für meinen Mod hinzugefügt. ** **.
Erstellen von Minecraft 1.14.4 Forge Mod Teil 5 [Hinzufügen eines kreativen Tabs]
[^ 1]: Ein einfacher Micra ohne Mod
Recommended Posts