防具装備テクスチャの追加
Wikiで編集防具装備テクスチャの追加
MOFUCRAFTで防具(兜・胴・脚・靴)に新しい見た目を追加する方法には、大きく分けて2つの経路があります。どちらも「プレイヤーが装備した時に、頭や体にかぶさって表示されるテクスチャ」を差し替える仕組みですが、対象クライアントと必要なファイル形式が異なります。作業前に必ずどちらの経路(または両方)を使うか決めてから進めてください。
2経路の使い分け
| 項目 | 経路A: Variants-CIT | 経路B: ItemsAdder equipment |
|---|---|---|
| 誰に見えるか | クライアントに Variants-CIT(v5系)を導入しているプレイヤーのみ | バニラクライアントの全員(Modなしでも見える) |
| 必要なMod/設定 | クライアント側に Variants-CIT Mod が必要(OptiFine CIT形式の.propertiesを読み込むMod) | クライアント側は不要。ただしサーバー側のItemsAdderでアイテムにequipment定義を紐付ける設定が必要 |
| ファイル形式 | .properties + layer_1/layer_2 のPNG | equipment定義の.json + humanoid/humanoid_leggings のPNG |
| 置き場所 | assets/minecraft/optifine/cit/ 配下(オーバーレイ不要、常に読み込まれる) | ia_overlay_1_21_2_plus/ と ia_overlay_1_21_4_plus/ の assets/armor/ 配下 |
リポジトリ内の実例を確認すると、以下のように使い分けられています。
- 経路Aのみ: asmodeus(アスモデウス)、beelzebub(ベルゼブブ)、demogorgon、hev_suit_4(HEVスーツ)、kingsmanjb1、mori、brokenrobot、seaman_armor、tinotuitahakui などの防具
- 経路Bのみ: moon、santa、tsuyu、ironman / ironman_off の防具
- 両方併用: sakura(桜)の防具は、Variants-CIT用の
.properties(assets/minecraft/optifine/cit/models/armor/sakura_armor/)と、ItemsAdder equipment定義の両方が用意されています
同じ見た目の防具でも、Mod未導入のプレイヤーにも見せたい場合は経路Bを、Variants-CIT導入者向けに従来通りの質感で見せたい場合は経路Aを、両方満たしたい場合はsakuraのように両方を仕込みます。新規に防具を追加する際は、まず「バニラクライアントでも見せる必要があるか」を基準にどちらを使うか判断してください。
経路A: Variants-CIT(.properties)の書き方
Variants-CITはOptiFineのCIT(Custom Item Textures、アイテムごとに見た目を差し替える仕組み)と同じ.properties形式を読み込みます。以下は実際に使われている assets/minecraft/optifine/cit/models/armor/asmodeus_armor/asmodeus_armor.properties の内容です。
type=armor
items=minecraft\:netherite_helmet\ minecraft\:netherite_chestplate\ minecraft\:netherite_leggings\ minecraft\:netherite_boots
texture.netherite_layer_1=asmodeus_armor_layer_1
texture.netherite_layer_2=asmodeus_armor_layer_2
components.minecraft\:lore.*=ipattern\:*ASMODEUSARMOR*
type=armor: 装備した時の見た目(worn texture)を差し替える設定であることを示します。items=: 対象となるベースアイテムを4つ(兜・胴・脚・靴)並べます。コロン(:)とスペースはそれぞれ\:\のようにバックスラッシュでエスケープする必要があります(書き忘れると読み込みエラーになります)。texture.<素材名>_layer_1/_layer_2: 差し替え先のテクスチャファイル名を、拡張子(.png)を付けずに指定します。<素材名>はベースアイテムの素材(この例ではnetherite)に合わせます。components.minecraft\:lore.*=ipattern\:*文字列*: どのアイテムにこの見た目を適用するかを判定する条件です。本パックの防具CITは基本的に lore(アイテムの説明文) のパターン一致で判定しています。ipattern:*文字列*は「大文字小文字を区別せず、文字列を含んでいれば一致」という意味です。
layer_1 / layer_2 テクスチャの用意
layer_1: 兜・胴・靴の部分のUVが入ったテクスチャです。layer_2: 脚(レギンス)部分のUVが入ったテクスチャです。- 4つの防具部位すべてで共通の1組(layer_1・layer_2)を使い回します。部位ごとに別々のテクスチャは不要です。
- PNG形式・縦横とも2の累乗(64×32など)のサイズで用意してください(ファイル命名規則については「よくある失敗」も参照)。
置き場所
テクスチャは.propertiesと同じフォルダに置き、拡張子なしのファイル名で参照します。
assets/minecraft/optifine/cit/models/armor/<任意のフォルダ名>/
├── <名前>.properties (type=armor)
├── <名前>_layer_1.png
└── <名前>_layer_2.png
インベントリでのアイコン(手に持った時や所持画面での見た目)は、この
type=armorの設定とは別に、type=itemの.propertiesで個別に差し替えます(例:asmodeus_chestplate.properties)。装備テクスチャとアイコンは別々の設定が必要な点に注意してください。
経路B: ItemsAdder equipmentの書き方
ItemsAdderのequipment(装備アセット、1.21.2で追加されたバニラの装備表示の仕組み)は、装備した時の見た目を equipment定義JSON と humanoid / humanoid_leggings の2枚のテクスチャで指定します。実例として、moon(月面)防具は次のファイルからできています。
必要ファイル一式
-
equipment定義JSON(2箇所に同じ内容を置く)
equipment定義の置き場所は1.21.2時点の仕様(旧配置)と1.21.4以降の仕様(新配置)で変わったため、両方の場所に同じ内容のファイルを置きます。moonの実例です。
{"layers":{"humanoid":[{"texture":"armor:moon"}],"humanoid_leggings":[{"texture":"armor:moon"}]}}- 旧配置:
ia_overlay_1_21_2_plus/assets/armor/models/equipment/moon.json - 新配置:
ia_overlay_1_21_4_plus/assets/armor/equipment/moon.json
- 旧配置:
-
humanoid / humanoid_leggings テクスチャ
テクスチャの置き場所は仕様変更の影響を受けないため、
ia_overlay_1_21_2_plus側にのみ置きます(ia_overlay_1_21_4_plus側には複製しません)。ia_overlay_1_21_2_plus/assets/armor/textures/entity/equipment/humanoid/moon.png(兜・胴・靴用)ia_overlay_1_21_2_plus/assets/armor/textures/entity/equipment/humanoid_leggings/moon.png(脚用)
なぜ2箇所に同じJSONを置くのか: equipment定義ファイルの置き場所は、1.21.2で追加された当初は
models/equipment/配下でしたが、1.21.4以降はequipment/配下(models/を除いた場所)に変わりました。両方の配置を用意しておくことで、どちらの仕様のクライアントでも読み込めるようにしています。1.21.11 / 26.1(リソースパックformat 75)は新配置を使いますが、旧配置を残しておいても害はありません。
ItemsAdder側(サーバー)で必要な設定
アイテムがどのequipment定義を使うかは、アイテムのデータ(minecraft:equippableコンポーネントのasset_id)で決まります。この紐付けはリソースパックの中身ではなく、ItemsAdderのサーバー側アイテム設定で行います。本ガイドはリソースパック側の作業が対象のため、この工程は担当者に確認してください。
- アイテムに
asset_id: armor:moon(のように、equipment定義のファイル名と一致する値)を設定する作業: 【要記入: 設定ファイルの場所・設定できる担当者】
また、インベントリのアイコン(所持画面での見た目)はequipment定義とは別物で、本パックでは既存のcustom_model_dataによるCIT(assets/minecraft/items/leather_helmet.jsonなど)で管理しています。新しい防具を追加する場合、装備時の見た目(本ページの内容)とは別に、アイコン用のCIT追加が必要になることがあります(CustomModelData(CMD)の採番ガイドを参照)。
ゲーム内確認方法
- 検証用の防具アイテムを入手します(【要記入: テスト用アイテムの入手方法・スタッフコマンド等】)。
- 防具を装備し、F5キーで三人称視点に切り替えて自分の見た目を確認します。
- 可能であれば別のプレイヤー(別アカウントやスタッフ間での確認)にログインしてもらい、他者から見た装備状態も確認します。経路A(Variants-CIT)は導入者にしか見えず、経路B(equipment)はバニラクライアントでも見える点を、実際に両方の環境で確認してください。
- 開発中はF3+Tでリソースパックをリロードし、変更が反映されるか確認します。
- リリース前の一連のテスト項目はリソースパックの更新と公開を参照してください。
よくある失敗
- 経路Bで新配置(
equipment/)しか置かない: 旧配置(models/equipment/)を省略しても1.21.11 / 26.1では動作しますが、既存の防具はすべて両方に置く運用になっています。整合性のため両方揃えてください。 - humanoid_leggingsテクスチャを忘れる: humanoidだけ用意すると、脚(レギンス)部分の見た目が反映されません。
- .propertiesのエスケープ漏れ:
items=行のコロンやスペースのエスケープ(\:\)を忘れると、そのファイル自体が読み込まれません。 - 装備テクスチャとアイコンを混同する: 経路Bのequipment定義はあくまで「装備した時の見た目」で、インベントリアイコンは別のCIT(custom_model_data)で管理されています。片方だけ直して終わったつもりにならないよう注意してください。
- ia_overlay_*ディレクトリ以外に置いてしまう: equipment定義やテクスチャを
ia_overlay_*ではなく素のassets/armor/直下に置くと、対応バージョンに関わらず常に適用されてしまいます。新規追加時は既存の防具と同じオーバーレイに置くようにしてください。オーバーレイを新規作成した場合の注意点はItemsAdder生成パックのマージ手順を参照してください。

