内科専門医 今日もマイクラ処方中

Minecraftの医学的有効性を検証中

MENU

統合版でアドオンを使用してMODを入れよう (day235)

統合版でもアドオンを利用することでスキンや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