ゲーム本編のバージョン管理
ゲーム本編のバージョン管理は、通常の Minecraft: Bedrock Edition における変更が原因で世界ファイルが予期せず変更されないようにするための方法の 1 つです。 これにより、世界テンプレートを Minecraft の特定のバージョンに固定して、将来的なゲームの変更が .mcworld ファイルに影響を及ぼさないようにすることができます。 ゲーム本編のバージョン管理は、テクスチャ パックやスキン パックには影響を与えません。
たとえば、特定のエンティティの行動 (さらにはスポーンの仕組み) に依存する世界テンプレートは、Minecraft のアップデートによってその行動が変更されると、予期しない方法で破損する可能性があります。 たとえば、バージョン 1.18 のクライアントを実行している場合に世界テンプレートの base_game_version
が 1.15 に設定されると、1.15 までのすべてのバージョンのリソースが読み込まれ、1.16 から 1.18 で実装された新しいリソースはすべてスキップされます。
重要
ゲーム本編のバージョン管理は 1.13 で導入されました。これは、このシステムでサポートされる最も古いバージョンのゲームです。 base_game_version
を 1.13 より前のバージョンには設定しないでください。
注意事項
本編のバージョン管理用にコンテンツを設定する場合、そのコンテンツからアクセスできるのは、使用されるバージョンに関連したコンテンツのみになるように注意してください。 たとえば、"base_game_version": [1, 16, 0]
と設定した場合、[1, 17, 0]
で導入されたアドオンでは洞窟と崖のコンテンツを利用できません。
このチュートリアルでは、次の内容を学びます。
- ゲーム本編のバージョン管理を適用して、Minecraft: Bedrock Edition の世界テンプレートを使用できるバージョンを制限する方法。
- マーケットプレイスにリリースされている既存の世界テンプレートを更新する方法。
- 世界テンプレートを 1.18 に更新するときに発生する可能性のある問題への対処方法。
要件
本チュートリアルを開始する前に、以下を完了しておくことをお勧めします。
設定
世界テンプレートのマニフェストのヘッダーでは、世界テンプレートの作成対象となった Minecraft のバージョンを指定する必要があります。 これは base_game_version
というフィールドで行います。
コンテンツがバージョンに依存しない場合 (将来のアップデートで破損する可能性の低いシンプルなサバイバル スポーンなど) は、"ワイルドカード" "base_game_version": "*"
を使用してコンテンツを特定のバージョンに固定しなくてもかまいません。
例
base_game_version
が [1, 13, 0]
の世界テンプレートのサンプル manifest.json
を次に示します。 このサンプルを使用する場合、ヘッダーとモジュールの UUID を必ず更新してください。
{
"format_version": 2,
"header": {
"name": "pack.name",
"description": "pack.description",
"version": [ 1, 0, 0],
"lock_template_options": true,
"base_game_version": [ 1, 13, 0],
"uuid": "<FIRST GENERATED UUID>"
},
"modules": [
{
"version": [ 1, 0, 0],
"type": "world_template",
"uuid": "<SECOND GENERATED UUID>"
}
],
"metadata": {
"authors": ["Author Name"]
}
}
世界の確認対象となるバージョンを指定すれば、将来のバージョンの Minecraft で破損が発生する可能性はほぼありません。 ゲーム本編のバージョン管理はコンテンツの入念なテストやメンテナンスに代わるものではありませんが、この機能により、古いコンテンツの修正ではなくクールな新しいコンテンツの作成に時間をかけることができるようになります。
Minecraft マーケットプレイスの世界テンプレートのゲーム本編のバージョンを更新する
現在、クリエイターはいつでも自分の世界テンプレートのアップデートを提出できます。 アップデートを提出する際に、世界テンプレートのゲーム本編のバージョンを新しいバージョンに変更することもできます。
Minecraft マーケットプレイスの世界テンプレートを更新すると、以下が実行されます。
- そのテンプレートから新しく作成されたすべての世界に、利用できる最新の状態が適用されます。
- そのテンプレートからインスタンス化されたすべての世界も、アップデートを受けます。
そのため、マーケットプレイスのクリエイターはいつでも製品を更新して、バグやその他の制作中の問題に対処できます。
世界テンプレートのゲーム本編のバージョンを 1.18 に更新する
「洞窟と崖: 第 2 弾」の 1.18 リリースで、世界生成に大きな変更が加えられる予定です。 既存のテンプレートを使用している場合、コンテンツが破損する可能性があります。
コンテンツが今後も意図したとおりに動作することを保証するために、クライアント v1.18 のリリース後、Minecraft マーケットプレイスのクリエイターはコンテンツのゲーム本編のバージョンを v1.18+ に更新できなくなります。 これは、この大規模なアップデート後もコンテンツが意図したとおりに動作することを保証するための一時的な措置です。
コミュニティーのクリエイターは、次のようなシナリオが生じる可能性に注意する必要があります。
- クリエイターが TemplateA という世界テンプレートを作成し、
base_game_version
を[1, 17, 0]
に設定する。 - プレイヤーが Minecraft: Bedrock Edition v1.18 を開き、TemplateA をダウンロードする。
- クリエイターが TemplateA を利用して新しい世界をインスタンス化し、それに WorldA という名前を付ける。
- クリエイターが TemplateA の
base_game_version
を[1, 18, 0]
に更新する。 - プレイヤーが WorldA を開く。
このシナリオでは、クリエイターは、新しい世界の高さへの更新を使用しないバージョンの Minecraft の世界テンプレートを作成してリリースしています。 クリエイターが既存のテンプレートを [1, 18, 0]
(新しい世界の高さを使用するバージョン) に更新すると、プレイヤーがそのテンプレートを使用して生成した世界は、自動的に新しい世界の高さに更新されます。 これにより、世界のレイアウトが変更され、既存のコンテンツが破損する可能性があります。
情報の損失を防ぐために、既存のテンプレートをコピーし、base_game_version
を [1, 18, 0]
に設定した TemplateB を作成し、この新しいテンプレートをプレイヤーに配布することをお勧めします。
- クリエイターが TemplateA というテンプレートを作成し、
base_game_version
を[1.17.4]
以前のバージョンに設定する。 - プレイヤーが 1.18 よりも古いバージョンの Minecraft: Bedrock Edition を開き、 TemplateA をダウンロードする。
- クリエイターが TemplateA を使用して WorldA という新しい世界をインスタンス化する。
- Minecraft: Bedrock Edition のクライアントが v1.18+ に更新される。
- クリエイターが TemplateA をコピーし、
base_game_version
を[1, 18, 0]
に設定した TemplateB を作成する。 - クリエイターが公開する前に TemplateB をテストして検証する。
- プレイヤーが TemplateB をダウンロードし、新しい世界 WorldB を作成する。