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

FreeMinecraftModels FAQ

ここに記載されていない質問がある場合は、サイドバーを確認して、その内容に特化したページがウィキにないか探してみてください!

はじめに

FreeMinecraftModelsのインストールと使い方は?

情報

インストール:

  1. FreeMinecraftModels.jarをダウンロードしてpluginsフォルダに配置します
  2. サーバーを再起動してプラグインフォルダを生成します
  3. /fmm setupを実行して初回セットアップ/コンテンツ管理メニューを開きます
  4. 公式コンテンツパックを使用する場合は、/nightbreaklogin <token>でNightbreakをリンクします
  5. Nightbreak管理の公式コンテンツには/fmm setupまたは/fmm downloadallを使用します
  6. 手動コンテンツの場合は、.bbmodelファイルを~/plugins/FreeMinecraftModels/imports/に配置して/fmm reloadを実行します
  7. 生成されたリソースパックは~/plugins/FreeMinecraftModels/output/FreeMinecraftModels.zipにあります

リソースパックの配布:

以下のいずれかの方法を選択します:

  • オプションA(推奨):自動配布のためにResource Pack Managerをインストールします
  • オプションB:server.propertiesまたはホスティングサービスを介して手動で設定します

モデルのスポーン:

  • /fmm spawn static <id> - 一時的な装飾モデルをスポーン
  • /fmm spawn dynamic <id> - エンティティに付属するモデルをスポーン
  • /fmm spawn prop <id> - 永続的なワールドモデルをスポーン

管理:

  • /fmm - クラフタブルアイテムメニューを開く(freeminecraftmodels.menuが必要)
  • /fmm setup - コンテンツ管理/初回セットアップメニューを開く
  • /fmm recommendedplugins - FMMと相性の良いコンパニオンプラグインを閲覧
  • /fmm downloadall - 最新のプラグイン更新とアクセス可能なすべての公式コンテンツをダウンロード
  • /fmm downloadallcontent - アクセス可能なすべての公式コンテンツをダウンロード(コンテンツのみ)
  • /fmm updatecontent - 古くなった公式コンテンツを更新
  • /fmm downloadpluginupdate - 最新のプラグインjar更新のみをダウンロード
  • /fmm reload - プラグインをリロードして新しいモデルを変換
  • /fmm version - プラグインのバージョンを表示
  • /fmm stats - エンティティ数の統計を表示

プレイヤー機能:

  • /fmm disguise <modelID> [player] - 自分(または対象プレイヤー)の見た目をカスタムモデルに変身させる
  • /fmm undisguise [player] - プレイヤーの変装を解除する
  • /fmm disguiselist - 現在変装中のすべてのプレイヤーを一覧表示する
  • /fmm itemify <model> <material> - 指定したモデルをスポーンする配置可能アイテムを作成する
  • /fmm craftify <modelID> - プロップ用のクラフトレシピを作成するインタラクティブなレシピビルダーを開く
  • /fmm shop - オプションのVault対応家具ショップを開く(shop_config.ymlで有効化されている場合のみ)
  • /fmm mount <modelID> - カスタムモデルにディスガイズした騎乗可能な馬をスポーンする(実験的)

デバッグ:

  • /fmm hitbox visualize [duration] - パーティクルを使ってモデルのヒットボックスを可視化する(duration はtick単位、デフォルト100)
  • /fmm location - 登録されている保護/ダンジョンプロバイダを報告し、現在地でそれらをテストする
  • /fmm debug bedrock [on|off] - Bedrockディスプレイパイプラインを診断するための詳細な[FMM-BedrockDebug]ログストリームを切り替える。設定キーではなく、再起動のたびにOFFにリセットされる

管理者向け:

  • /fmm deleteall [radius] - ロードされているすべてのモデル化エンティティとプロップを削除する(注意して使用 - 確認プロンプトなし)。オプションのプレイヤー専用[radius]を指定すると、その数ブロック以内に削除を限定する

