高度なプリセット
レガシー Java コマンドプリセットの移行
従来の Java コマンドプリセットの移行は、テンプレート的なコマンドメモではなく、完結した高度なワークフローへと生まれ変わりました。古いコマンドパック (Command Pack) を従来の Java サンプルから現行の NBTForge 出力へ移植する必要があるときに、このプリセットを利用してください。やみくもな文字列置換ではなく、アイテムやエンティティの本来の意図から再構築するため、完成したコマンドを後から監査しやすくなります。本記事ではセットアップ用フィールド、出力レビュー、Project 上の配置、結果のスクリーンショットを一か所にまとめているため、マップのセットアップ・イベントトリガー・再利用可能なコマンドパック (Command Pack) の一部になる前に、コマンドを楽に監査できます。レビュー画面には、取り込んだレガシーコマンド、組み直した最新の出力、そしてその差分が並びます。こうすることで構文の移行は危険な 1 行書き換えではなく、制御されたワークフローに変わります。
プリセット結果
古い Java アイテムの意図を、レビューメモ付きで現行のコンポーネント出力へ変換する移行ワークフロー。
出力
レガシーから現行への移行メモ
Legacy command intent: named sword with lore, sharpness, unbreakable, and custom marker.
Modern rebuild: /give @p minecraft:diamond_sword[custom_name={text:"Legacy Blade",color:"gold",italic:false},lore=[{text:"Migrated component item",color:"gray",italic:false}],enchantments={"minecraft:sharpness":5},unbreakable={},custom_data={legacy_item:1}] 1
Review: compare old NBT fields to current components before replacing the saved Project entry.The longest command line is 259 characters, 3 over the 256-character chat input limit. Pasting it into chat can truncate the line and make Minecraft report a syntax error even when the generated command is valid.
- Use a Command Block: run
/give @s command_block, place it, then paste this command into the block command field. - Use a
.mcfunctionfor a reusable datapack: save the line without the leading slash atsaves/<world>/datapacks/<pack>/data/<ns>/function/<name>.mcfunctionwith a minimalpack.mcmeta, run/reload, then run/function <ns>:<name>. Do not paste.mcfunctioncontent into chat.
プリセットのスクリーンショット
プリセットを作成
- 古いコマンドの意図を貼り付けるか、文章として書き出しておきます。
- そのコマンドファミリに対応する現行の NBTForge モジュールを選びます。
- 各フィールドからアイテム・エンティティ・データパックのリソースを組み直します。
- Diff を使ってレガシーの NBT と最新の出力を見比べます。
- 移行後のコマンドは、独立した Project エントリとして保存しておきます。
- 古いコマンドは、新しい出力をテストし終えてから初めて差し替えてください。
この高度なプリセットを Project に置くべき理由
古いコマンドパック (Command Pack) を、従来の Java サンプルから現行の NBTForge 出力へ移植する必要があるときに、このプリセットを利用してください。やみくもな文字列置換ではなく、アイテムやエンティティの本来の意図から再構築するため、完成したコマンドを後から監査しやすくなります。
レビュー画面には、取り込んだレガシーコマンド、組み直した最新の出力、そしてその差分が並びます。こうすることで構文の移行は危険な 1 行書き換えではなく、制御されたワークフローに変わります。コピーしたコマンドが役立つのは、セレクターの範囲・ワールドの状態・パック内での順序・Minecraft に貼り付ける正確な出力、といった前提条件が一目で分かるときだけです。このプリセットは、コマンドが NBTForge を離れる前に細部を点検するチェックポイントとして扱ってください。
ギャラリーはそのレビュー手順に沿った構成です。1 枚目で Workbench の状態を、2 枚目でプレイヤーから見える挙動を変えるフィールドや併用モジュールを示し、出力ショットでコマンドあるいはコマンドの組み合わせをそのまま映し出します。プリセットに目に見える結果がある場合、ゲーム内のスクリーンショットでも、汎用オーバーレイに頼らずに、同じ意図を整えたテストワールドで確認します。
テストと範囲の見直し
レガシーの NBT には、現行コンポーネントへそのまま対応するもの、`custom_data` へ移すべきもの、そして発想自体を作り直す必要があるものが混在します。広範な文字列置換は避け、コマンドファミリごとに個別に組み直してテストしてください。
最初のスモークテストは、狭く絞ったセレクターとまっさらなワールドの状態で行います。環境系・ユーティリティ系・ルーティング系・フィードバック系のコマンドは無害に見えても、しばしば全プレイヤーやワールド全体に波及します。コマンドが意図した状態だけを変えていることを確認し、その出力が存在する理由を説明するセットアップ行や後続行と並べて、正確な出力を保存してください。
関数ファイルやコマンドブロックの連鎖に組み込むコマンドであれば、ライブの Workbench の状態だけでなく、コピーした成果物そのものをテストしてください。これにより、古いセレクター、誤ったコマンド順、抜け落ちたセットアップ行、あるいは前回のテストで残ったワールド状態のせいで「動いているように見えるだけ」の挙動を洗い出せます。
- パック全体のレビューが終わるまでは、セレクターを狭いままに保ちます。
- イベント固有の上書きより前に、ワールドのセットアップを置きます。
- フィードバックコマンドは、それをトリガーする状態変化の直後に保存しておきます。
次にどこへ進むか
保存済みの Project エントリは一度に 1 件ずつ移行し、新しいコマンドがクリーンなワールドでのテストを通過するまでは古い出力も残しておきます。
アイテム固有の移行については、Java 1.20.4 アイテム NBT プリセットガイド と Java 1.21 アイテムコンポーネントプリセットガイド を見比べてください。
FAQ
この高度なコマンドはチャットに貼り付けてもいいですか?
セレクターが安全で、行も短いのであれば、1 行のスモークテスト用としてはたいてい問題ありません。マップでの挙動を再現可能にしたい場合は、Project に保存し、順序立てたパック形式または関数スタイルの出力をコピーしてください。
なぜこのプリセットは UI ギャラリーだけなのですか?
このプリセットが生成するのは、目に見えるワールド内のオブジェクトではなく、JSON・Project の整理・レビュー手順そのものだからです。役立つ証拠は Workbench の状態、出力、そして Project 上の配置です。
このプリセットを共有する前に何を確認すればよいですか?
セレクターの範囲、コマンドの実行順、対象バージョン、そしてそのコマンドがセットアップ・イベントロジック・フィードバック・後始末のどれに属するかを確かめてください。これらの区分が、Project パック内のどこに置くかを決めます。
このワークフローを開く
関連する Advanced ワークベンチから始め、ワールドに合わせてプリセット項目を調整します。