アイテムの追加 (1.16.4)

概要

特殊な機能を持たないアイテムを追加します。

動作確認

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_IDmods.tomlに記載したものと一致する必要があります。すべて小文字にしてください。

ITEMS.register("titanium_ingot", ...)でアイテムの登録名を指定します。アイテムIDはtitaniummod:titanium_ingotとなります。

ItemクラスのインスタンスはMinecraftのアイテムの種類を表します。耐久上限や最大スタック数など、アイテムの種類によって変わる性質を保持しています。バニラのアイテムはnet.minecraft.item.Itemsにすべて記述されています。

group(ItemGroup.MATERIALS)でクリエイティブタブ「その他」に表示されるよう指定します。この指定を行わなかった場合、検索タブにのみ表示されます。

ItemGroup内にあるバニラのクリエイティブタブの一覧
BUILDING_BLOCKS:建築ブロック
DECORATIONS:装飾ブロック
REDSTONE:レッドストーン
TRANSPORTATION:運送
MATERIALS:その他
MISC:その他(MATERIALSと同一)
FOOD:食料
TOOLS:道具
COMBAT:戦闘
BREWING:醸造

モデル

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

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をすべて小文字にして入れてください。また、テクスチャが見つからなかったという内容のログが表示されるので、ファイル名が正しいか確認してください。

リンク


前:環境構築
次:ブロックの追加

コメントはこちらです。(スパム対策の為コメントは手動承認になっています。未承認のコメントは表示されないので連投はお控え下さい。)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください