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

FreeMinecraftModelsの設定

このページでは、セットアップ、レンダリング、プレイヤーインタラクション、およびオプションの家具ショップに実質的に影響する現在のconfig.ymlshop_config.ymlの設定について説明します。

ファイルの場所

plugins/FreeMinecraftModels/config.yml
plugins/FreeMinecraftModels/shop_config.yml

shop_config.ymlは初回実行時に生成されます。ショップ自体はオプトインするまで無効のままです。

config.ymlの設定

setupDone

  • デフォルト:false
  • 初回セットアップガイドが完了したと見なされるかどうかを制御します
  • これがfalseのままの間、広範なFreeMinecraftModels権限を持つプレイヤーは/fmm initializeを実行するようリマインダーを受け取ります
  • セットアップフローがこの値を切り替えるので、通常のオンボーディング中に手動で編集する必要はありません

useDisplayEntitiesWhenPossible

  • デフォルト:true
  • サーバーとクライアント経路がサポートしている場合、FreeMinecraftModelsがディスプレイエンティティレンダリングを優先するよう指示します
  • ディスプレイエンティティが利用できない場合(1.19.4より古いまたはBedrock)、プラグインは引き続きアーマースタンドディスプレイにフォールバックします
  • Bedrockクライアントは特殊なケースなので、これがすべてのプレイヤーに同じレンダリング経路を強制するとは想定しないでください

maxModelViewDistance

  • デフォルト:60
  • モデル化されたエンティティが視聴者にどこまで送られるかを制限します
  • 値を低くすると、モデルが密集したエリアでのパケットおよびクライアントレンダリングの負荷が減少します
  • 個々のエンティティはModeledEntity.setViewDistanceOverride(int)を介して実行時にこれをオーバーライドできます -- APIガイドを参照

maxInteractionAndAttackDistance

  • デフォルト:3
  • 静的および動的なモデル化エンティティに適用されます
  • ランタイムインタラクションおよびヒット検出チェックで使用されます

maxInteractionAndAttackDistanceForProps

  • デフォルト:6
  • プロップエンティティに適用されます
  • これは静的/動的エンティティのインタラクション距離とは別です

sendCustomModelsToBedrockClientsV2

  • デフォルト:true
  • FreeMinecraftModelsがBedrockクライアントにカスタムモデルを送信しようとするかどうかを制御します
  • このキーは、デフォルトがfalseだった古いsendCustomModelsToBedrockClientsを置き換えます。V2への改名でデフォルトが反転し、Bedrockプレイヤーにもデフォルトでモデルが表示されるようになりました。以前に古いキーを明示的に設定していた場合は削除でき、新しいV2キーが引き継ぎます
  • 無効の場合、Bedrockプレイヤーは基となるバニラエンティティが存在すればそれにフォールバックします(ディスガイズは彼らには描画されません)
  • 有効にする場合は、Bedrock/Geyser/Floodgateのリソースパック経路がそれらのクライアント用に実際に準備できていることを確認してください
  • Bedrockディスプレイパイプラインのランタイム診断ログは設定キーではありません -- /fmm debug bedrock on|offを介してランタイムで切り替えるため、本番環境で誤って有効のままになることはありません。コマンドを参照

shop_config.yml

オプションのVault対応家具ショップは独自の設定ファイルにあり、メインプラグインの挙動とは独立して有効化や調整ができます。Vaultまたはエコノミープロバイダが欠けている場合、ショップは登録を拒否します。

トップレベルキー

キーデフォルト説明
enabledfalse/fmm shopのマスター切り替え。これがtrueでVault + エコノミープロバイダが両方存在する場合にのみコマンドが登録されます
defaultPrice100.0次回ロード時に独自のshopPriceを設定していないレシピファイルに書き込まれる価格
menuTitle&8FMM - Furniture Shopショップインベントリの上部に表示されるタイトル(&カラーコードに対応)
priceLoreFormat&7Price: &e{price}各ショップアイテムに価格を示すため追加されるロア行。プレースホルダ:{price}
clickToBuyLoreFormat&aClick to purchase購入を促すため各ショップアイテムに追加されるロア行

