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

EternalTDコマンド

EternalTDはルートコマンドを登録します:

/eternaltd
/etd

セットアップ中に使用されるNightbreakアカウントコマンドは、MagmaCoreが登録する別個のトップレベルコマンドです:

/nightbreaklogin <token>
/nightbreaklogout

どちらも nightbreak.logindefault: op)で制限されています。/nightbreaklogout はサーバーに保存されたNightbreakアカウントのトークンを消去します。

MagmaCoreは、プラグインごとの変更履歴コマンド /etdchangelog も独自のトップレベルコマンドとして登録します(リリース変更履歴を参照)。

セットアップとコンテンツ管理

これらのサブコマンドのほとんどは、MagmaCoreが NightbreakPluginBootstrap.registerStandardCommands を通じて登録します。これらはすべてのNightbreakプラグインで共有されており、MagmaCoreがプラグインにシェードされているため、EternalTDに同梱されています。

コマンド送信者現在の目的
/etd全員現在のセットアップ/コンテンツのクイックスタートヘルプを表示します。現在は本当に eternaltd.* を必要とします — 権限のない送信者には「You do not have permission to run this command!」が返されます
/etd initializeプレイヤー初期設定メニューを開きます。必要権限: eternaltd.*.
/etd setupプレイヤーEternalTDのセットアップメニュー(パッケージブラウザと、共有のプラグインアップデート、推奨プラグイン、自動アップデートコントロール)を開きます
/etd recommendedplugins全員EternalTDの推奨コンパニオンプラグインを開く(プレイヤー)または表示する(コンソール)
/etd downloadpluginupdate全員利用可能な場合、EternalTDプラグインのアップデートをダウンロードします(次回の再起動後に使用されます)
/etd downloadall全員EternalTDプラグインのアップデート および 利用可能なすべてのコンテンツをダウンロード
/etd downloadallcontent全員利用可能なすべてのEternalTDコンテンツをダウンロード(プラグインアップデートなし)
/etd updatecontent全員古いEternalTDコンテンツのアップデートをダウンロード
/etd updateallcontent全員/etd updatecontent のエイリアス
/etd forcereinstallcontent <package&#124;all>全員インストール済みのバージョンがすでに最新であっても、通常の認証付きインポート/リロードパイプラインを通じてコンテンツを再ダウンロードします。all はダウンロード済みと検出されたすべてのパッケージを対象とします。Nightbreakスラグ(タブ補完対応)を指定すると1つのパッケージを対象にし、そのファイルが完全に失われていても機能します。ファイルが削除または破損したパッケージの修復に使用してください。
/etd install全員公式EternalTDリソースパック設定を適用
/etd reload全員EternalTDをその場で再起動します(無効化・ロード・有効化の完全なサイクル)

管理者向け注記:

  • EternalTDの plugin.yml は単一の権限ノード eternaltd.*default: op)のみを宣言しており、管理者、セットアップ、デバッグの各コマンドへのアクセスを付与するものと説明されています。
  • 管理者向けのものはすべてこの1つのノードに解決されます:setuprecommendedpluginsdownloadalldownloadallcontentdownloadpluginupdateupdatecontent/updateallcontentforcereinstallcontentinstallreloadcheatsetwaveselectfloorselectfloorcoordinatesshowselectionregisterregister startregister end、そして素の /etd。(共有のMagmaCoreコマンドはこれを「admin」「setup」「initialize」の3つの権限に分けていますが、EternalTDは3つすべてに eternaltd.* を渡すため、実効的な要件は同一です。)
  • 2つのNightbreakアカウントコマンドは独自のノード nightbreak.logindefault: op)を使用します。これはEternalTDの plugin.yml ではなく、MagmaCoreが実行時に登録します。
  • initializeは共通ブートストラップで登録され、eternaltd.*が必要です。プリセットモードの有無は登録を左右しません。
  • 制限がないのはプレイヤー向けコマンドのみです:hub/lobbyjoinstart/goquit/stop
  • 第1引数のタブ補完も権限でフィルタされるため、eternaltd.* を持たないプレイヤーにはプレイヤー向けサブコマンドしか表示されません。

ゲームプレイコマンド

