MOD作成 - 簡単なアイテムを追加する
ModIdやメインクラスのjavaファイル名などの各自で異なる部分はいちいち説明しないのでご注意を。
左のPackage Explorerから「src/main/java > com.masec.new_mod」を右クリック、「New > Package」を押します。
Name:の「com.masec.new_mod」の右に「.item」を書き足して「Finish」

作った「com.masec.new_mod.item」を右クリックして「New > Class」を押します。
クラス名はアイテム名と揃えます。今回は「TestIngot」にしました。

● クラスのコード
作られたファイルを編集して、こうなります。
package com.masec.newmod.item;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
public class TestIngot extends Item {
public TestIngot() {
super(new Properties().tab(ItemGroup.TAB_MISC));
}
}
書き換える場所をマーカーで示しました。
各自で違うところをマーカーしたやつ
桃色でマーカーしたところはクリエイティブインベントリのカテゴリタブを指定する部分です。以下から選んでください。
変数 | 概要 |
---|---|
TAB_BUILDING_BLOCKS | 建築ブロック |
TAB_DECORATIONS | 装飾ブロック |
TAB_REDSTONE | レッドストーン |
TAB_MISC | その他 |
TAB_TRANSPORTATION | 運送 |
TAB_COMBAT | 戦闘 |
TAB_TOOLS | 道具 |
TAB_FOOD | 食料 |
TAB_BREWING | 醸造 |
アイテムのパッケージを追加したときと同様に、
左のPackage Explorerから「src/main/java > com.masec.new_mod」を右クリック、「New > Package」を押します。
Name:の「com.masec.new_mod」の右に「.init」を書き足して「Finish」
そしてまた「com.masec.new_mod.init」を右クリックしてクラスを新規作成します。クラス名は「ItemInit」です。
● クラスのコード
これもまた、作られたファイルを編集してこうなります。
package com.masec.newmod.init;
import com.masec.newmod.NewMod;
import com.masec.newmod.item.TestIngot;
import net.minecraft.item.Item;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
public class ItemInit {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, NewMod.MOD_ID);
public static final RegistryObject<Item> TEST_INGOT = ITEMS.register("test_ingot", () -> new TestIngot());
}
書き換える場所をマーカーで示しました。
各自で違うところをマーカーしたやつ
桃色でマーカーしたところはこのファイルで初めて定義しています。雰囲気を合わせて自分のものに置き換えてください(大文字とか) 「"test_ingot"」のほうはコマンドなどで使われる、アイテムのidとなります。
これがないと追加されないらしいです。メインクラスのファイルに少し書き加えます。
各自で名前が違うと思いますが「NewMod.java」を開きます。
これを書き加えて終わりです。上のほうは各自で書き換える部分がありますね。
Package Explorerから「src/main/resources」を右クリックしてパッケージを作ります。名前は「assets.new_mod.lang」のようにします。
同様に、modelsとtexuresも追加します。

● テキスト
「assets.new_mod.lang」を右クリックして「New > File」を選択して「en_us.json」ファイルを作成します

別のエディタで開いてEclipseの画面に以下のウィンドウが出てきたら下にチェック入れてOKするかそもそもCancelするといいと思います。
Eclipse内でJSONが使えるように拡張機能入れますかと聞いてます。わたしはVSCodeでよかったのでいらないってしました。

そして、JSONの中身はこんな感じです。
new_modのところがModId、test_ingotがアイテムのID、「Test Ingot」が表示する名前(英語)です。 日本語は同じところに「ja_jp.json」という名前でファイルを使って、表示する名前の欄だけ変えて同じJSONを書きます。
● モデル/テクスチャ
「assets.new_mod.models」を右クリックして「assets.new_mod.models.item」という名前のパッケージを作ります。
そこに「test_ingot.json」を作ります。ファイル名はアイテムのIDです。
Eclipseからちょっと出て、はじめに作ったフォルダの「src/main/resources/assets/new_mod/textures」に 「items」フォルダを作り、テクスチャを入れます。テクスチャの名前は「test_ingot.png」のようにします。
最後はEclipseに戻り、「src/main/resources」を右クリックして「Refresh」します。
このように、きれいなインゴットが追加できました。
