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

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/ の下に配置する
  • 実行時に複製されたワールドを、パッケージ化されたコンテンツの source of truth として扱わない

公式のハブワールドは特別扱いで、サーバーのワールドコンテナ内で次の名前として直接追跡されます:

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 パッケージアーカイブ向けの first-party ZIP スキーマは定義していません。なぜなら、そのパッケージ形式はこのリポジトリ内で独立した公開オーサリング仕様として説明されていないからです。