権限:

  • freeminecraftmodels.*(デフォルト:OP) - freeminecraftmodels.adminfreeminecraftmodels.deleteallfreeminecraftmodels.disguise.selffreeminecraftmodels.disguise.othersを付与するワイルドカード。また、/fmm reload/fmm stats/fmm spawn/fmm itemify/fmm craftify/fmm mount/fmm hitbox visualize/fmm debug bedrock/fmm location/fmm setup/fmm recommendedplugins/fmm downloadall/fmm downloadallcontent/fmm updatecontent/fmm downloadpluginupdateに必要な文字どおりの権限でもあります
  • freeminecraftmodels.admin(デフォルト:OP) - /fmm admin(管理者コンテンツブラウザ)と/fmm giveitem
  • freeminecraftmodels.disguise.self(デフォルト:OP) - プレイヤーが自分自身のみをディスガイズ/アンディスガイズできるようにします
  • freeminecraftmodels.disguise.others(デフォルト:OP) - 対象指定のディスガイズ/アンディスガイズと/fmm disguiselistを許可します
  • freeminecraftmodels.deleteall(デフォルト:OP) - /fmm deleteallに必要(ワイルドカードの子)
  • freeminecraftmodels.bypassregionprotection(デフォルト:OP) - preventPropPlacementInProtectedRegionsが有効でも、WorldGuardリージョンまたはGriefPreventionクレイム内でプロップの設置/操作
  • freeminecraftmodels.menu(デフォルト:true) - すべてのプレイヤーが/fmmでクラフタブルアイテムブラウザを開けるようにします
  • freeminecraftmodels.shop(デフォルト:true) - すべてのプレイヤーが/fmm shopを開けるようにします(ショップが有効化されていることが引き続き条件)

別途記載がない限り、コマンドはデフォルトでOP専用です。必要に応じてこれらの権限を非OPプレイヤーに付与してください。

モデルの機能と制限

モデルのサイズと回転の制限は?

情報

サイズ制限:

  • ボーンごとの境界ボックスの最大値:192x192x192モデルピクセル(ゲーム内12x12x12ブロック) -- 単一ボーン内のすべてのキューブにわたって測定されます
  • FreeMinecraftModelsは4倍の内部スケーリングを使用し、Minecraftの-16..+32のリソースパック範囲に収まるようモデル原点をシフトします
  • ボーンが制限を超えると、FMMはコンソールに警告をログ出力します。キューブを縮小するか、近づけるか、複数のボーンに分割してください
  • モデル全体はこれより大きくできます -- 制限が適用されるのはボーンごとのみです

キューブの回転制限:

  • 許可される角度:0°、±22.5°、±45°、および22.5°の倍数(v2.3.0以降)
  • 単軸回転のみ
  • 例:[22.5, 0, 0]は機能しますが、[22.5, 0, 45]は部分的にしか回転しません
  • その他の角度は正しく表示されません

ボーンの回転:

  • ボーンは任意の回転角度をサポートします
  • 90°、-90°、180°、-180°のデフォルト静止位置は避けてください(予期しない挙動を引き起こす可能性があります)
  • 多軸回転がサポートされています
  • 各ボーンは個別のエンティティを作成します(パフォーマンスへの考慮事項)

パフォーマンスに関するメモ:

ボーン数はできるだけ少なく保ってください。各ボーンはMinecraftで個別のエンティティをスポーンするため、規模が大きくなるとサーバーパフォーマンスに影響する可能性があります。

どのようなアニメーションがサポートされていますか?

情報

FreeMinecraftModelsは以下のデフォルト状態アニメーションをサポートしています(AnimationStateType列挙型で宣言):

標準アニメーション:

  • spawn
  • idle
  • walk
  • jump
  • attack
  • death
  • custom(APIまたはLuaによってトリガーされるワンショットアニメーション用の汎用)

仕組み:

  • BlockBenchで上記の小文字の名前を使ってアニメーションを作成すると、FMMが対応する状態に自動バインドします
  • プラグインは.bbmodelファイルからアニメーションのキーフレームを読み取ります
  • アニメーションはエンティティの状態に基づいて自動的にトリガーされます
  • 開発者はModeledEntity上のplayAnimation(animationName, blend, loop)、またはLuaからcontext.prop:play_animation(name, blend, loop)を使用して、プログラムからアニメーションをトリガーできます

特殊なケース:

エヴォーカーエンティティは近くのエヴォーカーの牙を検出し、攻撃アニメーションを自動的にトリガーします。

仮想ボーンとは何で、どのように機能しますか?

情報

