の続きになります。
MOD名・バージョンの指定
src/main/java
を確認すると、予めサンプルのパッケージとクラスが存在するが、思い切って消してしまう。
そして、新たなパッケージを作成する。
パッケージ名はお好きに。
新規作成したパッケージにクラスを作成。名前は Mod名Mod
とする場合が多いみたいですね。例では BucyouMod
とします。
そして、以下を記述。 @Mod
の部分はアノテーションという代物で、MineCraft Forge は、クラスに対して @Mod
がついているものを探して、MODとして登録します。
package net.bucyou.bucyoumod;
import net.minecraftforge.fml.common.Mod;
@Mod(modid = BucyouMod.MODID, name = BucyouMod.NAME, version = BucyouMod.VERSION)
public class BucyouMod {
public static final String MODID = "bucyoumod";
public static final String NAME = "Bucyou MOD";
public static final String VERSION = "1.0";
}
実行して確かめます。
以下のようにMOD名が SampleMod でなくなっていれば成功です。
既存のアイテム・ブロックについて新たなレシピを登録する
ここまで、ちょっとだけコードが出てきましたが、レシピ追加についてはコードは不要です。
JSONデータを特定の場所に登録するだけであります。
src/main/resources
に assets.modid.recipes
パッケージを追加 (自分の場合は assets.bucyoumod.recipes
となる。)
その中に新規ファイルとして、 dirt_to_diamond.json
(適当なJSONファイル) を作成する。
JSONファイルは1から作る必要はなく、 https://crafting.thedestruc7i0n.ca/ を使うと楽にできる。
Crafting Options
- Shapeless: 形を限定しない場合は指定する。
出来上がったJSONデータを新規JSONファイルに貼り付けて、少し加工します。
- type は前に
minecraft:
を追加します。 - ingredients について、 data (通し番号) をつけます。こちらは、1.13 からは廃止されるようです。
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "minecraft:dirt",
"data": 0
}
],
"result": {
"item": "minecraft:diamond",
"count": 1
}
}
実際に動作確認をしてみましょう。