概要
特殊な機能を持たないアイテムを追加します。
動作確認
2020年11月28日
- Minecraft 1.16.4
- Forge 35.1.0
解説
TitaniumMod
TitaniumMod/src/main/java/com/tntmodders/titaniummod/TitaniumMod.java
package com.tntmodders.titaniummod;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
@Mod(TitaniumMod.MOD_ID)
public class TitaniumMod {
public static final String MOD_ID = "titaniummod";
public TitaniumMod() {
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
Items.register(modEventBus);
}
public static class Items {
private static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID);
public static final RegistryObject<Item> TITANIUM_INGOT = ITEMS.register("titanium_ingot", () -> new Item(new Item.Properties()
.group(ItemGroup.MATERIALS)));
public static void register(IEventBus eventBus) {
ITEMS.register(eventBus);
}
}
}
MODのプログラムをJavaで記述します。
MOD_ID
はmods.toml
に記載したものと一致する必要があります。すべて小文字にしてください。
ITEMS.register("titanium_ingot", ...)
でアイテムの登録名を指定します。アイテムIDはtitaniummod:titanium_ingot
となります。
Item
クラスのインスタンスはMinecraftのアイテムの種類を表します。耐久上限や最大スタック数など、アイテムの種類によって変わる性質を保持しています。バニラのアイテムはnet.minecraft.item.Items
にすべて記述されています。
group(ItemGroup.MATERIALS)
でクリエイティブタブ「その他」に表示されるよう指定します。この指定を行わなかった場合、検索タブにのみ表示されます。
モデル
TitaniumMod/src/main/resources/assets/titaniummod/models/item/titanium_ingot.json
{
"parent": "item/generated",
"textures": {
"layer0": "titaniummod:item/titanium_ingot"
}
}
アイテムモデルをリソースパックと同様の形式のJSONで記述します。
テクスチャ
TitaniumMod/src/main/resources/assets/titaniummod/textures/item/titanium_ingot.png
アイテムのアイコンになる16×16ピクセルのpng画像ファイルです。
英語翻訳
TitaniumMod/src/main/resources/assets/titaniummod/lang/en_us.json
{
"item.titaniummod.titanium_ingot": "Titanium Ingot"
}
英語の翻訳をリソースパックと同様の形式のJSONで記述します。翻訳が設定されていない言語の代わりとしても表示されます。
日本語翻訳
TitaniumMod/src/main/resources/assets/titaniummod/lang/ja_jp.json
{
"item.titaniummod.titanium_ingot": "チタンインゴット"
}
日本語の翻訳をリソースパックと同様の形式のJSONで記述します。文字コードはUTF-8で保存します。
過去の質問
テクスチャが反映されません。
src/main/resources/assets/
にあるtitaniummod
フォルダは、MODのIDをすべて小文字にして入れてください。また、テクスチャが見つからなかったという内容のログが表示されるので、ファイル名が正しいか確認してください。
リンク
- Items - Forge Documentation
- Registries - Forge Documentation
- Resources - Forge Documentation
- リソースパック - Minecraft Wiki
- チュートリアル/リソースパックの作成 - Minecraft Wiki