FreeMinecraftModelsリソースパック出力
FreeMinecraftModelsは現在、生成されたパックをoutputsではなくoutputに書き込みます。
デフォルトの出力パス
プラグインは起動時および/fmm reload実行時にこのフォルダを再構築します:
plugins/FreeMinecraftModels/output/FreeMinecraftModels
その後、そのフォルダを以下のパスにZIP圧縮します:
plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip
このZIPパスは、ResourcePackManagerがFreeMinecraftModelsと統合する際に期待するパスです。
生成される内容
生成されるフォルダには常に以下が含まれます:
pack.mcmetapack.pngassets/minecraft/atlases/blocks.jsonassets/freeminecraftmodels/...モデルとテクスチャの出力
Minecraft 1.21.4+では、FreeMinecraftModelsは以下のパスにアイテムモデル定義ファイルを生成します:
assets/freeminecraftmodels/items
古いサーバーでは、レガシーの革馬鎧オーバーライドモデルパスにフォールバックします。
ディスプレイモデル出力(1.21.4+)
モデルに隣接する.jsonディスプレイモデルファイルがある場合(モデル作成の注意事項を参照)、FMMはそのJSON(テクスチャ参照を抽出されたテクスチャに合わせて書き換え済み)を以下にコピーします:
assets/freeminecraftmodels/models/display/{modelId}.json
また、対応するアイテム定義を以下に生成します:
assets/freeminecraftmodels/items/display/{modelId}.json
DisplayModelRegistryはランタイムでどのモデルにディスプレイJSONがあるかを追跡し、ItemMeta.setItemModel()をItemStackに対して呼び出して正しい手持ちおよびインベントリでの見た目を与えられるようにします。
弓とクロスボウの条件付きアイテム出力
FMMが弓またはクロスボウの状態モデルセットを検出すると(モデル作成の注意事項を参照)、_idleモデル用に単一のアイテム定義JSONを生成し、リソースパックレベルですべての状態間を条件付きで切り替えます。サーバーサイドのパケット操作は不要です -- クライアントがネイティブに状態遷移を処理します。
弓の出力
弓の場合、生成されるアイテム定義はminecraft:conditionでusing_itemを使用し、minecraft:range_dispatchでuse_duration(スケール0.05)を参照します:
| 条件 | 使用されるモデル |
|---|---|
| アイテムを使用していない | _idle |
| 使用中、フォールバック(引き始め) | _draw_start |
使用中、閾値0.65 | _draw_half |
使用中、閾値0.9 | _draw_full |
クロスボウの出力
クロスボウの場合、生成されるアイテム定義はminecraft:selectでcharge_typeを使用します。装填済み(矢またはロケット)の場合は_chargedモデルを表示します。未装填のフォールバックはminecraft:range_dispatchでcrossbow/pullを使用します:
| 条件 | 使用されるモデル |
|---|---|
| 使用していない、未装填 | _idle |
| 使用中、フォールバック(引き始め) | _draw_start |
使用中、閾値0.58 | _draw_half |
使用中、閾値1.0 | _draw_full |
| 装填済み(矢またはロケット) | _charged |
出力場所
生成された条件付きアイテム定義は、他のアイテム定義と同じ場所に書き込まれます:
assets/freeminecraftmodels/items/display/{baseModelId}_idle.json
_idleモデルのみがアイテム定義ファイルを取得します。引き絞りと装填済みモデルはその中で条件付きエントリとして参照されます。
リロード動作
FreeMinecraftModelsがリロードすると、以下の処理が行われます:
- コンテンツインポートステップを再実行
output/FreeMinecraftModelsフォルダを再構築output/FreeMinecraftModels.zipを再生成- ResourcePackManagerがインストールされている場合は
resourcepackmanager reloadをディスパッチ
これが、最新のFMM + ResourcePackManagerセットアップで古い手動のZIPコピーワークフローが不要になった理由です。