ここでは、アドオンの制作方法を紹介いたします。
必要なもの:
・Minecraft
・jsonファイル編集ソフト→ここでは、Visual Studio Codeというソフトを使用します。
・ペイントソフト→ここでは、paint.netというソフトを使用します。
・モデリングソフト→ここでは、Blockbenchというソフトを使用します。
アドオンの制作を説明する前に、まず"これだけあればとりあえず動く"統合版のアドオンのファイルの基本構成について簡単にご説明します。
〇〇→任意のアドオン名
(entity)→エンティティ名
(language)→言語の名前 例:日本語は ja_JP、アメリカ英語は en_US
/〇〇アドオン(.mcaddon)
/behavior
/entities
/(entity).json
-ビヘイビアのエンティティファイル。
-主に、エンティティがどんな行動をするのか決定することができる。
/manifest.json
-ビヘイビアのマニフェストファイル。
/pack_icon.png
-ビヘイビアのパックのアイコン画像。
-なくても動作するが、パックの画像が透明になってしまう。
/resource
/entity
/(entity).json
-リソースのエンティティファイル。
-主に、テクスチャやモデルの割り当てなどができる、重要なファイル。
/models
/entity
/(entity).json
-エンティティのモデルファイル。
-ここで制作したモデルがマイクラに反映される。
/texts
/(language).lang
-エンティティの名前を決めるファイル。
-(language)の部分を変えることで様々な言語に対応することができる。
/textures
/entity
/(entity).png
-エンティティのテクスチャ画像を入れるファイル。重要。
/items
/(entity).png
-エンティティのスポーンエッグ画像を入れるファイル。
-これは無くても動作はするが、スポーンエッグ画像が透明になってしまう。
/item_texture.json
-エンティティのスポーンエッグの画像の定義ファイル。
/manifest.json
-リソースのマニフェストファイル。
/pack_icon.png
-リソースのパックのアイコン画像。
-なくても動作するが、パックの画像が透明になってしまう。
このファイルがあれば置物系のアドオンが制作できます。
なお、Blockbenchのプラグインの一つであるMinecraft Entity Wizardというものを使用すれば、これらのファイル構成やjsonファイルの
構文を自動で構築してくれます。
次の章では、jsonファイル・langファイルのファイル構成を説明いたします。
この章では、さまざまなjsonファイルやlangファイルのファイル構成について説明いたします。
・behavior/entities/(entity).json
ます、ビヘイビアのエンティティファイルのファイル構成を説明いたします。
{
"format_version": "1.13.0",
"minecraft:entity": {
"description": {
"identifier": "(tag):(entity)",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false
},
"components": {
"minecraft:scale": {
"value": 1.0
},
"minecraft:collision_box": {
"width": 1.0,
"height": 1.0
},
"minecraft:type_family": {
"family": [ "(tag)" ]
},
"minecraft:fall_damage": {
"value": 0.0
},
"minecraft:jump.static": {
},
"minecraft:behavior.float": {
"priority": 0
},
"minecraft:knockback_resistance": {
"value": 1.0
},
"minecraft:physics": {
},
"minecraft:interact": [
{
"filters": {
"all_of": [
{
"test": "has_equipment",
"domain": "head",
"subject": "other",
"operator": "not",
"value": "chainmail_helmet"
}
]
},
"use_item": false
}
]
}
}
}
基本のファイル構成はこんな感じです。次によく使う項目の説明をいたします。
(tag)→これは、簡単に説明してしまうとminecraft:の部分です。お好きなもので構いません。半角英数字のみ対応しています。
(entity)→これは、エンティティ名です。こちらもお好きなもので構いません。半角英数字のみ対応しています。
"minecraft:scale"→これは、エンティティの大きさです。"value": 1.0の部分を変更することで大きさが変わります。1.0は倍率一倍ということになります。基本いじらなくて大丈夫です。
"minecraft:collision_box"→これは、エンティティの当たり判定です。"width": 1.0と"height": 1.0の部分を変更することで当たり判定が変わります。1.0はマイクラの1ブロック分ということになります。widthは直径、heightは高さとなります。値を小さくすることで当たり判定が小さくなり、値を大きくすることで当たり判定が大きくなります。
・behavior/manifest.json
次にビヘイビアのマニフェストファイルなんですが、こちらはジェネレーターがございますので、そちらで生成してjsonファイルに貼り付けてもらえれば完成します。
・resource/entity/(entity).json
次に、リソースのエンティティファイルのファイル構成を説明いたします。
{
"format_version": "1.8.0",
"minecraft:client_entity": {
"description": {
"identifier": "(tag):(entity)",
"materials": {
"default": "skeleton"
},
"textures": {
"default": "textures/entity/(entity)"
},
"geometry": {
"default": "geometry.(entity)"
},
"render_controllers": [
"controller.render.default"
],
"spawn_egg": {
"texture": "spawn_(entity)",
"texture_index": 0
}
}
}
}
基本のファイル構成はこんな感じです。次によく使う項目の説明をいたします。
(tag)→これは、簡単に説明してしまうとminecraft:の部分です。お好きなもので構いません。半角英数字のみ対応しています。
(entity)→これは、エンティティ名です。こちらもお好きなもので構いません。半角英数字のみ対応しています。
"textures"→これは、エンティティのテクスチャを割り当てるところです。(entity)のところでは.pngをつけずに先ほど決めたものに変えてください。
"geometry"→これは、エンティティのモデルを割り当てるところです。(entity)のところを先ほど決めたものに変えてください。
"spawn_egg"→これは、エンティティのスポーンエッグのアイコンを割り当てるところです。(entity)のところを先ほど決めたものに変えてください。
~番外編~
"materials"→ここの構文を少し変えることにより、特殊発行を使用することができます。
やり方:
"default": "skeleton"
の部分を
"default": "phantom",
"invisible": "phantom_invisible"
に変えるだけです。
・resource/models/entity/(entity).json
次に、モデルファイルですが、こちらはBlockbenchでモデリングすることで自動で生成されます。
・resource/texts/(language).lang
次に、言語ファイルのファイル構成を説明いたします。
item.spawn_egg.entity.(tag):(entity).name=(エンティティの名前)
基本のファイル構成はこんな感じです。こちらは、(tag)と(entity)を先ほど決めたものに変更し、(エンティティの名前)の部分をお好きな名前に変更すれば完成です。こちらは、全部の文字列に対応しているはずです。(フォントが対応していれば)
なお、エンティティを複数個追加する場合は次のような構文になります。
item.spawn_egg.entity.(tag):(entity1).name=(エンティティの名前)
item.spawn_egg.entity.(tag):(entity2).name=(エンティティの名前)
こんな感じです。こちらも同様に、(tag)と(entity)を先ほど決めたものに変更すれば完了です。
・resource/textures/entity/(entity).png
次に、エンティティの画像ファイルですが、こちらはペイントソフトで編集したものを入れてください。
itemの部分も同じです。
・resource/textures/item_texture.json
次に、エンティティのアイテムの画像を決めるファイルのファイル構成を説明いたします。
{
"resource_pack_name": "vanilla",
"texture_name": "atlas.items",
"texture_data": {
"spawn_(entity)": {
"textures": [
"textures/items/(entity)"
]
}
}
}
基本のファイル構成はこんな感じです。こちらは、(entity)を先ほど決めたものに変更すれば完了です。
なお、エンティティを複数個追加する場合は次のような構文になります。
{
"resource_pack_name": "vanilla",
"texture_name": "atlas.items",
"texture_data": {
"spawn_(entity1)": {
"textures": [
"textures/items/(entity1)"
]
},
"spawn_(entity2)": {
"textures": [
"textures/items/(entity2)"
]
}
}
}
こんな感じです。こちらも同様に、(entity)を先ほど決めたものに変更すれば完了です。
・resource/manifest.json
最後にリソースのマニフェストファイルなんですが、こちらも同様ジェネレーターがございますので、そちらで生成してjsonファイルに貼り付けてもらえれば完成します。
次の章では、モデリング方法について説明いたします。
この章では、Blockbenchでのモデリング[方法・paint.netでのテクスチャ作成方法の説明なのですが、こちらはさーもん様の動画がわかりやすいと思うので、こちらをご覧ください。
次の章では、簡単なプラグインについて説明いたします
この章では、BlockbenchのプラグインにあるMinecraft Entity Wizardの説明なのですが、こちらはこの記事の説明がわかりやすいと思うので、こちらをご覧ください。
以上が、パソコンでのアドオン制作方法となります。