仮想ボーンは予約名を持つ特別なボーンで、モデルに機能を追加します:

ヒットボックスボーン:

  • 名前:hitbox
  • インタラクションゾーンとコリジョンボックスを作成します
  • 一致するx/z値でエンティティの境界を定義します

ネームタグボーン:

  • 接頭辞:tag_
  • モデルの上にテキストを表示します
  • エンティティの名前付けに使用します

頭部回転ボーン:

  • 接頭辞:h_
  • プレイヤー/エンティティの頭の位置に基づいて回転します
  • 頭の動きを自動的に追跡します

使い方:

BlockBenchでこれらの特別な名前のいずれかを持つボーンを作成すると、プラグインが対応する機能を自動的に適用します。

トラブルシューティングFAQ

カスタムモデルの代わりに、馬鎧しか見えません。

情報

ゲーム内にカスタムモデルが表示される代わりに馬鎧しか見えない場合、問題は、FMMリソースパックを既存のリソースパックと適切にマージできていないことである可能性が高いです。

MagmaGuyはResource Pack Manager(RSPM)というプラグインを開発しており、リソースパックを自動的にマージしてくれます。Spigotからこちらでダウンロードできます。

RSPMの.jarファイルをpluginsフォルダに入れるだけで、RSPMがすべてを処理します。すべてのリソースパックをマージし、自動ホスティングして、プレイヤーがサーバーにログインしたときに配布します。

.bbmodelファイルを追加した後、モデルが見えないのはなぜですか?

情報

モデルが表示されない場合は、以下のよくある問題を確認してください:

1. リロードを忘れている

.bbmodelファイルをimportsフォルダに配置した後、/fmm reloadを実行してください。これによりモデルが変換され、リソースパックが生成されます。

2. リソースパックが適用されていない

プレイヤーがモデルを見るには、FMMリソースパックが有効になっている必要があります。

  • 生成されたパックについて~/plugins/FreeMinecraftModels/output/FreeMinecraftModels.zipを確認してください
  • 自動配布のためにResource Pack Managerをインストールしてください
  • または、server.propertiesやホスティングサービスを介して手動で配布してください

3. ファイルの場所が間違っている

手動インポート用の.bbmodelファイルは次の場所に置く必要があります:~/plugins/FreeMinecraftModels/imports/

代わりに公式コンテンツパックを使用している場合は、ファイルを手動でドロップするのではなく、/fmm setupまたは/fmm downloadallを使用してください。

4. モデルにエラーがある

/fmm reload中のエラーメッセージについてコンソールログを確認してください。よくある問題には、サポートされていない回転、サイズ超過のモデル、テクスチャの問題などがあります。

5. リソースパックのマージの問題

モデルの代わりに馬鎧が見える場合は、リソースパックが適切にマージされていません。Resource Pack Manager(RSPM)を使ってマージを自動的に処理してください。

ViaVersionによってリソースパックが正しく表示されないことがあります。

情報

ViaVersionは、特に1.21.4より低いバージョンでサーバーを実行している場合に、リソースパックで問題を引き起こすことがあります。Minecraftは1.21.4以降、リソースパックの処理方法に変更を導入しました。1.21.3のようなバージョンでサーバーを実行し、ViaVersionを使用して1.21.4クライアントを接続させている場合、これらのクライアントはFMM(FreeMinecraftModels)のカスタムモデルなど、特定のリソースパックコンテンツの表示に問題が生じることがあります。

これは、Minecraftのリソースパックシステムが1.21.4のアップデートで変更されたために発生します。

注意: これはMinecraftとViaVersionの制限であり、FreeMinecraftModels特有のものではありません。ViaVersionのプロトコル変換は、1.21.4より低いサーバーバージョンで実行している場合、リソースパックの変更を完全にはサポートしていない可能性があります。

これを解決するには、サーバーを1.21.4以降に更新することを検討してください。これにより、FMMのカスタムモデルを含む最新のリソースパック機能との互換性が向上します。

モデルがラグやパフォーマンスの問題を引き起こすのはなぜですか?

情報

BlockBenchモデル内の各ボーンは、Minecraftで個別のエンティティを作成します。多くのボーンを持つモデルはサーバーパフォーマンスに影響を与える可能性があります。

