この記事では、Minecraft Java Edition(バージョン1.20.2)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
こんにちは!
マインクラフターのなつめ(@natsume_717b)です。
この記事では、こんな疑問を解決します!
- mobをスポーンさせるにはspawn_overrides
今回はカスタムストラクチャーにmobをスポーンさせる方法について解説していきます。
簡単に言ってしまえば、魔女の小屋にウィッチが、ネザー要塞にウィザスケやブレイズなどがスポーンするものと同じ仕組みです。
まだ検証中の項目もありますが、スポーンさせることができるようになるのでぜひ参考にしてくださいね。
それでは、見ていきましょう。
mobをスポーンさせるにはspawn_overrides
カスタムストラクチャーに特定のmobをスポーンさせたい場合、spawn_overridesを設定する必要があります。
spwan_overridesはstructureの中にあるjsonファイルに記述されています。
設定しなくてもカスタムストラクチャーは機能しますが、その場合バイオームなどによってスポーンするmobが決定します。
実際にスポーンさせてみた様子がこちら。
無事に特定のmobを湧かせることにも成功しました✨ pic.twitter.com/jRoT85faVm
— 夏メ│Natsume (@natsume_717b) November 16, 2023
上記のツイートでは、オーバーワールドでは珍しいマグマキューブやブレイズがスポーンされるようにしてみました。
このようにオリジナリティを出すことにもspwan_overridesは一役買います。
jsonファイルには以下のように記述しています。
(コピペすればよいというわけではないので、生成サイトを使うことをおすすめします)
{
"type": "minecraft:jigsaw",
"biomes": "minecraft:badlands",
"step": "underground_decoration",
"spawn_overrides": {
"monster": {
"bounding_box": "piece",
"spawns": [
{
"type": "minecraft:blaze",
"weight": 1,
"minCount": 1,
"maxCount": 4
},
{
"type": "minecraft:magma_cube",
"weight": 1,
"minCount": 1,
"maxCount": 4
}
]
}
},
"terrain_adaptation": "beard_thin",
"start_pool": "ntm:dungeon01",
"size": 6,
"start_height": {
"absolute": -30
},
"start_jigsaw_name": "ntm:entrance01",
"project_start_to_heightmap": "WORLD_SURFACE_WG",
"max_distance_from_center": 80,
"use_expansion_hack": false
}
spawn_overridesでは出現するmobの種類や最低スポーン数、最大スポーン数を決めます。
これらは緑文字の部分ですね
minCount、maxCountはそれぞれ最低スポーン数、最大スポーン数を表しており、weightはスポーンする確率になります。
weightを全て合わせたのちに、その値で割ることで確率を求められます。
ルートテーブルなどと同じ仕様です。
またbounding_boxはpieceかfullと記入します。
これらの違いについては検証中ですが、スポーンさせるうえでどちらを選んでも大差ないということは分かっています。
monsterの部分も複数の項目から選べますが、どれを選んでもスポーンすることに違いありません。
おそらくカテゴリーのようなものを決めているのとは思いますが、こちらもbounding_box同様、詳細については検証中です。
ともあれ、これでmobをスポーンさせることができます。
別の手段でmobをスポーンさせる
先ほどもまでは、カスタムストラクチャーに自然スポーンするmobを決める方法を紹介しました。
しかし、それ以外の方法でもmobをスポーンさせることは可能です。
具体的には、以下の2通りの方法があります。
- カスタムストラクチャーにスポーンブロックを含ませる
- 生成時にストラクチャーブロックに保存されたエンティティを呼び出す
スポーンブロックについては、ストラクチャーブロックに保存する際に範囲内に含まれていればOKですね。
スポナーのある部屋のように、トラップなどに活用することが可能です。
2つ目については、ストラクチャーブロックでエンティティを保存することができるので、その機能を用いてmobを保存しておきます。
カスタムストラクチャー生成時に、そのmobも生成されるようにすることで、1度しか出現しないmobを作ることが可能です。
上記の方法や初めに紹介した方法には、それぞれ得手不得手が存在しますので、うまく使い分けましょう。
まとめ
というわけで、今回のまとめです。
- カスタムストラクチャーにmobをスポーンさせるには、spawn_overridesを設定しなければならない。
- spawn_overridesのみならず、スポナーやストラクチャーブロックでmobを召喚させる方法もある。
この記事は以上になります。
2016年からマイクラを楽しんでおり、最近はクリエイティブモードでコマンドを駆使して遊んでいます!