メインコンテンツまでスキップ

FreeMinecraftModelsリソースパック出力

FreeMinecraftModelsは現在、生成されたパックをoutputsではなくoutputに書き込みます。

デフォルトの出力パス

プラグインは起動時および/fmm reload実行時にこのフォルダを再構築します:

plugins/FreeMinecraftModels/output/FreeMinecraftModels

その後、そのフォルダを以下のパスにZIP圧縮します:

plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip

このZIPパスは、ResourcePackManagerがFreeMinecraftModelsと統合する際に期待するパスです。

生成される内容

生成されるフォルダには常に以下が含まれます:

  • pack.mcmeta
  • pack.png
  • assets/minecraft/atlases/blocks.json
  • assets/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:conditionusing_itemを使用し、minecraft:range_dispatchuse_duration(スケール0.05)を参照します:

条件使用されるモデル
アイテムを使用していない_idle
使用中、フォールバック(引き始め)_draw_start
使用中、閾値0.65_draw_half
使用中、閾値0.9_draw_full

クロスボウの出力

クロスボウの場合、生成されるアイテム定義はminecraft:selectcharge_typeを使用します。装填済み(矢またはロケット)の場合は_chargedモデルを表示します。未装填のフォールバックはminecraft:range_dispatchcrossbow/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コピーワークフローが不要になった理由です。