最適化のヒント:

  • モデル内のボーン数を最小限に抑える
  • スポーンするモデルの数を制限する
  • アニメーションが不要な場合は、Dynamicモデルの代わりにStaticモデルの使用を検討する
  • ボーン数の多いモデルを互いに近接して大量にスポーンさせない

技術的な説明:

FreeMinecraftModelsは各ボーンを個別のMinecraftエンティティとしてレンダリングします。50個のボーンを持つモデルは50個のエンティティをスポーンします。規模が大きくなると、これがパフォーマンスに影響します。

ベストプラクティス:

  • ボーン数を少なくしてモデルを設計する
  • 現実的なスポーン数でパフォーマンスをテストする
  • 新しいモデルを追加する際はサーバーのTPSを監視する

高度な機能

Resource Pack Manager(RSPM)は必要ですか?

情報

Resource Pack Manager(RSPM)はオプションですが強く推奨されます

RSPMが行うこと:

  • 複数のプラグインからのリソースパックを自動的にマージします
  • リソースパックをホスティングします(外部ホスティング不要)
  • ログイン時にプレイヤーへパックを自動的に配布します
  • 手動のリソースパック設定を不要にします

RSPMなしの場合:

手動で以下を行う必要があります:

  • FMMリソースパックを既存のサーバーリソースパックとマージする
  • マージしたパックを外部サービスまたはserver.properties経由でホスティングする
  • パックをプレイヤーに送るようサーバーを設定する
  • 新しいモデルを追加するたびにパックを更新する

RSPMを使う理由:

「モデルの代わりに馬鎧」の問題のほとんどは、リソースパックのマージが適切でないことが原因です。RSPMはこれを自動的に処理します。

RSPMをダウンロード:https://www.spigotmc.org/resources/resource-pack-manager.118574/

FreeMinecraftModelsと同じ作者であるMagmaGuyが開発しています。

自分のプラグインでFreeMinecraftModelsを使用できますか?

情報

はい、FreeMinecraftModelsは開発者向けのAPIを提供しています。

Maven/Gradle統合:

リポジトリ:https://repo.magmaguy.com/releases

アーティファクト:

  • GroupId:com.magmaguy
  • ArtifactId:FreeMinecraftModels
  • Scope:provided(サーバーにインストールする必要があり、シェードしないでください)

主要なAPIクラス:

  • ModeledEntity(基底クラス)
  • StaticEntity
  • DynamicEntity
  • PropEntity

使用例:

StaticEntity staticEntity = StaticEntity.create(id, location);
if (staticEntity == null) {
Bukkit.getLogger().warning("Failed to create model");
return;
}
staticEntity.setRightClickCallback(...);
staticEntity.remove();

重要:

FreeMinecraftModelsを自分のプラグインにシェードしないでください。サーバーに別途インストールする必要があります。

詳細なAPIドキュメントについては、公式READMEを参照してください。

プレイヤーをカスタムモデルにディスガイズするには?

情報

/fmm disguiseコマンドは、プレイヤーの見た目を任意のカスタムモデルに変身させます。

コマンド:

/fmm disguise <modelID> [player]
/fmm undisguise [player]
/fmm disguiselist

仕組み:

  • プレイヤーを他のプレイヤーから見えなくします
  • プレイヤーの位置にカスタムモデルを重ねます
  • モデルがプレイヤーの動きに追従します
  • ロールプレイサーバーや特別なイベントに最適です

例:

/fmm disguise dragon              # 自分を変装させる
/fmm disguise dragon Steve # 別のプレイヤーを変装させる
/fmm undisguise Steve # Steveの変装を解除する
/fmm disguiselist # 現在変装中の全員を一覧表示する

要件:

  • 自分を対象とする場合:freeminecraftmodels.disguise.self(デフォルト:OP)
  • 他者を対象とする場合と/fmm disguiselistfreeminecraftmodels.disguise.others(デフォルト:OP)
  • プレイヤー名が指定されていれば、コンソールから対象指定形式を実行できます
  • modelIDはmodelsフォルダ内の有効な変換済みモデルである必要があります
  • サードパーティプラグインは公開DisguiseAPI経由でディスガイズを駆動できます

