【Java + Mod開発】オリジナルのレシピをMinecraftで作成してみる

Java

はじめに

今回は、マイクラのMod開発としてオリジナルのレシピ追加をやってみたいと思います。

 

前提

レシピ作成の前提として、以下記事を参考にModの開発環境が構築されていること。

【参照】
【開発環境構築】VSCodeでMinecraft(Java版)のMOD作成環境を構築する – SEもりのLog (selifemorizo.com)

【Java + Mod開発】オリジナルのアイテムを追加してみる – SEもりのLog (selifemorizo.com)

【Java + Mod開発】オリジナルのブロックをMinecraftで追加してみる – SEもりのLog (selifemorizo.com)

 

既存のレシピを確認してみる

まずは、すでにマイクラの世界にあるレシピを参考にするために見てみます。

 

レシピの場所

マイクラのレシピは「client.jar」というアーカイブファイルを解凍することで中身を見ることができます。
「client.jar」ファイルはgradleの参照ライブラリとして設定している場所に存在しているので、コピーして任意の場所で解凍してみてください。

ユーザ\.gradle\caches\forge_gradle\mcp_repo\net\minecraft\client\1.20.2

 

recipesフォルダ

解凍後にrecipesフォルダが存在するので、その中のファイルがレシピが設定されているファイルになります。

解凍フォルダ\client\data\minecraft\recipes

 

ダイアモンドブロックのレシピを確認してみる

「diamond_block.json」ダイアモンドブロックのレシピを確認してみます。
Key:素材となるアイテムを指定します
pettern:作業台に置く形を指定できます。ダイアモンドは3×3でダイアモンドブロックのレシピとなります。
result:クラフト後にできるアイテムを指定します。

{
  "type": "minecraft:crafting_shaped",
  "category": "building",
  "key": {
    "#": {
      "item": "minecraft:diamond"
    }
  },
  "pattern": [
    "###",
    "###",
    "###"
  ],
  "result": {
    "item": "minecraft:diamond_block"
  },
  "show_notification": true
}

 

オリジナルレシピを作成する

フォルダ構成

赤字のフォルダ・ファイルが今回必要な追加対象になります。

│  .gitattributes
│  .gitignore
│  build.gradle
│  changelog.txt
│  CREDITS.txt
│  gradle.properties
│  gradlew
│  gradlew.bat
│  LICENSE.txt
│  README.txt
│  runClient.launch
│  runData.launch
│  runGameTestServer.launch
│  runServer.launch
│  settings.gradle
│
├─.vscode
│      settings.json
└─src
    ├─generated
    │  └─resources
    ├─main
    │  ├─java
    │  │  └─com
    │  │      └─mori
    │  │          └─morimod
    │  │              │  Config.java
    │  │              │  MoriMod.java
    │  │              │
    │  │              ├─blocks
    │  │              │      MoriModBlock.java
    │  │              │
    │  │              └─items
    │  │                      MoriModItem.java
    │  │
    │  └─resources
    │      │  pack.mcmeta
    │      │
    │      ├─data
    │      │  └─morimod
    │      │      └─recipes
    │      │              moriblock.json
    │      │
    │      ├─assets
    │      │  └─morimod
    │      │      ├─blockstates
    │      │      │      moriblock.json
    │      │      │
    │      │      ├─lang
    │      │      │      en_us.json
    │      │      │      ja_jp.json
    │      │      │
    │      │      ├─models
    │      │      │  ├─block
    │      │      │  │      moriblock.json
    │      │      │  │
    │      │      │  └─item
    │      │      │          moriblock.json
    │      │      │          moriitem.json
    │      │      │
    │      │      └─textures
    │      │          ├─block
    │      │          │      moriblock.png
    │      │          │
    │      │          └─item
    │      │                  moriitem.png
    │      │
    │      └─META-INF
    │              mods.toml
    │

 

moriblock.json

オリジナルのレシピをダイアモンドブロックのレシピを参考に書いてみます。

{
    "type": "minecraft:crafting_shaped",
    "category": "building",
    "key": {
      "X": {
        "item": "morimod:moriitem"
      }
    },
    "pattern": [
      "XXX",
      "XXX",
      "XXX"
    ],
    "result": {
      "item": "morimod:moriblock"
    }
  }

 

実行確認

実際にマイクラを実行して独自のレシピが作成されていることを確認しましょう!
クラフトが実行出来たらオリジナルレシピ追加成功です。

 

公式サイト

公式サイト | Minecraft

 

最後に

以上、ログになります。
これからも継続していきましょう!!

Javaゲーム趣味/その他
おすすめIT本
良いコード/悪いコードで学ぶ設計入門

「ITエンジニア本大賞2023」技術書部門で大賞を受賞した本です。
・コードの可読性
・普段意識したほうが良いこと
・リファクタリング考え方
等、普段のコードを設計する際に意識することが書かれています。
コードのあるべき姿に迷ったら一度読んでみると良い本です。

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

Dockerって何?となったときに私が最初に読んだ本です。
Dockerがどんな仕組みで動いているのか、コマンドでは何を命令しているのかを理解できるように、イラストを多用して説明しています。

1冊ですべて身につくJavaScript入門講座

「ITエンジニア本大賞2024」技術書部門で大賞を受賞した本です。
私が次に読もうと思っている本なのでおすすめとして挙げておきたいと思います。

コメント

タイトルとURLをコピーしました