マインクラフトでは、特定のモブを手懐ける(tame、飼育する、仲間にする)ことができる。
その中にアイアンゴーレムは入っていない。
Java版ではいくつか目的に合いそうなmodがあるが決定的なものはない(2022年10月時点)。
自分でそのようなmodを作れば良いのかもしれないそのハードルは高い。
しかし、統合版であれば割とハードル低くアイアンゴーレムを手懐けることが可能だ。
とはいえそれなりに複雑な行程だ。そのために必要なことをまとめる。
Minecraft: Bedrock Edition クリエイター ドキュメント | Microsoft Docs
1. Visual Studio CodeのDL
(いきなりやる気を失うかもしれないが)jsonファイルというものに、コードを書き込む(追加する)ためにVisual Studio Codeが便利なのでダウンロードする。メモ帳などでも良いが利便性が全く違う。下記からDL。
Download Visual Studio Code - Mac, Linux, Windows
拡張機能のインストールもしておく。
Bedrock Definitions - Visual Studio Marketplace
Blockception's Minecraft Bedrock Development - Visual Studio Marketplace
2. ビヘイビアーパックの作成
ビヘイビアーパックではエンティティの行動、戦利品ドロップ、スポーンルール、アイテム、レシピ、トレード テーブルなどの追加が可能。ここではアイアンゴーレムを手懐けられるビヘイビアーパックを作成する。
基本的には↓を見れば出来る内容。
Entity JSON Documentation | Microsoft Learn
2.1.ビヘイビアーパックのフォルダを作る。
C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs
にTaming_Golemという名前のフォルダを作る(名前は任意)
(ここではStructuresというフォルダもあるが、これは関係ありません)
2.2. manifest.jsonの作成
Taming_Golemフォルダにmanifest.jsonを作成。
作り方は、manifestというテキストファイルを作成し、拡張子をjsonに変更する。
以下を入力。
{
"format_version": 2,
"header": {
"description": "Survial_with_Golem",
"name": "Taming_Golem",
"uuid":"uuid1",
"version": [1, 0, 0],
"min_engine_version": [1, 16, 0]
},
"modules":
[
{
"description": "Taming_Golem Add-on",
"type": "data",
"uuid": "uuid2",
"version": [1, 0, 0]
}
]
}
解説
format_version: 1 for skin packs or 2 for resource, behavior, and world packs.
header: ビヘイビアーパックに関する情報を入れる部分
description: ビヘイビアーパックの説明
name: ビヘイビアーパックの名前
uuid(uuid1, uuid2となっているが、ここは自分で入れる必要あり): Universally unique identifier。簡単に言えば世界で唯一の文字列のこと。文字自体には意味は無く、uuidは下記で作成してもよいし任意のものでよい。
https://www.uuidgenerator.net/
version: リソース パックのバージョン、[majorVersion, minorVersion, revision]
min_engine_version: 動作するために必要な Minecraft のバージョン
modules: 中身のtypeを格納する部分
type: 以下のどれか:resources, data, client_data, interface, world_template or javascript.
2.3. iron_golem.jsonの作成
2.3.1.フォルダー、ファイルの階層構造
まずフォルダーentitiesを作る。
(loot_tablesとpack_icon.pngは関係ありません。ちなみに、pack_icon.pngという画像ファイルを置いておくとこのビヘイビアーパックのアイコン画像になります)。
entitiesフォルダにiron_golem.jsonを作成する。(chicken, zombieなどがあるがこれは別で作ったもので関係ない)
Taming_Golem-entities-entities-iron_golem.json
2.3.2. defaultのjsonファイルをコピペ
まずEntity listからiron_golemを探し、iron_golem.jsonにコピペする。
Entity Documentation - EntityList | Microsoft Learn
iron_golem.jsonは↓
これでdefaultのアイアンゴーレムの挙動がどのように規定されているか分かる。entityのjsonファイルの見方は下記2.3.3.で説明する。
2.3.3. 他のtameできるmobのjsonファイルを参考にする。
wolfが最も求めるもの近いのでそれを参考にする(プレイヤーが攻撃したものを攻撃するなど)。
ここでentityのjsonファイルの構造を説明する。簡潔に言うと
"minecraft:entity"
の下位階層として
"description”
"component_groups"
"components"
"event"
がある。
wolfのtameに関わる部分は
"component_groups"
にある、
"minecraft:wolf_wild", "minecraft:wolf_tame"
と、
"events"
にある、
だ。
2.3.4. component_groupsを作成する
これを基に、アイアンゴーレム用の"component_groups"として、
"minecraft:golem_wild"
"minecraft:golem_tame"
を作成する。
例:
"minecraft:golem_wild": {
"minecraft:tameable": {
"probability": 0.33,
"tame_items": "iron_ingot",
"tame_event": {
"event": "minecraft:on_tame",
"target": "self"
}
}
},
"minecraft:golem_tame": {
"minecraft:is_tamed": {
},
"minecraft:health": {
"value": 100,
"max": 100
},
"minecraft:behavior.follow_owner": {
"priority": 4,
"speed_multiplier": 1.0,
"start_distance": 10,
"stop_distance": 2
},
"minecraft:attack": {
"damage": 4
},
"minecraft:behavior.owner_hurt_by_target": {
"priority": 1
},
"minecraft:behavior.owner_hurt_target": {
"priority": 2
}
}
数字などは適宜変更してよい。
例えば、手懐いたアイアンゴーレムのhealthは100にしているが、10でも500でも良い。
また、手懐けるアイテムはiron ingotにしているがこれも他に変更可能だ。
2.3.4. eventsに追加する
上記のcomponent_groupsをeventsに追加していく。
"minecraft:golem_wild"で手懐けられる設定をしているので、どのようにiron_golemが発生したか(event)により付加されるcomponent_groupsに"minecraft:golem_wild"を追加していく。
さらに、"minecraft:on_tame"というeventで、
tame->
"minecraft:golem_wild"を除去
"minecraft:golem_tame"を追加
するよう設定する。
例:
"events": {
"minecraft:from_player": {
"add": {
"component_groups": [
"minecraft:player_created",
"minecraft:golem_wild"
]
}
},
"minecraft:from_village": {
"add": {
"component_groups": [
"minecraft:village_created",
"minecraft:golem_wild"
]
}
},
"minecraft:on_tame": {
"remove": {
"component_groups": [
"minecraft:golem_wild"
]
},
"add": {
"component_groups": [
"minecraft:golem_tame"
]
}
}
}
以上でjsonファイルの編集は終了だ。
3. ビヘイビアーパックをワールドに導入する。
3.1.統合版を開き、WorldsのEditを押す
3.2.Behavior Packsを選択
3.3.MY PACKSに先ほど作成したTaming_Golemが入っているのでActivate
これで、アイアンゴーレムを手懐けることに成功。静止画では説明できないが、手懐けたゴーレムは自分についてくるし、プレイヤーが攻撃した相手を倒してくれる。
さらに、下の画像では手懐けたアイアンゴーレムの肩に乗れるように設定している(後日説明予定)。