メモ:

  • プレイヤーのヒットボックスは変更されません(同じコリジョンボックス)
  • 他のプレイヤーには、あなたのプレイヤースキンの代わりにカスタムモデルが見えます
  • すでに変装中に再度ディスガイズすると、以前のディスガイズがクリーンに置き換えられます
  • 透明化は、プレイヤーの変装が解除されるまで、ミルクバケツやその他の効果除去操作を経ても持続します

配置可能なモデルアイテムを作成するには?

情報

/fmm itemifyコマンドは、プレイヤーがワールドにモデルを設置するために使用できる特別なアイテムを作成します。

コマンド:

/fmm itemify <model> <material>

パラメータ:

  • model - modelsフォルダ内の任意の有効なモデルID
  • material - 任意のMinecraftマテリアル(STICK、PAPER、DIAMONDなど)

例:

/fmm itemify lamp_post STICK

作成されるもの:

  • 金で装飾された整形済みの表示名を持つカスタムアイテム(例:「✦ Wolf ✦」)
  • アイテムを説明する説明的なロア
  • アイテムは自分のインベントリに直接追加されます
  • 右クリックでモデルをプロップとして設置します

使用例:

  • プレイヤーに建築物を装飾するためのアイテムを与える
  • 家具用のカスタム「スポーンエッグ」を作成する
  • 建築権限を与えずにモデルを配布する
  • クリエイティブ建築用のセットアップキット

要件:

  • 権限:freeminecraftmodels.*
  • プレイヤーがゲーム内にいる必要があります(コンソール不可)

モデルのヒットボックスをデバッグするには?

情報

/fmm hitbox visualizeコマンドは、パーティクルを使ってモデルのヒットボックスを可視化します。

コマンド:

/fmm hitbox visualize [duration]

パラメータ:

  • duration(オプション) - ヒットボックスを表示する時間(tick単位、デフォルト:100、最大:1200)
  • 20 tick = 1秒

例:

/fmm hitbox visualize          # 5秒間表示
/fmm hitbox visualize 200 # 10秒間表示

仕組み:

  • 自分から10ブロック以内のモデルを検索します
  • 向きのある境界ボックス(OBB)の境界をパーティクルで表示します
  • モデルとそのコリジョン境界の両方を表示します
  • ヒットボックスのサイズと回転の検証に役立ちます

使用するタイミング:

  • ヒットボックスが視覚的なモデルと一致するかのテスト
  • インタラクションの問題のデバッグ
  • ヒットボックスの回転の検証
  • クリック検出のトラブルシューティング

要件:

  • 権限:freeminecraftmodels.*

メモ: FMMのヒットボックスは、標準のMinecraft AABBとは異なり、モデルと一緒に回転します。

騎乗可能なカスタムモデルを作成できますか?

情報

はい、/fmm mountコマンドを使って騎乗可能なカスタムモデルを作成できます(実験的機能)。

コマンド:

/fmm mount <modelID>

動作内容:

  • 自分の位置に馬をスポーンします
  • 馬をカスタムモデルにディスガイズします
  • 馬を自動的に手懐けてサドルを追加します
  • すぐにあなたを馬に乗せます

例:

/fmm mount dragon

要件:

  • 権限:freeminecraftmodels.*
  • 有効なモデルID

重要なメモ:

  • この機能は実験的としてマークされています
  • 移動速度と挙動は標準の馬と同じです
  • 馬のヒットボックスは変更されません
  • 乗り物用に設計されたモデルで最も効果的に機能します

使用例:

  • ロールプレイサーバー用のカスタム乗り物
  • VIPプレイヤー用の特別な移動手段
  • アドベンチャーマップ用のユニークな騎乗可能クリーチャー

マウントポイントボーンとは何ですか?

情報

マウントポイントを使うと、特別に名付けられたボーンを使ってモデル上に騎乗位置を直接定義できます。

マウントポイントの作成方法:

Blockbenchで、接頭辞m_を付けた任意のボーンに名前を付けます(例:m_seatm_back)。各m_ボーンは、プレイヤーやエンティティが騎乗できるモデル上の座席位置になります。

仕組み:

  • マウント位置はボーンの位置に追従し、アニメーションも含みます
  • 複数のm_ボーンは複数の座席を作成します
  • プレイヤー/エンティティはAPIまたはLuaスクリプトを介してこれらの位置に騎乗できます

テスト:

