Posted at

MineCraft Modding チュートリアル その2

の続きになります。


MOD名・バージョンの指定

image.png

src/main/java を確認すると、予めサンプルのパッケージとクラスが存在するが、思い切って消してしまう。

image.png

そして、新たなパッケージを作成する。

image.png

パッケージ名はお好きに。

新規作成したパッケージにクラスを作成。名前は Mod名Mod とする場合が多いみたいですね。例では BucyouMod とします。

image.png

そして、以下を記述。 @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 でなくなっていれば成功です。

image.png


既存のアイテム・ブロックについて新たなレシピを登録する

ここまで、ちょっとだけコードが出てきましたが、レシピ追加についてはコードは不要です。

JSONデータを特定の場所に登録するだけであります。

src/main/resourcesassets.modid.recipes パッケージを追加 (自分の場合は assets.bucyoumod.recipes となる。)

その中に新規ファイルとして、 dirt_to_diamond.json (適当なJSONファイル) を作成する。

image.png

image.png

JSONファイルは1から作る必要はなく、 https://crafting.thedestruc7i0n.ca/ を使うと楽にできる。

image.png

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
}
}

実際に動作確認をしてみましょう。

image.png