Java版と統合版でコマンドが違う理由
Java版で動くコマンドが統合版で動かない理由と、移植時に見るべきポイントを整理します。
Java版統合版違い
似ているが同じではない
Java版と統合版は、/give、/summon、/fill など似たコマンドを持っています。ただし、引数の種類、使えるID、NBTやcomponentsの扱いが違います。
特に違いが出やすい部分
- アイテムの詳細データ
- エンティティNBT
- JSONテキスト
- 一部のブロック状態
- コマンドブロックでの実行位置
Java版の高度な指定は統合版でそのまま通らないことが多いため、基本形に分解して移植します。
移植の考え方
まず目的を分けます。アイテムを出したい、モブを出したい、範囲を置き換えたい、効果を付けたい、のように目的から統合版側の構文へ組み直すと失敗が減ります。