/fmm mount <modelID>を使って、モデル上のマウントポイントをすばやくテストできます。

使用例:

  • 複数座席の乗り物(ボート、馬車)
  • 特定の座席位置を持つ騎乗可能クリーチャー
  • 肩乗りのペットやコンパニオン

カスタムアイテム

カスタムアイテムとは何ですか?

情報

カスタムアイテムは、兄弟YML設定ファイルにmaterial:フィールドが設定されたモデルで、保持・装備可能なアイテムに変わり、Luaスクリプティングをサポートします。

プロップ配置アイテムとの主な違い:

  • カスタムアイテムはfmm_item_id PDC(PersistentDataContainer)キーを使用します
  • プロップ配置アイテム(/fmm itemifyによるもの)はmodel_id PDCキーを使用します
  • カスタムアイテムは22個のアイテム固有のLuaスクリプトフック(装備、攻撃、消費など)をサポートします
  • カスタムアイテムは、YML設定でエンチャント、カスタム名、ロアを定義できます

カスタムアイテムの作成方法:

  1. Blockbenchで.bbmodelモデルを作成します
  2. 同じベース名を持つ兄弟YMLファイルを作成します(例:magic_sword.bbmodelの隣にmagic_sword.yml
  3. YMLのmaterial:フィールドを任意の有効なMinecraftマテリアルに設定します(例:material: DIAMOND_SWORD
  4. オプションでname:lore:enchantments:フィールドを設定します
  5. オプションでplugins/FreeMinecraftModels/scripts/にLuaスクリプトを作成し、scripts:フィールドで参照します

YML例:

isEnabled: true
material: DIAMOND_SWORD
name: "&6Flame Blade"
lore:
- "&7A legendary weapon"
- "&cBurns enemies on hit"
enchantments:
- "FIRE_ASPECT,2"
scripts:
- flame_blade.lua

カスタムアイテムの入手方法:

  • /fmm giveitem <id>freeminecraftmodels.admin権限が必要)
  • 管理者メニュー(/fmm admin)経由

メニュー

FMMはどのようなメニューを提供しますか?

情報

FreeMinecraftModelsは、コンテンツを閲覧・管理するための2つのゲーム内メニューを提供します。

プレイヤーメニュー — /fmm

  • 権限:freeminecraftmodels.menu(デフォルト:true、全プレイヤーが使用可能)
  • クラフトレシピが定義されているアイテムのみを表示します
  • アイテムをクリックすると、3x3クラフトグリッドのプレビューを含む詳細ビューが表示されます
  • プレイヤーがカスタムアイテムを発見し、そのクラフト方法を学べるようにします

管理者メニュー — /fmm admin

  • 権限:freeminecraftmodels.admin(デフォルト:OP)
  • 以下を表示する完全なコンテンツブラウザ:
    • インストール済みパッケージ
    • 未パッケージ化のモデルフォルダ
    • ルートレベルのモデル
    • カスタムアイテム(material:が設定されたモデル)
  • 管理者がアイテムを付与し、モデルをプレビューし、コンテンツを管理できるようにします

ディスプレイモデル

ディスプレイモデルとは何ですか?

情報

ディスプレイモデルを使うと、カスタムアイテムが、デフォルトのマテリアルの見た目の代わりに、プレイヤーのインベントリと手に3Dモデルを表示できます。

ディスプレイモデルのセットアップ方法:

  1. BlockbenchでFile > Export > Java Block/Itemを使って.jsonモデルファイルをエクスポートします
  2. .jsonファイルを同じベース名で.bbmodelファイルの隣に配置します(例:magic_sword.bbmodelの隣にmagic_sword.json
  3. /fmm reloadを実行します

仕組み:

  • Minecraft 1.21.4以降では、保持時やインベントリ表示時にアイテムがカスタム3Dモデルで表示されます
  • JSON内の素のテクスチャ参照は、自動的にFMM名前空間パスに書き換えられます
  • .jsonファイルが存在しない場合、アイテムはプレーンなマテリアルの見た目にフォールバックします
  • 古いサーバーバージョンはディスプレイモデルを静かに無視します

要件:

  • Minecraft 1.21.4以降を実行しているサーバー
  • モデルファイルの隣に配置された有効なBlockbench「Java Block/Item」エクスポート(.json