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

EternalTDカスタムコンテンツのパッケージング

EternalTDはファイルシステムベースのカスタムコンテンツを引き続きサポートしていますが、現在のコードは特定のフォルダレイアウトとパッケージ追跡モデルを想定しています。

インポートルート

手動インポートは引き続き以下を経由します:

plugins/EternalTD/imports/

コンテンツを手動でインポートした後、以下を実行してください:

/etd reload

正規コンテンツフォルダ

現在のプラグインは以下の小文字フォルダをスキャンします:

plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
plugins/EternalTD/worlds/

レガシーに関する注記:

  • Levels/NPCs/ はレガシーフォルダ名です。
  • EternalTDは起動時とリロード時にそれらを levels/npcs/ に移行するようになりました。

ワールドパッケージングルール

EternalTDは以下のワールドを:

plugins/EternalTD/worlds/

ワールドテンプレートとして扱います。

プレイヤーがレベルを開始すると、EternalTDは一致するテンプレートワールドをサーバーのワールドコンテナにクローンし、そのクローンされたコピーでセッションを実行します。

実用的な意味:

  • テンプレートワールドは plugins/EternalTD/worlds/ の下にパッケージしてください
  • ランタイムでクローンされたワールドをパッケージされたコンテンツの正しいソースとして扱わないでください

公式ハブワールドは特殊なケースであり、サーバーのワールドコンテナ内で直接以下として追跡されます:

etd_spawn

パッケージを切り替え可能にするもの

/etd setup でのパッケージ切り替えは、追跡された設定ファイルを公開するパッケージでのみ機能します。

現在の追跡アセットフィールドは:

  • levelFiles
  • waveFiles
  • npcFiles
  • worldFolders
  • worldContainerFolders
  • markerFileName

実際には:

  • レベル、ウェーブ、NPCパッケージはそれらのYAMLファイル内で isEnabled を書き込むことで有効化または無効化できます
  • 共有ワールドコンテナコンテンツとマーカーのみのリソースパッケージは同じ方法で切り替えることができません

パッケージメタデータフィールド

現在のパッケージ設定フィールドモデルは以下をサポートしています:

  • isEnabled
  • name
  • description
  • downloadLink
  • version
  • nightbreakSlug
  • levelFiles
  • waveFiles
  • npcFiles
  • worldFolders
  • worldContainerFolders
  • markerFileName
  • category
  • toggleable

カスタムコンテンツをセットアップUIで追跡されたパッケージとして動作させたい場合、これらのフィールドに一致するパッケージメタデータが必要です。

モデルパッケージングに関する注記

現在の EternalTD Custom Models パッケージは、通常のEternalTD設定ファイルではなくマーカーファイルで追跡されています。

これは以下を意味します:

  • EternalTDは共有モデルパックがダウンロードされたかどうかを追跡できます
  • 実際のモデルアセットは、FMMがインストールされている場合、FreeMinecraftModels側のセットアップに存在します
  • クリーンアップは手動で、その後 /etd reload を実行します

このページが主張しないこと

このページは、リポジトリで検証されている現在のディスク上の保存先と追跡モデルを文書化しています。

NightbreakパッケージアーカイブのファーストパーティーのZIPスキーマを定義するものではありません。そのパッケージングフォーマットはこのリポジトリでは独立した公開オーサリング仕様として記述されていないためです。