コマンド送信者現在の目的
/etd join <level>プレイヤー読み込まれたレベルファイルから新しいレベルセッションを開始します。テンプレートワールドはメインスレッド外でコピーされるため、コマンドはまず「Preparing world - hang tight!」と応答し、インスタンスが起動すると「Created your world! We're ready to go.」と応答します。コピーの進行中に再度実行すると「Your level is already being prepared. Please wait!」で拒否されます。
/etd startプレイヤーアクティブセッションの最初のウェーブを開始
/etd goプレイヤー/etd start のエイリアス
/etd quitプレイヤー現在のレベルセッションを終了
/etd stopプレイヤー/etd quit のエイリアス
/etd hubプレイヤーEternalTDのハブスポーンに戻ります。実行中に呼び出された場合、アクティブなセッションが先にクリーンに終了されます(インベントリの復元、タワーの撤去、インスタンスワールドの削除)。config.yml でハブスポーンが設定されている必要があります。サーバーがテレポートを拒否した場合、コマンドは成功したと主張せずにその失敗を報告します。
/etd lobbyプレイヤー/etd hub のエイリアス

デバッグおよび管理者ゲームプレイコマンド

コマンド送信者現在の目的
/etd cheatプレイヤーアクティブセッションのチートモードを切り替え
/etd setwave <wave>プレイヤーアクティブセッションを特定のウェーブにスキップ

これらは通常のプレイヤー設定コマンドではありません。セッション/デバッグツールです。

マップ作成コマンド

これらのコマンドは、フロア選択とレベル登録作業のために現在のコードベースにまだ存在しています。

コマンド送信者現在の目的
/etd selectfloorプレイヤークリックによるフロアコーナー選択を開始または停止
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2>プレイヤー座標から直接選択範囲を設定
/etd showselection <level>プレイヤー床の選択範囲を確認し、保持します。現在の実装ではパーティクル表示が無効です。
/etd register <level>プレイヤー選択範囲を確認してから選択を解除します。パーティクル表示やlevelLocationsの保存は行いません。床の範囲をレベルYAMLに手動で記入してください。
/etd register <level> startプレイヤープレイヤーが現在立っているブロックをレベルの startLocation リストに追加します
/etd register <level> endプレイヤープレイヤーが現在立っているブロックをレベルの endLocation リストに追加します

リリース変更履歴

MagmaCoreは、Nightbreakプラグインごとに追加のトップレベルコマンドを1つ登録します。名前はルートコマンドに changelog を足したものです:

/etdchangelog
/etdchangelog dismiss
/etdchangelog disable
形式効果
/etdchangelogまだ読んでいないEternalTDのバージョン(および追跡対象のコンテンツパッケージ)のリリースノートを開きます
/etdchangelog dismiss現在表示されているリリースを既読としてマークし、未読の次のバッチがあればそこへ進みます
/etdchangelog disableそのプレイヤーに対する変更履歴の通知を恒久的に停止します

知っておく価値のある挙動:

  • このコマンドはプレイヤー専用かつ管理者専用です。ここでの「管理者」とは、op、eternaltd.*、または仕様上のadmin/setup/initialize権限のいずれかを持つ者を指します — EternalTDはその3つすべてを eternaltd.* に設定しています。
  • サーバーに参加した管理者には、ログインからおよそ2秒後にクリック可能な view ボタン付きのチャット通知が届きます。ただし未読のものがあり、disable を実行していない場合に限ります。
  • 既読/却下の状態、追跡を開始したバージョン、キャッシュされたリリーステキストは plugins/EternalTD/nightbreak-changelogs.yml に保存されます。
  • 他のプラグインがすでに etdchangelog というラベルを使用している場合、MagmaCoreは名前空間付きのフォールバック(eternaltd:etdchangelog)を代わりに登録します。

注記

  • EternalTDの plugin.yml はルートコマンドと eternaltd.* 権限のみを宣言します。サブコマンドは実行時にコマンドマネージャーを通じて登録されます。
  • /etd reload は本物のプラグイン再起動です:軽量なコンテンツ再インポートではなく、プラグインの無効化・ロード・有効化のパスを呼び出します。起動時に行われること(フォルダの移行、インポーター、コンテンツパッケージ、ウェーブ、レベル、ワールドテンプレート、NPC、リソースパックヘルパー)がすべて再実行されます。FreeMinecraftModelsのリロードパスは呼び出しません — それを行うメソッドはソースに存在しますが、どこからも呼び出されていません。
  • joinshowselectionregister 系コマンドのレベル名引数は、プラグイン起動時ではなくタブ補完時に解決されるため、ダウンロードやリロードで追加されたレベルは再起動なしで表示されます。