● 注意!この記事の内容はv1.16以降には通用しません!!
v1.16でやる場合はこちらの記事を読んでください↓
カスタムバイオーム。アドオンもだいたい慣れてきて、ちょっとしたブロックやアイテムを追加できるようになった──そのぐらいに手を出すのが頃合でしょうか。なにせカスタムバイオームにはリファレンスがかろうじてあれど、テンプレートは一切ありません(リファレンスの中にjson自体はありますけどね)。
カスタムバイオームは何ができるかというと、そのまんま、あなたのカスタマイズしたバイオームが追加できます。それだけでなく、フィーチャーを使って木や花や鉱石などそのバイオーム特有の装飾もカスタマイズできます。
ちなみに、フィーチャーというものですがなんと、リファレンスもテンプレートも一切ありません!! ということなのでこの記事の題名の「応用」というのはほとんどフィーチャーの話になります。
カスタムバイオーム
まずは基礎からいきましょうか。わたしが常々言っているのは「まずは追加じゃなくて変更をする」ですが、テンプレートがapkを取得しない限りありません。今回はこれから下に書くjsonをコピーしてあたらしいjsonファイルを作りましょう。
そのファイルはビヘイビアのentitiesなどと同じ層に「biomes」というフォルダを作ってそこに入れましょう。
{
"custom_biome": {
"format_version": "1.12.0",
"minecraft:climate": {
"downfall": 0.4,
"snow_accumulation": [ 0.0, 0.125 ],
"temperature": 0.8
},
"minecraft:overworld_height": {
"noise_type": "lowlands"
},
"minecraft:overworld_surface": {
"floor_depth": 7,
"floor_material": "minecraft:diamond_block",
"foundation_material": "minecraft:gold_block",
"mid_material": "minecraft:redstone_block",
"top_material": "minecraft:lapis_block"
},
"minecraft:surface_material_adjustments": {
"adjustments": [
{
"materials": {
"mid_material": "minecraft:iron_block",
"top_material": "minecraft:coal_block"
},
"noise_range": [ -0.2, 0.2 ]
}
]
},
"minecraft:world_generation_rules": {
"generate_for_climates": [
[ "medium", 3 ],
[ "warm", 1 ],
[ "cold", 1 ]
]
},
"animal": {},
"monster": {},
"overworld": {},
"plains": {}
}
}
このバイオームをそのまま適用させるとバイオームが追加されますが、初期スポーン地点がそのバイオームであるとは限りません。比較的見つかりやすいバイオーム(見た目的にも、構文的にも)なので、根気よく探しましょう。アドオン作りはいつだって根気と隣り合わせです。
ひときわ異彩を放つ表面が真っ青なバイオームは見つかりましたか?コマンドなどで断面を見るとこのようになっているはずです。
■ jsonの中身の意味は?
この写真とjsonを見比べてコツは掴めるでしょうか。
16行目のfoundation_materialはバニラの平原でいう「石」に当たる部分、17行目のmid_materialは「土」、18行目のtop_materialは「草ブロック」ですね。ちなみに20行目のminecraft:surface_material_adjustmentsコンポーネントは書かなくても大丈夫ですが、24行目と25行目の要素の名前はmid_material,top_materialというように、上に書いてある部分と対応しています。これによって川のような散らばり方で構成するブロックのトッピング(?)ができます。
初めのうちはこれらのブロックを自分の好きなブロックに変更して遊んでみましょう。top_materialをソウルサンドにして厄介なバイオームにしてもよし、foundation_materialをスライムブロックにしてブランチマイニングが捗るバイオームにしてもいいですね。ただ、top_materialをTNTにするのはやめておいた方がいいでしょう。foundation_materialを空気にするとどうなるでしょうか……?? アイデアは尽きないですね〜
もちろんカスタムブロックを生成させることもできますよ♪
■ ブロック以外は?
カスタマイズできるのはブロックだけではありません。ここからはバイオームを作るのに使えるコンポーネントを1部紹介します。
・minecraft:climate
snow_accumulationは雪の積もるブロック数です。ただし、気温が高いとそもそも雪が降らないので値を変えても何も変化はしません
tempertureは気温です。単位はどう見ても℃ではないですね。バニラの平原の気温は0.8、砂漠やネザーは2.0、雪原は0.0なので、これを参考に動かしてみるといいでしょう。
・minecraft:overworld_height
noise_typeは地形の高低のタイプを指定します。タイプは次から選べます:mountains, default, beach, default_mutated, ocean, taiga, deep_ocean, lowlands, less_extreme, exreme, rive, mushroom, stone_beach, swamp 詳しいことはほとんど分かりません。単語の意味からどんな地形になるか推測できるでしょうか。mountainsは山岳、defaultは普通、oceanは海洋、lowlandsは平原、extremeは極端な高低差ができると思います。いろいろ試してみるのも良さそうですね。
noise_paramsはnoise_typeの代わりに使います。[0.2, 0.8]のように自分で値の範囲を指定して使います。
・minecraft:surface_material_adjustments
これは先程少しかじりましたね。adjustmentsのmaterialsは説明した通りで、minecraft:overworld_surfaceでで指定した名前と同じ名前の層にトッピングができます。
noise_rangeは、2つの値の差が大きいほどトッピングするブロックの数が多くなります。
先程サラッとダイヤモンドブロックが写真に写っていないことを飛ばしましたが、──そうです。生成されていません。水場の周囲に生成されると聞いたことがあるような気がするんですがどうでしょう。1行上のfloor_depthの値に関連があるのかもしれません。いろいろ値を動かして実験を繰り返してみてください。
他にもコンポーネントはありますが、役割が完璧に把握できていなかったり、あまり需要が高くないものだったりしたのでこれだけに絞りました。もしかしたらカスタムバイオームのコンポーネントを全て紹介する記事が出るかもしれません。
■ バイオームタグとは?
コンポーネントがいくつか並んだ後、カッコが空(から)で孤立した要素がありますね。これらをバイオームタグといいます。これの有無によって地上に花や木などの植物を生成するかどうかだったり、そこにどんなモブが湧くかを管理できたりします。これはエンティティコンポーネントのフィルターで取得できるので、アドオン中上級者なら「このバイオームに入るとダメージを受ける」などを簡単に作れてしまいます。実はこの後詳しく話すフィーチャーとも深い関係があります。
ちなみに、バイオームタグはいくつでもつけられますし、自分で新しいのを作ることもできます。
それでは、どんなバイオームタグがあるかを紹介したいところですが、どのバイオームがどのバイオームタグを持っているかを説明すると、無駄に長くなって嫌になってしまうでしょう。
そこで、実はバイオームタグについてはリファレンスに載っています。Entities.htmlのSpawn Rulesの項目を見ていくと「どのバイオームにどのバイオームタグがあるか」が表になって載っています。
そして、バイオームタグの作り方ですが、簡単です。バイオームのjsonに他のと同じように並べて書けばいいだけです。
ここからはフィーチャーの話ですが、次回に回すとしましょう。次回からが本番であり、ほとんどが応用編で難易度が上がってきます。
次↓
0コメント