MC Mod UtilityMinecraft Mod 開発のプロジェクト構成を自動生成する VSCode 拡張機能です。 機能1. New Mod Project - Mod プロジェクト新規作成コマンドパレットから 対応 Mod ローダー:
対応 Minecraft バージョン:
対応言語:
生成されるファイル:
2. Add Component - コンポーネント追加既存の Mod プロジェクトを開いた状態で 追加可能なコンポーネント:
生成されたファイルにはレジストリ登録のコメントヒントが含まれます。 使い方プロジェクト新規作成
コンポーネント追加
3. Rotation Editor - 回転パラメータ調整コマンドパレットから どのMODプロジェクトでも使えます (Forge / Fabric / NeoForge / Quilt) 基本の使い方
ゲーム内コマンド連携 (cmd=)
マーカーの書式ルール
設定 (settings.json)
独自のプロジェクト構造を使っている場合は 4. MAW アドオン支援 — 「The four primitives and Weapons」のアドオンを作る本体MOD The four primitives and Weapons(以下 MAW)のアドオン開発を、JSON の書き方を覚えなくても できるようにする機能群です。 自動認識開いたプロジェクトが MAW アドオンだと判定されると、専用の UI が有効になります。判定材料は次のどれか 1 つでも当たれば OK:
認識されると:
使い方 — 5 分で武器を 1 本追加する手順 0. アドオンを用意する すでにアドオンがあるならそれを VS Code で開くだけ。無ければコマンドパレット( サンプルを 手順 1. 認識されているか確認する アドオンとして認識されると、ステータスバー左下に 手順 2. 武器スタジオを開く ステータスバーの 手順 3. 上から順に埋める
右側のペインには、これから作られる/追記されるファイルが常に出ています。クリックすると中身が見えるので、「このブロックを ON にするとコードのどこが増えるのか」を見ながら作れます。 手順 4. 「⚔ この武器を作る」を押す ファイルが生成され、Java クラスがエディタで開きます。あとは:
ゲーム内で
🧊 3D モデルテンプレート(
|
| 方式 | 生成されるもの | こんな時に |
|---|---|---|
| 平面 | parent: item/handheld + 16x16 PNG |
まず動かしたい。バニラの剣と同じ方式 |
| 3D・本体の見た目をそのまま使う | parent を 1 行書くだけ |
鉄の刀と同じ見た目でいい |
| 3D・形は本体、テクスチャは自分の | 3Dベースを parent 継承 + 本体のテクスチャをアドオンにコピー |
コピーされた blade.png tsuba.png … を塗り替えれば自分の武器になる |
| 3D・形ごとコピーして改造 | 3Dモデル(elements)ごと複製 |
Blockbench で開いて形から作り替える |
テクスチャは「鉄」のものがサンプルとして出てくる
3D を選ぶと、本体MOD の鉄(iron)の武器のテクスチャが、パーツごとに分かれた PNG としてアドオンにコピーされます:
assets/<modid>/textures/item/<itemId>/
├── blade.png 刃
├── tsuba.png 鍔
├── tsuka.png 柄
└── kasira.png 柄頭
鞘を有効にすると、鞘の分も同じようにコピーされます(saya.png / blade.png / tsuba.png / tsuka.png / kasira.png)。本体の鞘モデルは「刃と鞘のテクスチャ」と「鍔・柄・柄頭のテクスチャ」が親子に分かれているので、親まで辿って全部のパーツを集めてからコピーしています。
つまり、生成直後は鉄の武器と同じ見た目で確実に動き、コピーされた PNG を塗り替えるだけで自分の武器になります。テクスチャスロット(#0 #1 …)が刃なのか鍔なのかは、生成された JSON にコメントとして書かれます。
どのベースが選べるか・どのスロットが何なのかは本体MOD から実際に読むので、本体に 3D モデルが増えれば自動で選択肢に出ます。
鞘(saya)のモデルだけを作りたい時も、同じコマンドから「継承+テクスチャ複製」か「形ごと複製」を選べます。
⚔ 武器スタジオ(MAW: 武器スタジオを開く)
フォームを埋めるだけで、武器 1 つに必要な 6〜8 ファイルをまとめて生成・追記します。
きほん 名前 / アイテムID / 武器タイプ(新規タイプも作れる)
つよさ 攻撃力・攻撃速度・耐久・エンチャント性・レア度(スライダー)
みため 刃と柄の色を選ぶ → 16x16 のテクスチャを自動生成(プレビュー付き)
こうげき ブロックを ON にすると、そのぶん Java コードが組み上がる
└ 背後から攻撃で追加ダメージ / 吸血 / 炎上 / 状態異常 /
落雷 / 範囲攻撃 / メッセージ表示 / 右クリックで自己強化
さや 本体MOD の鞘モデルを継承して納刀対応
生成/追記されるもの:
| ファイル | 内容 |
|---|---|
item/<Name>Item.java |
アイテム本体(選んだブロックが hurtEnemy に展開される) |
init/AddonItems.java |
RegistryObject の登録行と import を追記 |
models/item/<id>.json |
アイテムモデル(平面 / 3D は選べる) |
textures/item/<id>.png |
テクスチャ(平面なら自動生成、3D なら本体のものを複製) |
lang/ja_jp.json en_us.json |
表示名 |
data/<ns>/weapon_types/weapons.json |
武器タイプ登録(これがないと K キーのスキルが使えない) |
data/<ns>/weapon_stats/weapons.json |
ステータス上書き(任意) |
data/<ns>/maw_saya/saya.jsonc + 鞘モデル |
納刀対応(任意) |
既存ファイルは上書きせずテキストを差し込むので、コメントも整形も壊れません。右側のペインに、生成される内容がリアルタイムでプレビューされます。
本体MOD の情報を動的に読む
武器タイプやモーションID(thrust / spin_slash / dodge …)、鞘の種類、継承できる鞘モデルの一覧は、拡張機能にハードコードせず 本体MOD から直接読みます。読み込み順:
gradle.propertiesのmawSourceProject- 環境変数
MAW_DIR ~/The-four-primitives-and-Weapons- アドオン内の
.maw-src/ - アドオン内の
libs/local/.../*.jar(jar から直接読む) - どれも無ければ内蔵スナップショット
本体MOD が武器タイプを追加しても、拡張機能を更新せずに追従します。読み込み元は MAW: 本体MODの読み込み元を表示 で確認できます。
その他のコマンド
| コマンド | 説明 |
|---|---|
MAW: 3Dモデルテンプレートを挿入 |
本体の 3D 武器モデル / 鞘モデルを、継承 or 複製でアドオンに取り込む |
MAW: アドオンを新規作成 |
サンプルテンプレートを複製し、Mod ID / パッケージ / 作者を一括で書き換えて新規アドオンを作る(gradlew・CI・本体jar取得スクリプト込み) |
MAW: Mod ID を変更 (リブランド) |
サンプルのままのプロジェクトを自分の MOD に作り替える。テキスト置換だけでなく Java パッケージ / assets/ / data/ のフォルダ名まで移動する |
MAW: 情報を再読み込み |
本体MOD のカタログとアドオンの状態を読み直す |
設定 (settings.json)
| 設定キー | デフォルト | 説明 |
|---|---|---|
mc-mod-utility.maw.templatePath |
"" |
新規作成時に雛形にするローカルプロジェクトのパス |
開発・デバッグ
- このプロジェクトを VSCode で開く
F5キーを押して Extension Development Host を起動- 新しく開いたウィンドウでコマンドパレットから機能をテスト
生成されるプロジェクト構成例
Forge (Java) の場合
my_cool_mod/
├── build.gradle
├── settings.gradle
├── gradle.properties
├── .gitignore
├── gradle/wrapper/gradle-wrapper.properties
└── src/main/
├── java/com/example/my_cool_mod/
│ └── MyCoolMod.java
└── resources/
├── META-INF/mods.toml
└── pack.mcmeta
Fabric (Java) の場合
my_cool_mod/
├── build.gradle
├── settings.gradle
├── gradle.properties
├── .gitignore
├── gradle/wrapper/gradle-wrapper.properties
└── src/main/
├── java/com/example/my_cool_mod/
│ └── MyCoolMod.java
└── resources/
├── fabric.mod.json
└── pack.mcmeta
NeoForge (Java) の場合
my_cool_mod/
├── build.gradle
├── settings.gradle
├── gradle.properties
├── .gitignore
├── gradle/wrapper/gradle-wrapper.properties
└── src/main/
├── java/com/example/my_cool_mod/
│ └── MyCoolMod.java
└── resources/
├── META-INF/neoforge.mods.toml
└── pack.mcmeta
リリースノート
0.1.1
- Rotation Editor:
cmd=オプションでゲーム内コマンド連携に対応 - Rotation Editor: 検索パスを設定で変更可能に(任意のMODプロジェクト構造に対応)
0.1.0
- Mod プロジェクト新規作成機能 (Forge / Fabric / NeoForge, Java / Kotlin)
- コンポーネント追加機能 (Block, Item, Entity, Block Entity, Creative Tab)
- Rotation Editor: スライダーで回転パラメータを調整
- Minecraft 1.20.1, 1.20.4, 1.21.1 対応