メッセージキー(messages.*

すべてのメッセージ文字列は&カラーコードに対応しています。

キーデフォルトプレースホルダ
messages.purchaseSuccess&aPurchased &f{item} &afor &e{price}&a. Balance: &e{balance}&a.{item}{price}{balance}
messages.insufficientFunds&cYou need &e{price} &cto buy &f{item}&c. Balance: &e{balance}&c.{item}{price}{balance}
messages.shopDisabled&cThe furniture shop is currently unavailable.なし
messages.itemNotForSale&cThat item is not currently for sale.{item}
messages.inventoryFull&eYour inventory was full; &f{item} &ehas been dropped at your feet.{item}

レシピごとのショップフィールド

plugins/FreeMinecraftModels/recipes/<model_id>.yml内の各レシピファイルには、2つの追加フィールドがあります:

フィールドデフォルト説明
shopEnabledtrueこのレシピが/fmm shopに表示されるかどうか。shopEnabled: falseのレシピは引き続きクラフト可能ですが、購入用にリストされることはありません
shopPriceshop_config.ymldefaultPriceこの特定のアイテムのVault通貨コスト

レシピビルダー(/fmm craftify)は保存時に両方のフィールドを書き込むため、価格調整はテキスト編集だけで済みます。

権限

plugin.ymlに登録されているもの

権限デフォルト説明
freeminecraftmodels.*opadminおよびself/othersディスガイズ権限を付与するワイルドカード
freeminecraftmodels.adminop/fmm admin(管理者コンテンツブラウザ)と/fmm giveitemへのアクセス。その他の管理/デバッグコマンド(/fmm location/fmm spawn/fmm mount/fmm itemify/fmm craftify/fmm reload/fmm stats/fmm hitbox visualize/fmm debug bedrock/fmm setup/fmm initialize/fmm downloadall/fmm updatecontent)は代わりにワイルドカードfreeminecraftmodels.*をチェックします
freeminecraftmodels.disguise.selfop送信者に対する/fmm disguise / /fmm undisguiseを許可
freeminecraftmodels.disguise.othersop対象指定のディスガイズ/アンディスガイズと/fmm disguiselistを許可
freeminecraftmodels.menutrue/fmmクラフタブルアイテムメニューへのアクセス
freeminecraftmodels.shoptrue/fmm shopへのアクセス

コマンドによって強制されるもの(plugin.ymlには登録されていない)

権限デフォルト説明
freeminecraftmodels.deleteallop/fmm deleteallへのアクセス(コマンドハンドラが実行時にチェック)

モデルYML設定

.bbmodelファイルは、モデル固有の設定を制御するコンパニオン.ymlファイル(同じ名前、同じディレクトリ)を持つことができます。統合YMLフォーマットは以下のフィールドをサポートします:

isEnabled: true
voxelize: true
solidify: true
scripts:
- my_script.lua
material: DIAMOND_SWORD
name: "&bFrost Blade"
lore:
- "&7A sword forged in ice"
- "&7Deals frost damage"
enchantments:
- SHARPNESS,3
- UNBREAKING,2
フィールド説明
isEnabledbooleanモデルがロードされるかどうか(デフォルト:true
scripts文字列のリストアタッチするLuaスクリプトファイル名(plugins/FreeMinecraftModels/scripts/から)
voxelizebooleantrueの場合、プロップは90度単位の回転に吸着し、配置時にブロックグリッドに揃えられます。フットプリントはモデルのヒットボックス寸法(整数ブロックに丸め)から計算されます。フットプリント内のすべてのブロックが非ソリッドであることを配置時にチェックします。
solidifybooleantrueの場合(voxelize: trueが必要)、プロップのフットプリントのすべてのブロックにパケット専用のバリアブロックが配置され、クライアント側のコリジョンを提供します。これらのバリアは不可視で、パケット内にのみ存在します -- ワールドには配置されません。プロップが拾い上げられたり破壊されたりすると、バリアは自動的に削除されます。
materialstringBukkitのマテリアル名(例:DIAMOND_SWORDPAPER)。設定すると、モデルはプレイヤーが保持・装備できるカスタムアイテムになります
namestringカスタムアイテムの表示名(&カラーコードに対応)
lore文字列のリストカスタムアイテムのロア行(&カラーコードに対応)
enchantments文字列のリストENCHANTMENT_NAME,LEVEL形式のエンチャント(例:SHARPNESS,3

materialが設定されると、モデルはカスタムアイテムとして登録されます。プレイヤーは/fmm giveitemで受け取ったり、レシピが設定されていればクラフトすることができ、22個すべてのLuaアイテムフックへのアクセスが付与されます。

運用上のメモ

  • /fmm reloadはコンテンツを再インポートし、出力パックを再生成します。そのため、レンダリング挙動に影響する設定変更はリロード後に最も簡単に検証できます。リロードごとにFmmReloadedEventがディスパッチされ、依存プラグインがモデルアタッチメントを再バインドできます。
  • FreeMinecraftModelsはリソースパックを生成するだけで、自分自身ではホスティングしません。
  • ResourcePackManagerはJavaクライアント向けの推奨配布経路として、また混在セットアップに対する最も安全な文書化された経路として、引き続き有効です。
  • WorldGuard、WorldEdit、GriefPrevention、Vaultはplugin.ymlsoftdependとして宣言されています -- どれもプラグイン起動には必須ではありませんが、存在する場合に特定の機能(保護対応Lua述語と家具ショップ)が解放されます。

これらの値を変更するタイミング

この設定はランタイム挙動のチューニングに使用し、コンテンツパッケージ管理には使用しないでください。

  • 公式パッケージのライフサイクル作業には/fmm initialize/fmm setup/fmm downloadall/fmm updatecontentを使用してください
  • 手動の.bbmodelやその他のローカルコンテンツインポート作業にはimportsフォルダを使用してください
  • レンダリングモード、可視距離、インタラクション距離、Bedrockの挙動を調整する必要がある場合はconfig.ymlを使用してください
  • コードに触れずに家具ショップを調整するにはshop_config.yml(およびレシピごとのshopEnabled/shopPriceフィールド)を使用してください

既知の注意事項

  • Bedrockの挙動はsendCustomModelsToBedrockClientsV2と、より広範なFloodgate/Geyser/リソースパックのセットアップの両方に依存します。正確なスタックをテストしていない限り、控えめな主張に留めてください。
  • Vaultやエコノミープロバイダが欠けている場合、ショップは静かに自分自身を無効化します。/fmm shopが予期せず欠落している場合は、/fmm versionを使用し、起動時のコンソールを確認してください。