統合版でもアドオンを利用することでスキンやmob、ブロックなどを変更できる。
Minecraft: Bedrock Edition クリエイター ドキュメント | Microsoft Docs
Minecraft: Bedrock Edition でのアドオンのインストール | Microsoft Docs
1. com.mojangの確認
統合版のデータはcom.mojangに保存されている。
C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang
behavior_packsとdevelopment_behavior_packsがあるが、開発中の変更を重ねていく段階ではdevelopment_behavior_packsを用いる。
2. Visual Studio CodeのDL
jsonファイルにコードを書き込むためにVisual Studio Codeを下記からDL
(text editorでも可能ではある)
Download Visual Studio Code - Mac, Linux, Windows
拡張機能のインストール
Bedrock Definitions - Visual Studio Marketplace
Blockception's Minecraft Bedrock Development - Visual Studio Marketplace
3. リソースパックの作成
モデル、サウンド、テキスチャーなどの作成
3.1. リソースパックのフォルダを作る。
C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_resource_packs
にMy_RESOURCE_Packという名前のフォルダを作る(名前は任意。これから作るリソースパックの名前を付ける)
3.2. マニフェストファイルmanifest.jsonの作成
My_RESOURCE_Packにテキストファイルを作成し、manifest.jsonに名前と拡張子を変更する。manifest.jsonにはこのパックの基本的な情報が入る。
3.2.1. JSONファイルの作成
Top page
JSON Reference Documentation | Microsoft Docs
基本的内容の解説は下記にある。
Addons Documentation - manifest.json | Microsoft Docs
下記を例に解説。
{
"format_version": 2,
"header": {
"description": "My dirt resource pack Add-On!",
"name": "My Resource Pack",
"uuid":"",
"version": [1, 0, 0],
"min_engine_version": [1, 16, 0]
},
"modules": [
{
"description": "My First Add-On!",
"type": "resources",
"uuid": "",
"version": [1, 0, 0]
}
]
}
解説
format_version: 1 for skin packs or 2 for resource, behavior, and world packs.
header: リソースパックに関する情報を入れる部分
description: リソース パックの説明
name: リソース パックの名前
uuid(ここは自分で入れる必要あり): 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.
3.3. カスタムコンテンツの追加
ピンクの土ブロックを作成してみる。
3.3.1. 新しいテクスチャをブロックに適用するためにフォルダを作成する
下記のフォルダを作成
C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_resource_packs\My_RESOURCE_Pack\textures\blocks
3.3.2. テクスチャを作成
paint.netなどで作成。16*16ピクセルで作る。
dirt.pngとしてblocksフォルダに保存。
3.3. リソースパックをワールドに導入する。
ワールドを選びEdit
アドオンのリソースパックを選び、マイパックから作成したリソースパックを選び有効化。
土ブロックがピンクになった。
4. ビヘイビアーパックの作成
エンティティの行動、戦利品ドロップ、スポーン ルール、アイテム、レシピ、トレード テーブルなどの追加
ビヘイビアー パックの概要 | Microsoft Docs
4.1.ビヘイビアーパックのフォルダを作る。
C:\user\(ユーザ名)\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs
にMy_BEHAVIOR_Packという名前のフォルダを作る(名前は任意。これから作るリソースパックの名前を付ける)
4.2. manifest.jsonの作成
My_BEHAVIOR_Packにmanifest.jsonを作成
以下を入力。
{
"format_version": 2,
"header": {
"description": "My attack cow behavior pack Add-On!",
"name": "My Behavior Pack",
"uuid":"uuid1",
"version": [1, 0, 0],
"min_engine_version": [1, 16, 0]
},
"modules":
[
{
"description": "My First Add-On!",
"type": "data",
"uuid": "",
"version": [1, 0, 0]
}
],
"dependencies": [
{
"uuid":"uuid2",
"version":[1,0,0]
}
]
}
uuid1は任意のuuid
uuid2はresource packのmanifest.jsonのheaderと同一のuuid(連結させる場合)
4.3. 内容の作成
4.3.1. entity
ここでは敵対するcowを作る。
まずフォルダーentitiesを作る。
My_BEHAVIOR_Pack-entities-entities-cow.json
以下のcodeを貼る。
ビヘイビアー パックの概要 | Microsoft Docs
より。
{
"format_version": "1.16.0",
"minecraft:entity": {
"description": {
"identifier": "minecraft:cow",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false
},
"component_groups": {
"minecraft:cow_baby": {
"minecraft:is_baby": {},
"minecraft:scale": {
"value": 0.5
},
"minecraft:ageable": {
"duration": 1200,
"feed_items": "wheat",
"grow_up": {
"event": "minecraft:ageable_grow_up",
"target": "self"
}
},
"minecraft:behavior.follow_parent": {
"priority": 6,
"speed_multiplier": 1.1
}
},
"minecraft:cow_adult": {
"minecraft:experience_reward": {
"on_bred": "Math.Random(1,7)",
"on_death": "query.last_hit_by_player ? Math.Random(1,3) : 0"
},
"minecraft:loot": {
"table": "loot_tables/entities/cow.json"
},
"minecraft:behavior.breed": {
"priority": 3,
"speed_multiplier": 1.0
},
"minecraft:breedable": {
"require_tame": false,
"breed_items": "wheat",
"breeds_with": {
"mate_type": "minecraft:cow",
"baby_type": "minecraft:cow",
"breed_event": {
"event": "minecraft:entity_born",
"target": "baby"
}
}
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_family",
"subject": "other",
"value": "player"
},
{
"test": "has_equipment",
"domain": "hand",
"subject": "other",
"value": "bucket:0"
}
]
}
},
"use_item": true,
"transform_to_item": "bucket:1",
"play_sounds": "milk",
"interact_text": "action.interact.milk"
}
]
}
}
},
"components": {
"minecraft:is_hidden_when_invisible": {},
"minecraft:type_family": {
"family": [
"cow",
"mob"
]
},
"minecraft:breathable": {
"total_supply": 15,
"suffocate_time": 0
},
"minecraft:navigation.walk": {
"can_path_over_water": true,
"avoid_water": true,
"avoid_damage_blocks": true
},
"minecraft:movement.basic": {},
"minecraft:jump.static": {},
"minecraft:can_climb": {},
"minecraft:collision_box": {
"width": 0.9,
"height": 1.3
},
"minecraft:nameable": {},
"minecraft:health": {
"value": 10,
"max": 10
},
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": {
"test": "in_lava",
"subject": "self",
"operator": "==",
"value": true
},
"cause": "lava",
"damage_per_tick": 4
}
]
},
"minecraft:movement": {
"value": 0.25
},
"minecraft:despawn": {
"despawn_from_distance": {}
},
"minecraft:behavior.float": {
"priority": 0
},
"minecraft:behavior.panic": {
"priority": 1,
"speed_multiplier": 1.25
},
"minecraft:behavior.mount_pathing": {
"priority": 2,
"speed_multiplier": 1.5,
"target_dist": 0.0,
"track_target": true
},
"minecraft:behavior.breed": {
"priority": 3,
"speed_multiplier": 1.0
},
"minecraft:behavior.tempt": {
"priority": 4,
"speed_multiplier": 1.25,
"items": [
"wheat"
]
},
"minecraft:behavior.follow_parent": {
"priority": 5,
"speed_multiplier": 1.1
},
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 0.8
},
"minecraft:behavior.look_at_player": {
"priority": 7,
"look_distance": 6.0,
"probability": 0.02
},
"minecraft:behavior.random_look_around": {
"priority": 9
},
"minecraft:leashable": {
"soft_distance": 4.0,
"hard_distance": 6.0,
"max_distance": 10.0
},
"minecraft:balloonable": {},
"minecraft:rideable": {
"seat_count": 1,
"family_types": [
"zombie"
],
"seats": {
"position": [
0.0,
1.105,
0.0
]
}
},
"minecraft:physics": {},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
},
"minecraft:conditional_bandwidth_optimization": {},
"minecraft:behavior.nearest_attackable_target": {
"priority": 2,
"must_see": true,
"reselect_targets": true,
"within_radius": 25.0,
"entity_types": [
{
"filters": {
"test": "is_family",
"subject": "other",
"value": "player"
},
"max_dist": 32
}
]
},
"minecraft:behavior.melee_attack": {
"priority": 3
},
"minecraft:attack": {
"damage": 3
}
},
"events": {
"minecraft:entity_spawned": {
"randomize": [
{
"weight": 95,
"trigger": "minecraft:spawn_adult"
},
{
"weight": 5,
"add": {
"component_groups": [
"minecraft:cow_baby"
]
}
}
]
},
"minecraft:entity_born": {
"add": {
"component_groups": [
"minecraft:cow_baby"
]
}
},
"minecraft:entity_transformed": {
"remove": {},
"add": {
"component_groups": [
"minecraft:cow_adult"
]
}
},
"minecraft:ageable_grow_up": {
"remove": {
"component_groups": [
"minecraft:cow_baby"
]
},
"add": {
"component_groups": [
"minecraft:cow_adult"
]
}
},
"minecraft:spawn_adult": {
"add": {
"component_groups": [
"minecraft:cow_adult"
]
}
}
}
}
}
牛の動きに非常に多くの設定があることがわかる。
4.4. ビヘイビアーパックをワールドに導入する。
ワールドを選びEdit
アドオンのビヘイビアーパックから作成したものを選びactivate