この記事では、ツールを使用してエンティティ、アイテム、および一部のブロックに格納されているデータ文字列を編集する "NBT 編集" と、将来的に破壊を引き起こす可能性があるような NBT の編集を回避する方法について説明します。
このチュートリアルでは、次の内容を学びます。
- NBT データの概要と使用方法。
- NBT データの編集が必要になる理由。
- NBT データの編集に関するベスト プラクティス。
要件
本チュートリアルを開始する前に、以下を完了しておくことをお勧めします。
何年もの間、Minecraft のマップ制作者にとっては、"NBT" の編集に外部ツールを使用するのが一般的な方法でした。"NBT" とは、エンティティ、アイテム、および一部のブロックに格納されている、名前、ダメージ値、年齢などの情報を保持するデータのことです。 基本的に、NBT はタグとそれに対応する値のリストです。 たとえば、ゾンビ ピッグマンには、他の多くのタグと共に ID タグと値 zombie_pigman が含まれます。 MCEdit や MCCToolChest などのツールを使用して NBT を編集することは非常に効果的であり、クリエイターはかなりの時間を節約できます。 たとえば、名前タグと金床をゲーム内で使用しなくても、ツールを使えば CustomName タグの値を変更するだけでモブの名前を編集できます。
しかし、ゲームでの特定のタグの書き込みまたは読み取り方法を変更するような更新が Minecraft で行われたときに、NBT の編集が原因で問題が発生したケースがあります。 Minecraft の機能のほとんどはプレイされるように作られたもので、外部ツールで編集されるように作られたものではありません。 それらのツールはゲームのプレイをシミュレートします。 プレイヤーはゲーム内でチェストの中身を変更できますが、MCCToolChest などのツールはプレイヤーがそれを実行したかのように NBT にデータを書き込みます。 しかし、マップ制作者がツールを使用してゲーム内では理論的に実行不可能な方法で NBT を編集すると、しばしば問題が発生します。
重要
重要な原則は、ゲーム自体が決して書き込めないような方法で何かを変更すると、リスクが生じるということです。 NBT の値がゲーム自体によって保存されたものか、それとも手動で編集されたものかをゲームが区別できない場合は、一般に安全です。
記入済みの本の NBT を編集してそのテキストを変更するのはかまいませんが、本のゲーム内キャラクターの制限を超えて NBT を編集するのは問題があります。 ネコの CatType を 5 に変更すると三毛ネコになりますが、5000 に変更することはお勧めできません。
Minecraft の開発者は、自分のコードが、編集されるように自分がプログラミングした方法で編集されることしか予期できません。 クリエイターがある特定の方法で NBT タグを編集することで何か素晴らしいことを行えるとしても、そのタグは最初からその方法で編集されるように意図されていないので、将来そのタグの処理方法が変更されない保証はありません。
たとえば、マップ制作者はかつて、村人の NBT タグのいくつかを編集してオリジナルの村人との取引を作成していました。 そのような変更の 1 つとして、サバイバルの Minecraft で行うように、村人に新しい取引のロックを解放させないために TradeTier タグを負の値に設定することがよくありました。 Minecraft の開発者は取引のそのような動作をまったく意図していなかったので、"村と略奪者" のアップデートで TradeTier タグの動作を根本的に変更し、マップ内の多くのオリジナルの村人が破壊されてしまいました。 現在では、オリジナルの取引は、そのような目的のために特別に開発されたルート テーブル機能を使用して処理するのが一般的になっています。
このルールには例外があります。それは主に、クリエイターが長年にわたってある特定の方法で NBT を編集していたために、Minecraft の開発者がそのサポートを組み込まざるを得なくなったというケースです。 たとえば、ゲーム内でアイテムの lore タグを書き換える方法はありませんが、エディター内でこれを行うことは一般に安全と考えられています。
これは NBT の編集だけにとどまらないアドバイスですが、ゲームの動作、コマンド、スクリプト、その他の機能はすべて、意図されていなかった方法で使用することで面白い結果を生み出せる可能性があります。 Minecraft は生きたゲームであり、機能は常に変更されています。 開発者はもちろん、クリエイターのコンテンツを破壊しないように最大限の努力をしていますが、彼らが意図的にプログラミングした機能以外まで把握していると期待してはいけません。 クリエイターがそのような予期されていない "トリック" を使用し、それが原因でコンテンツが壊れた場合、クリエイター、プレイヤー、およびその回避策を探らねばならない Microsoft の開発者に負担がかかります。 疑わしいときは、新しいアップデートが行われるたびに必ずコンテンツをテストし、コンテンツを破壊する変更がないかどうかをチェックしてください。