最終目的
・アイテム・ブロックを追加する
情報
・これは備忘録だよ
・自分が追加のときとてつもなくつまずいたから作ったよ
・これはMinecraft バージョン1.19.41時点の情報だよ
それ以降のバージョンで動かなくなっても保証しないよ
・サンプルコードはyamlで書いてるけどコメントアウト用だから本番はjsonにしてね
対象ユーザ
・マイクラを持っている人
・アドオンを作る気力がある人
・メンタルが強い人(エラーで悩まされたから)
・アドオンとはなにか知っている人 (説明がめんどくさいから)
略称
・ビヘイビアーパック・・・bp
・リソースパック・・・rp
・マインクラフト・・・マイクラ
・Java Edition(Java版)・・・JE
・Bedrock Edition(統合版)・・・BE
れっつごー
まず最初に下記の図のようにフォルダ・ファイルを作ってね
階層はわかりやすいところでいいよ
sample_resource_pack ←アドオンの名前。最後に_rpってつけとくと分かりやすい。
┣manifest.json
┣pack_icon.png
┣textures
┃┣items
┃┃┗(アイテムの名前).png
┃┗item_texture.json
┗texts
┗(対応させたい言語の名前).lang
sample_behavior_pack ←アドオンの名前。最後に_bpってつけとくと分かりやすい。
┣manifest.json
┣pack_icon.png
┣items
┃┗(アイテムの名前).json
┗recipes
┗(分類用の名前)_(アイテムの名前)_recipe.json
それぞれの説明
リソースパック
textures フォルダ
items フォルダ
(アイテムの名前).png
これはテクスチャだね
.pngじゃないとだめっぽい
16x16ぐらいが丁度いい
item_texture.json
item_texture.jsonはテクスチャを指定するよ
{
"resourse_pack_name":"ここは基本何でもいい",
"texture_name":"atlas.items", #これ固定ね
"texture_data":{
"テクスチャID(困ったらアイテム名でいいよ)":{
"textures":"textures/items/itemsフォルダの中にある画像の名前(_topと.pngとか抜きで)"
}
}
}
textsフォルダ
(対応させたい言語の名前).lang
.langはこういう形式で書くよ
(1行開ける)
item.(identifier).name=(表示したい名前)
identifierは(アイテムの名前).jsonのidentifierだよ
日本語はja_JP.lang
英語はen_US.lang
すべて設定するのがめんどい!って人はここを読みましょう
ビヘイビアーパック
items フォルダ
(アイテムの名前).json
アイテムの振る舞いを設定する
これが一番長い。根気強くね!!
{
"format_version":"1.16.100", #おすすめ。これ以外にして動かなくなっても知らん(無責任)
"minecraft:item":{
"description":{
"identifier":"アイテムのフルIDの設定",
"category":"左のタブからConstruction:構築、Equipment:所持品、Items:アイテム、Nature:性質(デフォ)"
},
"components":{
#設定しといたほうがいいやつ
"minecraft:foil":false, #エンチャント品のように光らせるかどうか。true=光る false=光らない。,
"minecraft:hand_equipped":false, #武器のように持つか。trueかfalse。,
"minecraft:max_stack_size":64, #どこまでスタックできるか。デフォは64。,
"minecraft:stacked_by_data":false, #データ値の違うものをスタックするか。デフォはfalse(?)。,
"minecraft:display_name":{
#(対応させたい言語の名前).langでいちいち指定がめんどいっ!って人向け
"value":"すべての言語で表示される名前を指定する。"
},
"minecraft:damage":10, #叩いたときのダメージ,
"minecraft:repairable":{
"repair_items":[
{
"items":["どのアイテムで耐久値を回復させるか。コマンドIDで指定する。JEのほうね"]
"repair_amount":10, #回復する耐久値の数,
}
]
},
#"minecraft:repairable"とセット
"minecraft:durability":{
"max_durability":100, #耐久値の量
"damage_chance":{
"min":100, #耐久値が減る確率の最小値
"max":100 #耐久値が減る確率の最大値
}
},
"minecraft:creative_category":{
"parent":"クリエイティブでどこのグループに属するのか。すべて下にあるリンクにある。カテゴリーとは違う。"
},
#絶対に指定するやつ
"minecraft:icon":{
"texture":"item_texture.jsonで指定したテクスチャIDを書く。"
},
"minecraft:render_offsets":"fleshかapple。appleの動作確認はしてない。",
...
#他にもいっぱいある。下のリンクでね
}
}
}
クリエイティブのグループとすべてのcomponentsはここ。
recipes
(分類用の名前)_(アイテムの名前)_recipe.json
(分類用の名前)は並べ替えられたときに見やすくするため。無くても良い
{
"format_version":"1.16.100", #ここはmanifest.jsonと統一する
#決まった形のレシピの場合
"minecraft:recipe_shaped":{
"description":{
"identifier":"基本何でもいい。でもbpのidentifierと統一したほうがいいかも。",
},
"tags":["crafting_table"], #そのレシピがクラフトできるもののタグ。
#"furnace","smoker","campfire","stonecutter", "brewing_stand"
# かまど 燻製器 たき火類 ストーンカッター 醸造台(ここで変えるだけでは意味がありません)
"pattern":[
" A ", #レシピのパターンを設定する。
"A A", #1つの材料につき一つのアルファベットを書く。
"A A" #↑のアルファベットは同じ材料なら同じアルファベットで。
],
"key":{ #指定したアルファベットがそれぞれなんの材料かを指定する
"指定したアルファベット":{
"item":"itemIDをJEかBE版マイクラのコマンドIDで書く。",
"data":"基本は0。データ値を指定する。"
},
#...
#アルファベットの種類の数だけ続ける。
"result":{
"item":"作った結果、できるもの。のbpで書いたアイテムのidentifier",
"count":1 #それが何個できるかの指定。多分いくつでも行ける。(やり過ぎは禁物)
}
}
}
共通の説明
pack_icon.png
.pngじゃないとだめっぽい
このファイルはどんな大きさでも丁度いいようになるらしい
manifest.json
これいちばん重要
アドオンとマイクラに認識させるためのファイル
例
{
"format_version":"1.16.100", #自分がよく使うバージョン。これじゃいけないなんてことはない。
"header":{
"name":"パックの名前"
"description":"パックの説明。バージョン書いてもいいかも。",
"uuid":"パックを特定するためのもの。",
"version":[0,0,1] #パックのバージョンを書く。
},
"modules":[
{
"description":"パックの説明。表示されない。謎。",
"type":"rpならresources、bpならdata。",
"uuid":"パックを特定するためのもの。",
"version":[0,0,1] #パックのバージョンを書く。headerと統一するといいよ。
}
]
}
uuidはここで生成できる。
4つ要るのでまとめて生成すると楽。
終わりに
はい! お疲れ様でした!!
アドオンを作るのは根気と時間がとても要るので大変です!
ですが、できたとき、マスターしたとき、とても嬉しかったり、MODのようなこともできるので
とても楽しいです!!
この講座の続きも作るつもりなので、よかったら見てね!
下にリンク集つけとくね!
とらぶるしゅーてぃんぐ
動かなかった人へ。
よくある間違い1
カッコ({})の数が足りない。
さっと確認できるvscodeがいいよ。(web版)
よくある間違い2
記述ミス
{
"format_version":"1.16.100",
"minecraft:item":{
"description":{
"identifier":"sample:sample_item",
"category":"Equipment"
},
"component":{ #←ここ!!
#...
"components"が"component"になっています。
こういうのがよくあるので注意してください。
その他
そういうのは質問で聞いてね!
リンク集
目的 | どんな知識がいるか | リンク |
---|---|---|
アイテムを作りたい | アドオンとはなにか | 今ここ |
ブロックを作りたい | アドオンとはなにか | まだできてないよ |
テクスチャを変えたい | アドオンとはなにか | まだできてないよ |
レシピ・ドロップアイテムを変えたい | アドオンとはなにか | まだできてないよ |
アイデアあったら質問とかで。