オリジナルアイテムは名のとおりアイテムを変更・新たに追加することができる機能です。
オリジナルブロックで存在感薄く感じるかもしれませんがオリジナルアイテムもあります。
ちょこっとしたアドオンでもアイテムがあるだけでぐっと深みが出てきます。
(解説するの忘れたなんていえない...)
解説内の表記について
解説内で出てくる丸括弧はデータを表しています。つまり各々で変える部分。例は下記の通り
(String)
⇒"abcdef"
,"Hello World"
(Integer)
⇒123456
,1024
(Float)
⇒0.625
,10000000000.0
(Value)
⇒0.625
,10000000000.0
(Bool)
⇒true
,false
-
(Object)
⇒{"data": (Integer), ... , "data_256": (String)}
-
(Molang)
⇒"variable.size = math.sin((query.ground_speed/30)*360);"
(*****+)
とは通常の(Integer)
,(Value)
などの使い方に加え、設定した範囲内でランダムな値も使えるということです。{"min": (Integer),"max": (Integer)}
のようにすると、ランダムな値を設定できます。
(List ****)
はそれぞれの配列型を示します。例:["egg","chicken"]
(***/***)
は複数の型に対応してます。
Molangについて
MolangとはMinecraft内で使うことができるスクリプト言語(のようなもの)です。
エンティティデータの読み出しや、単純な数学演算ができるようになります
記述方法は(String)
と同じくダブルクォーテーションを用います。
いくつかの例
"math.abs(math.sin(variable.vertical));"
-
"query.is_eating ? variable.test = math.random(1, 10) : variable.test = 0;"
-
"variable.age_progress=variable.emitter_age/variable.emitter_lifetime;variable.active_time = 10;"
オリジナルアイテムについて
意味そのままにアドオンによってゲーム内で使用できるアイテムを新たに追加、もしくは既存のアイテムを変更することができる機能です。既存アイテムを変更するとありますが、既存のアイテムを変更することはまずない&十分な機能が揃っていないので、アイテムを新たに追加する用途の方が多い(この記事もこちらがメイン)とは思いますが...
追加したアイテムはバニラのアイテム同様、クラフトやドロップさせることができ、コンポーネントの変更を行うことで、そのアイテム独自の機能を持たせることができます。
最近のアップデートにて、よりコンパクトに多くの機能をサポートするようになったので、大抵のアイテムは作ることが可能になりました。
サンプル1つめ
実際に動作するサンプルを紹介します。
単純に1つのアイテムを追加したサンプルですね~。
ファイル構造
まずはファイルの構造から
ビヘイビアパック
- items
- toka_test_food.json
- manifest.json
- pack_icon.png
items
フォルダに入っているtoka_test_food.json
が新たに追加するアイテムのビヘイビアを定義するファイルです。
もちろん複数アイテムを追加したい場合はitems
フォルダ内に複数のファイルがあることになります。
manifest.jsonはこの記事の主な内容ではないのでこちらをみてください
リソースパック
-
texts
- ja_JP.lang
-
textures
-
1_toka
- test_food.png
- item_texture.json
-
1_toka
- manifest.json
- pack_icon.png
ja_JP.lang
はディスプレイに表示されるテキストを定義するものです。配布する場合は必須と言っていいでしょう。
textures
内は任意のフォルダを置けるので1_toka
というファイルでテクスチャをまとめています。こうすれば他のアドオンと重複することも少なくなりますし、何せ自分自身分かりやすくなるので私はよくそうしています。
item_texture.json
がアイテムのリソースパックでは一番重要な部分になります。
ここではテクスチャを2つ使用していますがどちらも16x16の通常サイズのテクスチャになっています。
以前はこれに加えてitems
フォルダにjsonを定義する必要がありました。1.16.100のアップデートからその機能たちはビヘイビアパックに移設されたので不要になったのですが、もちろん古い書式のアイテムであれば存在しています(互換性もある、混合も可能)。
ファイルの中身
上記で紹介した3つのファイルを見ていきます。
toka_test_food.json(ビヘイビア本体)
まずはビヘイビア本体から、下のコンポーネント解説とあわせて見るとわかりやすいかも?
"minecraft:icon"
でアイテムのテクスチャを割り当て、"category"
はクリエイティブでのカテゴリを設定してますね。
このアイテムは"minecraft:food"
があることからも分かるように食べ物です。
食べるとエフェクトとパーティクルが発生するようになっています。移動速度上昇と跳躍力上昇ですね。
あと、たべると紙に変化します。
item_texture.json
正直上記のファイルとこれがあればアイテム自体は完成ですね。
こいつのやっていることはテクスチャ画像を、インスタンス登録するみたいな感じですね。
ブロックのterrain_texture.json
とほぼ同じです。
ja_JP.lang
言わずもがなこれは日本語用のファイルです。
余計なのが入っていますが、サンプル2でも同じのを使うのでこうなってます。
もちろん英語に対応したければ英語用のlangファイルを作る必要がありますし、フランス語であればそれもまた必要ですし...対応する言語は自分自身で決めてください。
動作させてみる
これを実際に動作させてみるとこんな感じになります↓
ちゃんと満腹度が3回復してエフェクトもついてます。パーティクルは画像だと分かりづらいですが、ちゃんと出ています。
サンプル2つめ
2つめは4つアイテムを追加してみます。
用途としてはなかりベターなものにしてみました。
ファイル構造
まずはファイルの構造から
ビヘイビアパック
-
items
- toka_test_armor.json
- toka_test_block_placer.json
- toka_test_item.json
- toka_test_tool.json
- manifest.json
- pack_icon.png
先ほども言ったように複数のアイテムを追加する場合、アイテムの数だけファイルが必要になります。
もちろんそれぞれのファイルにはそれぞれのアイテムのビヘイビアが入っています。
リソースパック
-
texts
- ja_JP.lang
-
textures
-
1_toka
- test_armor.png
- test_item_1.png
- test_item_2.png
- test_tool.png
- item_texture.json
-
1_toka
- manifest.json
- pack_icon.png
こちらもテクスチャが増えただけでサンプル1とほとんど変わりません。
ja_JP.lang
はサンプル1と同じ内容ですね。
ファイルの中身
ビヘイビアの内容は異なりますが、item_texture.json
は同じようなものが増えただけなので簡単です。
toka_test_armor.json
こいつは防具ですね
"minecraft:wearable"
で装備スロットの胸装備に装着できるようになります。
"minecraft:durability"
は耐久値ですね。7290は盛りすぎたな。
金床での修理は"minecraft:repairable"
で修復用のアイテム、回復量を指定します。この場合、鉄と金インゴットですね。
もちろんエンチャントもできます。エンチャントは"minecraft:enchantable"
でできるようになります。
toka_test_block_placer.json
バニラにはないようなアイテムですね。
これは一段のピーコンピラミッドを立ててます。
"minecraft:on_use_on"
と"minecraft:block_placer"
は競合してエラーを出しそうですが、実際にはそんなことはなく、ちゃんと動いてくれます。
"minecraft:icon"
でアイテムのテクスチャを割り当て、"category"
はクリエイティブでのカテゴリを設定してますね。
水中でも設置できるように"minecraft:liquid_clipped"
を付けてます。
toka_test_item.json
これぞ最小構成。ですね。
見て分かるようにアイテムとして動作させるための最小構成ですね。
IDとテクスチャの指定しかしていません。
toka_test_tool.json
最後は名前のとおり道具です。
"minecraft:digger"
で特定のブロックに対する採掘速度を設定しています。この場合、黒曜石と石系ですね。採掘速度は1秒で掘れるように調整しています。
ツール系のアイテムは他のアイテムと持ち方が異なりますが、"minecraft:hand_equipped"
を付ければ持ち方をツールっぽくしてくれます。
item_texture.json
もちろん、テクスチャの数だけ設定します。
動作させてみる
これを実際に動作させてみるとこんな感じになります↓
最小構成のtoka7290:test_item
はこんな感じになってます。
descriptionプロパティ一覧
アイテムに関する情報を定義します。必須
どのようなアイテムであってもこの項目を省略することはできません。
バージョンについて記載があるコンポーネントはそのバージョン以降もしくはそれ以前のバージョンでのみ動作することを意味します。"format_version"
を適宜変えるなどして対応してください。
-
"format_version": (String)
- このjsonのフォーマットバージョンを定義します。必須
- マイクラのアップデートによりjsonの書式が変更された場合などに正しく読み込めなくなるのを防止するため(後方互換性を維持するため)にあります。
- 基本的に書式変更が行われたマイクラのバージョンを指定して互換性を保ちます。変更されたバージョン以外を指定した場合は直前の変更がなされたバージョンとみなされます。
- 現在最新は
"1.16.100"
。1.16.200
以降のバージョンを指定すると正常に動かない現象が発生しています。正常に動かない場合は1.16.100
を指定してください。 - 注意してほしいのが、
"description"
内の要素ではないということ。記事の構成の関係でここに記載をしていますが、サンプル等を見てもらえば分かるように実際には"minecraft:item"
と同階層に置かれてます。 -
"identifier": (String)
- アイテムのID。必須
"[名前空間]:[ブロックのID]"
の形式で記述する必要があります。- 名前空間(namespace)とはこのアイテムを含むアドオン共通のIDです。特にこだわりが無ければアドオンの名前を使用してください。
- 原則として名前空間に
minecraft
を使用することは禁止されています。既存のMinecraftのアイテムを置き換えたい場合であれば名前空間にminecraft
を使用することはできます。 - スペースは全角半角問わず禁止です。
- 例)
"minecraft:diamond"
、"toka7290:test_item"
等 -
"category": (String)
- アイテムのカテゴリー。(1.16.100~)
- ここに設定した値によってクリエイティブタブのどの項目に入るか決まる。
- アイテム名の下に出てくる青文字としても表示されます。
- 設定は任意ではありますが、公開などを考えるならば設定しておくのが無難でしょう。
"minecraft:creative_category"
とは関連性はありますが、同じものではありません。- 以前まではリソースパック内のjsonにて定義していましたが、移動されました。
- 使える値は以下のとおり
-
値 配置されるタブ "Items"
アイテム(デフォルト) "Construction"
構築 "Equipment"
所持品 "Nature"
性質 "commands"
コマンド "none"
なし "all"
全て(設定不可) - それぞれ大文字と小文字両方とも可
コンポーネント一覧
バージョンについて記載があるコンポーネントはそのバージョン以降もしくはそれ以前のバージョンでのみ動作することを意味します。"format_version"
を適宜変えるなどして対応してください。
-
"minecraft:display_name": (Object)
- ゲーム内での表示名を設定します(1.16.100~,Holiday Creator)
- 以前まではリソースパック内のjsonにて定義していましたが、移動されました。
- 子要素は以下の通り
-
-
"value": (String)
- インベントリ内で表示される名前を設定します
- IDは置き換わりません
- langファイルのキーを設定するか直接文字列を設定します
-
-
"minecraft:creative_category"
- クリエイティブインベントリ内でのアイテムグループを設定します(1.16.100~1.20.10)
- 要は+の付いたあれ。同一のアイテムグループのアイテムを表示上格納させることができます。
- 現時点で新規にカテゴリを作ることは不可。(1.16.200.x)
- 1.17.20.22以前のキー名は
"parent"
、以降は"group"
。キー名は"parent"
。 - 使える値はlangファイルで定義されている表の値が使用可能。これ以外の値を設定した場合はアイテムグループとして認識されない。
-
"minecraft:tags": (List String)
- タグを設定します。
- このタグはクエリ関数によって他の部分から参照ができます。
- 1.16.100~1.20.40までは、
"tag:名前空間:タグ名": {}
を個別に設定します。(1.20.50からは非推奨) - 名前空間は無くても動きます。
-
"minecraft:icon": (Object)
- アイテムのアイコンを指定します。必須(1.16.100~)
- このアイテムで使用するアイコンについての諸設定を行います。
- 以前まではリソースパック内のjsonにて定義していましたが、移動されました。
-
-
"texture": (String)
- 使用するテクスチャ(セット)キーを設定します。
- テクスチャ(セット)キーというのは
item_texture.json
で定義したもののこと。テクスチャへのパスではないので注意。 -
"frame": (Integer/Molang)
- テクスチャインデックスを指定します。(テクスチャセットを使用する場合のみ使用)
item_texture.json
にて配列によってテクスチャを登録している場合に配列の何番目のアイコンを使用するか指定します。- デフォルトは
0
。 -
"legacy_id": (String)
- 古いテクスチャキーを割り当てます。
- 通常使いません。
- 一覧はここを参照とのこと
-
-
"minecraft:glint": (Bool)
- アイテムをエンチャントの効果のように輝かせます
true
でする。false
でしない。- 省略可、デフォルトでは
false
- 1.20.10までは
"minecraft:foil"
でした -
"minecraft:interact_button": (Bool/String)
- 「アイテム使用」ボタンを表示させます(タッチ操作)
true
表示。false
非表示。- 文字列の場合はボタンテキストが設定した文字列になる。(langファイルのキーも設定可)
-
"minecraft:use_animation": (String)
- アイテムを右クリックした(使った)ときのアニメーションを設定します(1.16.100~)
- 厳密には一人称視点のみ。
- 以前まではリソースパック内のjsonにて定義していましたが、移動されました。
- 現状判明している値は以下の通り
-
値 詳細 "eat"
食べるときのアニメーション(音も出る) "drink"
飲むときのアニメーション(音も出る) "bow"
弓のアニメーション "spear"
トライデントのアニメーション "crossbow"
クロスボウのアニメーション その他 アニメーションは再生されません。 -
"minecraft:render_offsets": (String/Object)
- VR用のレンダーオフセット(1.16.100~1.20.10) レンダーオフセット(1.16.210.58~1.20.10)
- つまりはVRコントローラにくっついているアイテムの位置を設定するということ。1.16.210.58からはVRでない通常のオフセットを設定する機能になりました。
- 手に持ったときのアイテムの描画を角度・位置・大きさそれぞれ設定できる。
- メインハンド、オフハンドそれぞれ一人称・三人称が設定可
- 1.20.20で削除
-
-
"main_hand": (Object)
- メインハンドに持った時のオフセットを変更します。
- 設定しない場合はデフォルトのオフセットが適用されます。
- 子要素は以下のとおり
-
-
"first_person": (Object)
- 一人称の時のオフセットを変更します
- 設定しない場合はデフォルトのオフセットが適用されます。
- 子要素は
"position": (List Float)
,"rotation": (List Float)
,"scale": (List Float)
。省略した場合はデフォルトの値が使用される。 "position"
はxyzの順に位置を指定。x:左右(-+),y:上下(+-),z:前後(-+)"rotation"
はxyzの順に回転角を指定(単位:度)。いずれも+方向は半時計周り"scale"
は大きさ。正確には各軸(x,y,z)への伸び。値を大きくすればするほど軸方向に伸びる。デフォルトは[0.1,0.1,0.1]
(16x16pxのテクスチャ)- サンプル↓
-
"first_person": {
 "position": [0.7, 0.0, -0.5],
 "rotation": [90.0, 130.0, 0.0],
 "scale": [0.1, 0.1, 0.1]
}
-
"third_person": (Object)
- 三人称の時のオフセットを変更します
- 設定しない場合はデフォルトのオフセットが適用されます。
- 子要素は
"position": (List Float)
,"rotation": (List Float)
,"scale": (List Float)
。省略した場合はデフォルトの値が使用される。 "position"
はxyzの順に位置を指定。いずれも正面から見た時、x:腕の前後(-+),y:腕の上下(+-),z:腕の左右(-+)"rotation"
はxyzの順に回転角を指定(単位:度)。いずれも+方向は半時計周り"scale"
は大きさ。正確には各軸(x,y,z)への伸び。値を大きくすればするほど軸方向に伸びる。デフォルトは[0.1,0.1,0.1]
(16x16pxのテクスチャ)- サンプル↓
-
"third_person": {
 "position": [0.0, 1.0, -0.5],
 "rotation": [90.0, -120.0, 0.0],
 "scale": [0.1, 0.1, 0.1]
}
-
-
"off_hand"
- オフハンドに持った時のオフセットを変更します。
- 設定しない場合はデフォルトのオフセットが適用されます。
- 子要素は以下のとおり
-
-
"first_person": (Object)
- 一人称の時のオフセットを変更します
- 設定しない場合はデフォルトのオフセットが適用されます。
- 子要素は
"position": (List Float)
,"rotation": (List Float)
,"scale": (Float)
。省略した場合はデフォルトの値が使用される。 "position"
はxyzの順に位置を指定。x:左右(-+),y:上下(+-),z:前後(-+)"rotation"
はxyzの順に回転角を指定(単位:度)。いずれも+方向は半時計周り"scale"
は大きさ。正確には横方向への伸び。値を大きくすればするほど横に伸びる。- サンプル↓
-
"first_person": {
 "position": [-0.8, 0.1, -0.5],
 "rotation": [90.0, 50.0, 0.0],
 "scale": 0.05
}
-
"third_person": (Object)
- 三人称の時のオフセットを変更します
- 設定しない場合はデフォルトのオフセットが適用されます。
- 子要素は
"position": (List Float)
,"rotation": (List Float)
,"scale": (Float)
。省略した場合はデフォルトの値が使用される。 "position"
はxyzの順に位置を指定。いずれも正面から見た時、x:腕の前後(-+),y:腕の上下(+-),z:腕の左右(-+)"rotation"
はxyzの順に回転角を指定(単位:度)。いずれも+方向は半時計周り"scale"
は大きさ。正確には横方向への伸び。値を大きくすればするほど横に伸びる。- サンプル↓
-
"third_person": {
 "position": [0.5, 1.2, 0.0],
 "rotation": [75.0, -120.0, -0.0],
 "scale": 0.1
}
-
-
- 以下1.16.100~の設定方法
- 設定する値は
items_offsets_client.json
に定義したものが使える。 - バニラの値一覧は→こちら
- VRで使用することを想定しているのならこだわるのもアリだが、VR+アドオンでプレイする人がいるのか正直微妙なので個人の判断で決めて下さい。
- 以前まではリソースパック内のjsonにて定義していましたが、移動されました。
- 一応画像↓
"buckets"
と"tools"
の画面 -
"minecraft:mirrored_art": (Object)
- アイテムを反転します(1.16.100~1.20.10)
- インベントリ内や三人称視点では反転しません。
- 1.20.20.20で削除
-
"minecraft:hand_equipped": (Bool)
- 持ち方をツールのようにするかしないか
- 他プレイヤーや3人称視点でのアイテムの持ち方が変わります。省略可
- なお、装備可能なアイテムには追加しない方がいいとのこと
true
もしくはfalse
のどちらか- falseの場合
- trueの場合
-
"minecraft:can_destroy_in_creative": (Bool)
- クリエイティブモードでこのアイテムを使用したときブロックを破壊できるかの設定(1.16.100~)
false
で破壊できない。true
でできる。(デフォルト)- 1.20.10.21までHoliday Creatorの試験機能でした。
-
"minecraft:explodable": (Bool)
- 爆発耐性を持っているかの設定(1.16.100~)
false
で爆発耐性を持つ。true
でなし。(デフォルト)-
"minecraft:should_despawn": (Bool)
- デスポーンするかの設定(1.16.100~)
false
で消えない。true
で消える。(デフォルト)-
"minecraft:liquid_clipped": (Bool)
- 液体に対して判定を持たせる(1.16.100~)
"minecraft:on_use_on"
等で水,溶岩に当たり判定を持たせることができます。false
で判定なし(空気と同じ,デフォルト)。true
で判定あり。-
"minecraft:ignores_permission": (Bool)
- 設置制限を無視するか。(1.16.100~1.20.10)
- ここで言う設置制限とはアドベンチャーモードによる設置制限のこと。
false
でしない。(デフォルト)true
で無視する。- 1.20.20.20で削除
-
"minecraft:max_stack_size": (Integer)
- スタックできる量。
- デフォルトは64。省略可。
- 1.20.10.20までHoliday Creatorの試験機能でした。
-
"minecraft:stacked_by_data": (Bool)
- データ値の違うアイテム同士をスタックできるか
true
もしくはfalse
のどちらか- デフォルトは
false
。省略可。 -
"minecraft:block_placer": (Object)
- 右クリックでブロックを設置します(1.16.100~)
- サバイバルではブロックを設置するとアイテムは消滅します。
"minecraft:seed"
から移設。- 1.20.10.20までHoliday Creatorの試験機能でした。
-
-
"block": (String)
- 設置するブロックのIDを設定します。
-
"use_on": (List String)
- ブロックを設置できるブロックIDを指定します。
- tagも可。
-
-
"minecraft:seed": (Object)
- あるブロックの上に別のブロックを置けるようにする(フォーマットバージョン1.16.100削除)
- 削除された模様。同様の機能は
"minecraft:block_placer"
にあります。 -
-
"crop_result": (String)
- 置くブロック
-
"plant_at": (String/List string)
- 置けるブロック
-
"plant_at_any_solid_surface": (Boolean)
- 固体ブロックなら何にでも置けるようにする。
true
で置ける,false
で置けない。- デフォルトでは
false
-
"plant_at_face": (String)
- 設置できる面の指定
- 使える値:
"north"
,"south"
,"east"
,"west"
,"up"
,"down"
- デフォルトは
"up"
。大文字でも構わない
-
-
"minecraft:entity_placer": (Object)
- 右クリックでエンティティを設置します(1.16.100~)
- サバイバルではエンティティを設置するとアイテムは消滅します。
-
-
"entity": (String)
- 設置するエンティティのIDを設定します。
-
"use_on": (List String)
- エンティティを設置できるブロックIDを指定します。
- tagも可。
- ディスペンサーには効きません。
-
"dispense_on": (List String)
- ディスペンサーでエンティティを設置できるブロックIDを指定します。
- tagも可。
-
-
"minecraft:max_damage": (Integer/Object) 注意
- アイテムの最大耐久力。(1.16.100以前)
- 1.16.100から機能が
"minecraft:durability"
に引き継がれました。 - 0で耐久力なし(無限)
- よくわからない項目。1以上にするとモブにダメージが入らなくなる。
- 省略した場合0。
0
~32767
まで -
"minecraft:durability": (Object)
- アイテムの耐久値に関する項目を設定します(1.16.100~)
- ベータでは
"minecraft:damageable"
という名前だった - 1.20.0.24までHoliday Creatorの試験機能でした。
-
-
"max_durability": (Integer)
- 最大耐久値を設定します。
- 0以上の値を設定する
-
"damage_chance": (Object)
- 耐久値が減る確率。
"min": (Integer)
で最小値、"max": (Integer)
最大値を設定する。- 単位は%。デフォルトは
100
-
"damage_chance": {
 "min": (Integer),
 "max": (Integer)
}
-
-
"minecraft:repairable": (Object)
- アイテムの耐久値を金床で回復できるようにします(1.16.100~)
- 1.20.0.24までHoliday Creatorの試験機能でした。
-
-
"repair_items": (List Object)
- 回復するアイテムについて定義します。
-
-
"items": (List String)
- 耐久値を回復できるアイテムのIDを設定します。
-
"repair_amount": (Float/Molang)
- アイテムを使用した際に回復する耐久値の量を設定します。
- マイナスは設定不可
-
-
"on_repaired": (Object)
- アイテムの耐久値を回復したときにイベントをトリガーします。
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
-
"minecraft:enchantable": (Object)
- アイテムのエンチャントを可能にします(1.16.100~)
- 1.20.20.23までHoliday Creatorの試験機能でした。
-
-
"value": (Integer)
- 何の値なのか具体的に不明。
- 基本的に値を大きくすればするほど、多くのエンチャントが付く確率が多くなる。
- 確率なので、少ない値でも多く付くことがある。
0
でエンチャント不可。-
"slot": (String)
- エンチャントテーブルなどで付けられるエンチャントの設定。
- フィルターという表現が一番近い
- 使用できる値は以下の通り
-
値 詳細 "all"
すべて "sword"
剣 "bow"
弓 "pickaxe"
ツルハシ "axe"
斧 "hoe"
鍬 "shovel"
スコップ "armor_head"
頭装備 "armor_torso"
胴体装備 "armor_legs"
脚装備 "armor_feet"
足装備 "elytra"
エリトラ "carrot_stick"
人参付き棒
-
-
"minecraft:block": (String)
- アイテムをブロックのようにする。
- ただ1.16.x時点ではブロックを指定するとアイテム自体が消える。無理やり出してもブロックは設置できず、完全な機能は備わっていない様子。
-
"minecraft:use_modifiers": (Object)
- アイテムを使用できるようにします
- 1.20.50.21までは
"minecraft:use_duration": (Float)
という名前でした - フォーマットバージョン
1.16.0
まではテック単位で指定(Integer) - 最小値は
0.05
-
-
"movement_modifier": (Float)
- アイテムの使用時間(秒)
- minecraftのほとんどのアイテムは32tick(1.6sec)に設定されてます。
-
-
"minecraft:cooldown": (Object)
- クールダウンの設定(1.16.100~)
- アイテムを使用した後アイテムが使用不可能になるまでの時間を設定します。
"minecraft:food"
内からこちらに移動した模様-
-
"category": (String)
- クールダウンのカテゴリーを設定します。
- 同一のカテゴリーを持つアイテムでクールダウンが発生します。
"cooldown_type"
から移設-
"duration": (Value)
- クールダウンの時間を設定します。
- 単位は秒。
"cooldown_time"
から移設
-
-
"minecraft:damage": (Integer)
- 攻撃した際のダメージ量の設定。
-
"minecraft:weapon": (Object)
- アイテムに武器として必要なイベント処理を追加します(1.16.100~1.20.40.20)
- 1.20.40.21から非推奨
- また、アイテムの名前の下に攻撃力が表示されます。
-
-
"on_hit_block": (Object)
- 攻撃がブロックに当たったときにイベントをトリガーします。
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
"on_hurt_entity": (Object)
- 攻撃がエンティティに当たったときにイベントをトリガーします。
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
"on_not_hurt_entity": (Object)
- 攻撃がエンティティに当たったもののダメージを与えなかったときにイベントをトリガーします。(未確認)
- スカッた時のものだと思われるが、よくわからん
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
-
"minecraft:mining_speed": (Integer)
- 採掘速度を設定します(非推奨)
"minecraft:digger"
があるため、あまり意味を成していない模様。- 1.20.30.20以降非推奨
-
"minecraft:digger": (Object)
- 特定のブロックを破壊するときの採掘速度を設定します(1.16.100~)
-
-
"use_efficiency": (Bool)
- 効率(エンチャント)の影響を受けるか。
- 現状意味なさそう
-
"destroy_speeds": (List Object)
- ブロックごとの採掘速度を設定します
-
-
"block": (String/Object)
- 採掘速度を設定するブロックIDまたはタグを設定します。
- タグを使用する場合、
"tags": (Molang)
を使用します。 - 現在バニラで定義されているタグはこちら
"tags"
の値はMolangなので文字列はシングルクオーテーションで囲む必要があります。複数のタグを設定する場合はクエリ関数を使います。- 例)
-
"block": {
 "tags": "q.any_tag('stone', 'metal')"
}
-
"speed": (Integer)
- 採掘速度の設定をします。
- 整数しか許容しません。
- ここで設定するのは純粋な時間ではなく倍率。つまり大きければそれだけ早くなる
- 秒換算したい場合は以下の式を用いる。採掘速度がここで設定する値
- (ブロックの硬度×1.5)/採掘速度=採掘時間[s]
- ブロックの硬度はWikiを参照してください。
- 本当にこの式なのかは不明
-
-
"on_dig": (Object)
- 対象ではないブロックが採掘された時にイベントをトリガーします。(~1.20.50.24)
- "destroy_speeds"で指定していないブロックを採掘した場合にイベントがトリガーされます。
- 1.20.20.22以降非推奨
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
-
"minecraft:food": (Object)
- 食べ物にする場合に使います。
-
-
"nutrition": (Integer)
- 回復する満腹度。デフォルトは
1
-
"can_always_eat": (Bool)
- 満腹度がいっぱいでも食べれるかどうか
true
もしくはfalse
のどちらか- デフォルトは
false
。 -
"using_converts_to": (String)
- 食べた後アイテムを別のものにします。
- 変わるアイテム名を指定
-
"saturation_modifier": (Float)
- 隠し満腹度の度合を設定します
- フォーマットバージョン
1.18.0
までは(String)。1.18.0
からは数値を指定 - 隠し満腹度は以下の計算式で求まります。
(満腹度)×(倍率)=(隠し満腹度)
- 例えば満腹度が10回復する食べ物ならば、
"normal"
を選べば隠し満腹度が6回復するという風になります。 - 設定する値は倍率直接指定するわけではなく、紐づけされた値を設定します。
- 値は以下のとおり。
-
値 倍率 "poor"
0.0 "low"
0.2 "normal"
0.6(デフォルト) "good"
1.2 "high"
1.6 "supernatural"
2.4 -
"on_consume": (Object)
- 食べるとイベントをトリガーします(1.16.100~1.20.30.20)
- 1.20.30.22で削除
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
"effects": [(Object),...] 注意
- 食べたときに得られるエフェクト(1.16.100まで)
- 1.16.100以降では
"on_consume"
が追加されたため削除されました。同様の機能はイベントによって提供されています。 - "effects"内の設定は以下の通り。(複数指定も可)
-
-
"name": (String)
- エフェクト名
- ID一覧はこちらから
-
"chance": (Value)
- 得られる確率
0.00
~1.00
まで。未確認-
"duration": (Integer)
- 効果時間
0
~32767
まで。未確認-
"amplifier": (Integer)
- エフェクトのレベル
0
~32767
まで。未確認
-
-
"remove_effects": (List String)注意
- 食べたときに削除されるエフェクト(1.16.100まで)
- 1.16.100以降では
"on_consume"
が追加されたため削除されました。同様の機能はイベントによって提供されています。 ["エフェクト名",...]
で指定する- 検証バージョンが1.14.xなのでそれ以前は不明。
- ID一覧はこちらから
-
"is_meat": (Bool) 注意
- 肉かどうか(1.16.100まで)
true
もしくはfalse
のどちらか- 現状設定しても意味はなさそう
-
"on_use_action": (String) 注意
- 食べたときにアクションを起こすアクション名(1.16.100まで)
- 1.16.100以降では
"on_consume"
が追加されたため削除されました。同様の機能はイベントによって提供されています。 - 例:
"chorus_teleport"
コーラスフルーツのやつ。食べたらテレポート -
"on_use_range": (List Integer) 注意
- 上記の有効範囲(1.16.100まで)
[x,y,z]
- 1.16.100以降では
"on_consume"
が追加されたため削除されました。同様の機能はイベントによって提供されています。 -
"cooldown_type": (String) 注意
- アクション後のクールダウン名(1.16.100まで)
- 1.16.100以降では
"minecraft:cooldown"
が追加されたため削除されました。 -
"cooldown_time": (Integer) 注意
- クールダウンの時間(1.16.100まで)
0
~32767
まで未確認- 1.16.100以降では
"minecraft:cooldown"
が追加されたため削除されました。
-
-
"minecraft:armor": (Object)
- 防御力の設定(1.16.100~1.20.10,非推奨)
- アイテムを装備として身に着けたときの防御力を設定します
- 1.20.20より"minecraft:wearable"に機能が移行したため、非推奨になりました
-
-
"protection": (Integer)
- 防御力の設定
1
で防具アイコン半分。マイナスも可。-
"texture_type": (String)
- アーマーのテクスチャタイプを設定します。(~1.20.20.21)
- 装備したときの見た目のものだと思われるが、現状設定しても変わらない。
- 1.20.20.22で削除
- 使用できる値は以下の通り。
-
値 詳細 "leather"
革 "iron"
鉄 "gold"
金 "diamond"
ダイヤモンド "netherite"
ネザライト,馬防具では使用不可 "chain"
チェーン,馬防具では使用不可 "elytra"
エリトラ "turtle"
亀の甲羅 "none"
なし
-
-
"minecraft:wearable": (Object)
- アイテムを身に付けられるようにします(1.16.100~)
-
-
"slot": (String)
- 身に付けられるスロットを指定します。
- 基本的に
/replaceitem
コマンドで使用するスロット名と同じ。ただし、一部仕様が異なる。 -
値 詳細 "slot.armor.head"
ヘルメット。右クリック、ディスペンサー使用等で装備される。 "slot.armor.chest"
チェストプレート。右クリック、ディスペンサー使用等で装備される。 "slot.armor.legs"
レギンス。右クリック、ディスペンサー使用等で装備される。 "slot.armor.feet"
ブーツ。右クリック、ディスペンサー使用等で装備される。 "slot.armor"
エンティティのアーマー "slot.chest"
エンティティのチェスト "slot.weapon.offhand"
オフハンド。ディスペンサーでのみ装備可。 "slot.weapon.mainhand"
現在選択しているスロット。特別なことは起きない。1.20.20削除 "slot.hotbar"
ホットバー。意味なし。使わない方がいい。1.20.20削除 "slot.inventory"
インベントリ。意味なし。使わない方がいい。1.20.20削除 "slot.enderchest"
エンダーチェスト。意味なし。使わない方がいい。1.20.20削除 "slot.saddle"
エンティティのサドル。意味なし。使わない方がいい。 "slot.equippable"
エンティティの装備欄。1.20.20削除 -
"protection": (Integer)
- 防御力の設定(1.20.20~)
1
で防具アイコン半分。マイナスも可。-
"dispensable": (Bool)
- ディスペンサーで装備できるようにする?(動作未確認)
- いろいろ調べたが、わからん。動作しているとは思えない(バグ?)ので注意。ただ、存在はしているらしい。
- 実際に動作しているいる方はご一報頂ければ幸いです。
-
-
"minecraft:allow_off_hand": (Bool)
- オフハンドを許可する(1.16.100~)
"minecraft:wearable"
と機能が重複しているように見えるが、どちらも設定していないとオフハンドへの装着は不可能。- 特に
"minecraft:allow_off_hand"
のみの場合、クラッシュしてしまう。 true
でする。false
でしない(デフォルト)-
"minecraft:knockback_resistance": (Object)
- アイテムにノックバック耐性を設定します(1.16.100~)
-
-
"protection": (Float)
- ノックバック耐性の量を設定します。
0.0
~1.0
までの値にする。1.0
でノックバックしなくなる。- この範囲より大きい値はバグるので注意。
-
-
"minecraft:shooter": (Object)
- アイテムから飛翔体を発射できるようにします(1.16.100~)
- どうやら1.16.200現在動作しないらしい。
- 1.20.10.21までHoliday Creatorの試験機能でした。
-
-
"ammunition": (List Object)
- 消費するアイテムの設定
-
-
"item": (String)
- 使用するアイテム名
-
"use_offhand": (Bool)
- オフハンドにあるアイテムを使用するか
-
"search_inventory": (Bool)
- インベントリにあるアイテムを使用するか
-
"use_in_creative" : (Bool)
- クリエイティブで使えるか
-
-
"max_draw_duration": (Value)
- チャージにかかる時間
- デフォルトは
0.0
-
"charge_on_draw": (Bool)
- チャージした状態で維持できるか(要はクロスボウ)
- デフォルトは
false
-
"launch_power_scale": (Value)
- パワーが増加するスケール
- デフォルトは
1.0
- 1.20.10.20で削除?
-
"max_launch_power": (Value)
- パワーの最大値
- デフォルトは
1.0
- 1.20.10.20で削除?
-
"scale_power_by_draw_duration": (Bool)
- チャージする際、画面が若干ズームする。
-
-
"minecraft:throwable": (Object)
- アイテムを投げれるようにします(1.16.100~)
"minecraft:projectile"
とセットで使用します。- 1.20.10.21までHoliday Creatorの試験機能でした。
-
-
"max_draw_duration": (Value)
- チャージにかかる最大時間
- デフォルトは
0.0
-
"min_draw_duration": (Value)
- チャージにかかる最小時間
- デフォルトは
0.0
-
"do_swing_animation": (Bool)
- アイテムを投げるときにアニメーションをするか。
- チャージ後のアニメーションを行うか設定します。
true
で行う。false
でしない。(デフォルト)-
"launch_power_scale": (Value)
- パワーが増加するスケール
- デフォルトは
1.0
-
"max_launch_power": (Value)
- パワーの最大値
- デフォルトは
1.0
-
"scale_power_by_draw_duration": (Bool)
- チャージする際、画面が若干ズームする。
- デフォルトは
false
-
-
"minecraft:projectile":
- アイテムを投擲物(プロジェクタイル)にします(1.16.100~)
- アイテム自体を投げられるというわけではなく、矢のように道具を使うとアイテムを消費してエンティティを発射させるといったものになります。
"projectile_entity"
以外は動作していないと考えられる。- 1.20.10.21までHoliday Creatorの試験機能でした。
-
-
"projectile_entity": (String)
- 投擲するエンティティIDを設定します。
"minecraft:projectile"
コンポーネントを持つエンティティは向いた方向に飛びます-
"minimum_critical_power": (Value)
- クリティカルヒットさせるために必要なチャージ時間。
- 単位は時間?
-
-
"minecraft:item_storage": (Object)
- アイテムにアイテムを保存できる(1.18.10.22追加,Holiday Creator)
-
-
"capacity": (Integer)
- 保存できる最大容量を設定します
-
-
"minecraft:on_use": (Object)
- アイテムを持った状態で使用(右クリック)したときの設定(1.16.100~1.20.40.20)
- 1.20.40.21から非推奨
-
-
"on_use": (Object)
- 使用(右クリック)したときにイベントをトリガーします。
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
-
"minecraft:on_use_on": (Object)
- アイテムを持った状態でブロックを使用(右クリック)したときの設定(1.16.100~1.20.40.20)
- 1.20.40.21から非推奨
-
-
"on_use_on": (Object)
- ブロックに対して使用(右クリック)したときにイベントをトリガーします。
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
-
"minecraft:fuel": (Object)
- アイテムを燃料として使えるようにします。(1.16.100~)
- かまど等の燃料として使えるはずなのですが、1.16.100現在動作しません。1.18.10にて動作確認
-
-
"duration": (Float)
- 燃焼時間を設定します。
- 単位は秒。最小値は
0.05
(1テック)
-
-
"minecraft:record": (Object)
- アイテムをジュークボックスに挿入して音を再生できるようにします(1.19.0.20~)
- 1.20.10.20までHoliday Creatorの試験機能でした。
-
-
"sound_event": (String)
- 再生する音を設定します
- sounds.jsonでeventとして定義されている値が使用できます。
-
"comparator_signal": (Integer)
- コンパレータの出力を設定します
- ジュークボックスにアイテムを入れた際、ジュークボックスに隣接しているコンパレータから出力されるレッドストーン信号を設定します
0
~15
まで設定可能。(15以上もなぜか設定可能ではあるが、意味なし)-
"duration": (Float)
- 音の再生時間を設定します
- 単位は秒
- 現状動作しない(1.19.0.20~)
-
-
"minecraft:chargeable": (Object)
- アイテムをチャージできるようにします。(1.19.0.20~1.20.50.21)
- チャージ時間は
"minecraft:use_duration"
で設定した時間です - 現時点では
"minecraft:on_use"
,"minecraft:cooldown"
,"minecraft:throwable"
などのコンポーネントと併用するとクラッシュするので注意(1.19.0.20) - 1.20.0.24までHoliday Creatorの試験機能でした。
- 1.20.50.22からは
"minecraft:use_modifiers"
を使用してください -
-
"movement_modifier": (Float)
- チャージ(右クリック長押し)中の移動を設定します
- アイテムのチャージをしながら歩く場合にその速度を設定します
0.0
~5.0
まで設定可能。0.0
でチャージ中は完全に止まる。5.0
で通常の歩行速度と変わらない-
"on_complete": (Object)
- チャージ(右クリック長押し)後にイベントをトリガーします。
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
(未確認)
-
-
-
"minecraft:dye_powder": (Object)
- アイテムで染色できるようにします。(1.16.100~)
- 名前のとおり染料としての機能を持たせるものだと思われるが、正常に動作しない。
-
-
"color": (String)
- 色のデータ値を設定します
- 現状値を設定しても意図した色として機能しません(1.16.100~)
- 使用できる値はは以下のとおり
-
値 詳細 "black"
黒色 "red"
赤色 "green"
緑色 "brown"
茶色 "blue"
青色 "purple"
紫色 "cyan"
水色 "silver"
薄灰色 "gray"
灰色 "pink"
桃色 "lime"
黄緑色 "yellow"
黄色 "lightblue"
空色 "magenta"
赤紫色 "orange"
橙色 "white"
白色
-
-
"minecraft:requires_interact": (Bool)
- インタラクトが必須かどうか(未確認,1.20.30削除)
- 内部データを見る限り、地図と人参付き棒についている
-
"minecraft:frame_count": (Integer)
- テクスチャのフレーム数(未確認)
- 弓についている
-
"minecraft:camera": (Object)
- カメラを設置するためのアイテムコンポーネント
- 需要もない上BEでは画像が保存できない(ポートフォリオがない)ので省略
Molangクエリ一覧
ビヘイビア内で使用できるMolangクエリの内、特にアイテム機能でしか使わないような物の一覧です。
クエリを使用する際は前後に空白を入れるか、丸カッコで囲むことをお勧めします。
もちろん省略表記q.
も可能です。
これ以外のクエリも使用可
-
query.any_tag(value, ...)
- アイテム、もしくはブロックが保有しているタグとvalueに設定されたタグがいずれかと合致した場合trueを返します。
-
query.all_tags(value, ...)
- アイテム、もしくはブロックが保有しているタグとvalueに設定されたタグがすべて合致した場合trueを返します。
-
query.equipped_item_all_tags(slot, value, ...)
- slotにあるアイテムにvalueに設定されたタグがすべて合致した場合trueを返します。
- valueは
'tag_name'
の形式をとるらしい -
query.equipped_item_any_tag(slot, value, ...)
- slotにあるアイテムにvalueに設定されたタグがいずれか合致した場合trueを返します。
- valueは
'tag_name'
の形式をとるらしい
イベントについて
イベントは1.16.100から追加された機能で、"components"
内にイベントをトリガーするコンポーネントからイベントを受け取り、定義した応答コンポーネントを実行します。
イベント機能自体を利用するためには"description"
,"components"
と同階層に"events": (Object)
を設置し、"events"
内にイベントを定義する必要があります。
"events"
内にはイベントを複数定義することができ、それぞれイベント名と応答コンポーネントを定義して利用します。
定義したイベント名は"components"
内にからイベントをトリガーするために使用します。
エンティティイベントと仕様が異なり、"component_groups"
の概念はありません。また、ブロックとも異なり、"permutations"
にあたる機能もありません。
イベント名の決まった書式はありませんが、"[名前空間]:[イベント名]"
の体裁を推奨します。例)"toka7290:give_effect"
イベントの応答コンポーネントはエフェクトの与奪、テレポート等が行えます。
※イベント応答コンポーネントという呼び方は特にどこかでそう呼ばれているというものではありません。このサイト独自のものになります。ブロックのイベント応答コンポーネントと近い仕様のためこう呼んでいます。
イベント応答コンポーネント一覧
これらのコンポーネントは各イベント内で使用できるコンポーネントです。
-
"swing": (Object)
- アイテムを振るアニメーションを行います
- 要素は空
{}
-
"add_mob_effect": (Object)
- MOBにエフェクトを付与します
- 子要素は以下のとおり
-
-
"effect": (String)
- エフェクト名を設定します。
- ID一覧はこちらから
-
"amplifier": (Integer)
- エフェクトのレベルを設定します。
- デフォルトは
0
-
"duration": (Float)
- エフェクトの効果時間を設定します。
- デフォルトは
0.0
-
"target": (String)
- エフェクトを付与するターゲットを設定します。
- 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
-
-
"remove_mob_effect": (Object)
- エフェクトを削除する。
- 子要素は以下のとおり
-
-
"effect": (String)
- 削除するエフェクトを設定します。
"all"
ですべて削除-
"target": (String)
- ターゲットを設定します。
- 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
-
-
"damage": (Object)
- ダメージを与えます。
- 子要素は以下のとおり
-
-
"amount": (Integer)
- 与えるダメージを設定します。必須
- デフォルトは
0
-
"type": (String)
- ダメージのタイプを設定します。必須
- 使用できる値はのリンクを参照
fire
等は"amount"
に加えて継続ダメージもある。-
"mob_amount": (Integer)
- モブが使用したときに与えるダメージ量(未確認)
-
"target": (String)
- ターゲットを設定します。
- 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
- デフォルトは
self
-
-
"die": (Object)
- 死亡判定を与えます。
- エンティティの場合
/kill
コマンド相当。アイテムの場合、消滅判定にブロックの場合は破壊判定になります。 - 子要素は以下のとおり
-
-
"target": (String)
- ターゲットを設定します。
- 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
- デフォルトは
self
(ブロック自身)
-
-
"decrement_stack": (Object)
- 手に持っているアイテムを1つ減らし(消し)ます
- 子要素は以下のとおり
-
-
"ignore_game_mode": (Bool)
- クリエイティブモードでもアイテムを減らすか(1.16.210.56~)
- 有効にするとアイテムをクリエイティブモードでもアイテムを減らします。
true
で有効、false
で無効(デフォルト)。
-
-
"play_effect": (Object)
- エフェクトを再生する。動作未確認
"run_command"
出した方が楽- 子要素は以下のとおり
-
-
"data": (Integer)
- パーティクルのデータを使用します。
- デフォルトは
0
-
"effect": (String)
- パーティクル名を設定します。
-
"target": (String)
- ターゲットを設定します。
- 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
- デフォルトは
self
-
-
"play_sound": (Object)
- サウンドを再生する。
- 現状ブロックからでないと正しく再生されない模様(1.16.200.x)
- 子要素は以下のとおり
-
-
"sound": (String)
- サウンド名を設定します。
- 設定するサウンド名はsounds.jsonで定義されてる物になります。
-
"target": (String)
- ターゲットを設定します。
- 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
- デフォルトは
self
-
-
"teleport": (Object)
- テレポートさせる。
- 子要素は以下のとおり
-
-
"target": (String)
- ターゲットを設定します。
- 使用できる値は次のとおり。
self
,holder
,baby
,other
,player
,target
,parent
,block
,damager
,item
- デフォルトは
player
-
"max_range": (List Integer)
- テレポート先の許容範囲を設定します。(相対座標)
- デフォルトは
[ 8, 8, 8 ]
-
"avoid_water": (Bool)
- 水中にテレポートするのを避けるか
true
でする(デフォルト)。false
でしない。-
"land_on_block": (Bool)
- 地面のあるところにテレポートするか
true
でする(デフォルト)。false
でしない。-
"destination": (List Integer)
- テレポート元の座標を設定します。(相対座標)
- デフォルトは
[ 0, 0, 0 ]
- 現状デフォルト以外動作未確認
-
-
"transform_item": (Object)
- 持っているアイテムを変換します。
- 現時点でどうやってもクラッシュするので注意。(1.16.210.50)1.17.30.23にて修正されました。
-
-
"transform": (String)
- 変換するアイテムのIDを指定します。
-
-
"trigger": (Object)
- イベントをトリガーします。
- 子要素は以下のとおり
-
-
"condition": (Molang)
- イベントをトリガーする際の条件式を設定します。
- 条件式の結果が
true
の場合、"event"
に定義したイベントをトリガーします。false
の場合トリガーしません。 "condition"
を省略した場合、無条件で"event"
をトリガーします。- query.cardinal_player_facingとquery.cardinal_block_face_placed_onは使用不可。
- なお、バグがあり現在機能しません(1.16.200)→MCPE-103083
-
"event": (String)
- トリガーするイベント名を設定します。
名前空間:イベント名
の形式で書く。ここで設定したものは"events"
内で設定したものと同じ必要があります。-
"target": (String)
- イベントをトリガーするターゲット。
- 使用できる値は次のとおり。
holder
,self
,baby
,other
,player
,target
,parent
,block
,damager
,item
未確認 - デフォルトは
"self"
。省略した場合はデフォルトの値になります。 - 大半の場合省略して使う。
-
-
"run_command": (Object)
- コマンドを実行する。
-
-
"command": (String/List String)
- 実行するコマンドを設定します。
- コマンドは
/
(スラッシュ)を省略した形で記述します。 - ターゲットによっては意味の無いコマンドもあるので注意
-
"target": (String)
- コマンドを実行するターゲットを設定します。
- 使用できる値は次のとおり。
holder
,self
,baby
,other
,player
,target
,parent
,block
,damager
,item
- デフォルトは
block
(おそらく)
-
-
"shoot": (Object)
- 投擲物を発射します。
-
-
"projectile": (String)
- 投擲物として発射するエンティティのID。必須
- 詳しく調べたわけではないが、
"minecraft:projectile"
のコンポーネントがあるエンティティでないと飛ばない模様。 -
"launch_power": (Float/Molang)
- 発射するときの威力必須
1.0
あたりにしておくのを推奨。値を大きくすれば弾丸のようになるが、使用方法や環境によって動作に影響が出る可能性があるのでお勧めしない。-
"angle_offset": (Float/Molang)
- 投擲物が出るオフセット
-
-
"sequence": (List Object)
- イベント応答コンポーネント群を順番に実行します。
- 各オブジェクト内にはイベント応答コンポーネントを定義する
-
"randomize": (List Object)
- 設定したイベント応答コンポーネント群をランダムに一つ選び実行します。
- 各オブジェクト内にはイベント応答コンポーネントを定義する。
- 重みを付ける場合は各オブジェクト内に
"weight": (Integer)
を付けます。
リソースパック解説
-
item_texture.json
- テクスチャのパスと内部で使用するキーの紐づけを行うファイルです。
- ファイル名は
item_texture.json
-
-
"resource_pack_name": (String)
- リソースパックの名前。必須
-
"texture_name": "atlas.items"
- テクスチャ名。必須
- 例外無く
"atlas.items"
にしてください。バグります。 -
"texture_data": (Object)
- テクスチャのパスに管理用の名前を定義します。必須
- ここで定義していなければテクスチャを利用することはできません。
- (Object)内のコンポーネントは
"[任意の登録名]": (Object)
の形式を取ります。 "[任意の登録名]"
をこの記事では「テクスチャ(セット)キー」と呼んでいます。- 子要素は以下のとおり
-
-
"textures": (String/List string)
- テクスチャのパスを示します。パスは
textures
からの相対パスで始めます。 - ファイルの拡張子はあってもなくてもいい(基本は省略した形で入力。)
- (List string)の場合はテクスチャセットとして利用できます。
-
-
-
items.json 注意
- それ何?って思うかもしれませんが、リソースパックの
items
に格納するファイルです。 - 名前が任意なのでとりあえず
test_item.json
ってことで - 1.16.100からこのファイルに記述する内容がすべてビヘイビアに移動しました。つまり、不要になったわけです。
-
-
"identifier": (String)
- アイテムのID。ビヘイビアパックのIDと同じIDを使ってください
- IDがほかのファイルと一致していないと正しくアイテムが認識されません
-
"category": (String)
- アイテムのカテゴリー。
- アイテムの名前の下に出てくる青文字を何にするか。選択肢はクリエイティブタブの4つ。それ以外を選択すると表示されなくなる
"Construction"
(建築),Nature
(性質),"Equipment"
(所持品),Items
(アイテム)-
"minecraft:use_animation": (String)
- アイテムを右クリックした(使った)ときのアニメーション。
"eat"
(食べるとき)"arrow"
,"trident"
,"crossbow"
等-
"minecraft:render_offsets": (String)
- レンダーのオフセット。
- デフォルトは
"flesh"
らしい - いろいろ試してみたけど特に動かなかったので変える必要なし
-
"minecraft:hover_text_color": (String)
- アイテム名に使用される文字色。
-
使える値:
black
,dark_blue
,dark_green
,dark_aqua
,dark_red
,dark_purple
,gold
,gray
,dark_gray
,blue
,green
,aqua
,red
,light_purple
,yellow
,white
,minecoin_gold
- 1.20.10.21までHoliday Creatorの試験機能でした。
-
よくある質問
Q: ツール(剣、斧、鶴嘴、シャベル、鍬等)を追加することはできますか?
A:1.14.x現在できません。ver.1.16.100から関連するコンポーネントが追加され、これらのアイテムを作成できるようになりました。
Q: 飛びもの(弓、トライデント、雪玉等)を追加することはできますか?
A:1.14.x現在できません。上と同じで、ver.1.16.100から関連するコンポーネントが追加され利用できるようになりました。
いやいやいや完全に忘れていました。申し訳ない....
あと、バイオームの解説も残ってるんでした..バイオームの解説は世間が夏休みに入っているころに出せればいいかなと思ってます(つまり8月)
というかその時期までに書かないと今年のマインコンが来ちゃいますからね速めに書かねば。
あと今後予定してるのはエンティティ解説のリニューアルですね~さすがに古くなってきていると思うのでいい加減変えないと
密度の濃い記事を作りたいな。
あ、忘れてたエフェクトがあるじゃん.....ち...近いうちに...出せればいいと願っておきます....
まだまだ書くことはいっぱいありそうなのでこれからも頑張ります。
ほなまた~ノシ
質問や修正箇所がありましたらTwitterまでお願いします。
- 2019-07-16更新
- 情報の修正をしました
- 2019-08-14更新
- 内容の修正と追加をしました
- 未確認の情報について報告お持ちしております(おい
- 2019-12-15更新
- "remove_effects"の説明を追加しました
- 2020-03-28更新
- よくある質問を追加しました
- 2020-04-09更新
- 内容を一部修正しました
- 2020-05-01更新
- リンクの修正をしました
- 2020-06-30更新
- "minecraft:block"の解説を追加しました
- 内容を一部修正しました
- 2020-08-02更新
- 今後使えるコンポーネントを追加しました
- 2020-08-03更新
- 内容の一部修正をしました
- 2020-08-25更新
- リンクの修正をしました
- デザインの一部変更をしました
- 2021-01-12更新
- 1.16.100にあわせて内容を大幅刷新しました
- 2021-01-13更新
- 内容の修正を行いました
- 2021-01-21更新
- 1.16.210.56で変更された内容の修正と追記を行いました
- 2021-02-04更新
- 1.16.210.58で変更された内容の修正と追記を行いました
- 2021-02-20更新
- 内容を一部修正しました
- 2021-02-20更新
- 不具合についての注意喚起を追加しました
- 2021-03-30更新
- IDに関する説明を変更しました
- ダメージの一覧を更新しました
- 2021-07-24更新
- "minecraft:creative_category"の仕様変更について追加しました
- 2021-08-26更新
- "legacy_id"について情報を追記しました
- "transform_item"の情報を更新しました
- 2021-11-20更新
- "minecraft:seed"の"plant_at_any_solid_surface","plant_at_face"について情報を追加しました
- "minecraft:hover_text_color"の情報を追加しました
- 1.18.10.20にあわせて"saturation_modifier"の説明に追記しました
- "minecraft:use_duration"の情報を更新しました
- 2021-11-30更新
- item_texture.jsonの"textures"説明を修正しました
- minecraft:render_offsetsの"scale"の説明を更新しました
- 2021-12-11更新
- "minecraft:item_storage"の解説を追加しました
- 2022-02-13更新
- "minecraft:projectile"の情報を更新しました
- 2022-03-30更新
- "mob_amount"について追記しました
- 2022-04-10更新
- "minecraft:record"の情報を追加しました
- "minecraft:chargeable"の情報を追加しました
- 2022-04-15更新
- "movement_modifier"の情報を追加しました
- 2022-07-03更新
- "minecraft:display_name"の説明を修正しました
- 2023-05-28更新
- 1.20.10.20更新に合わせて内容を更新しました
- 2023-06-11更新
- "minecraft:max_stack_size"の説明を更新しました
- "minecraft:block_placer"の説明を更新しました
- "minecraft:record"の説明を更新しました
- 2023-06-18更新
- categoryの内容を修正しました
- "minecraft:hover_text_color"の説明を更新しました
- "minecraft:can_destroy_in_creative"の説明を更新しました
- "minecraft:shooter"の説明を更新しました
- "minecraft:projectile"の説明を更新しました
- "minecraft:projectile"の説明を更新しました
- 2023-07-01更新
- "minecraft:creative_category"の説明を更新しました
- "minecraft:render_offsets"の説明を更新しました
- "minecraft:mirrored_art"の説明を更新しました
- "minecraft:ignores_permission"の説明を更新しました
- "minecraft:armor"の説明を更新しました
- "minecraft:wearable"の説明を更新しました
- 名称変更"minecraft:foil"=>"minecraft:glint"
- 2023-07-27更新
- "minecraft:digger"=>"on_dig"の説明を更新しました
- "minecraft:armor"=>"texture_type"の説明を更新しました
- 2023-08-09更新
- "minecraft:enchantable"の説明を更新しました
- "minecraft:mining_speed"の説明を更新しました
- "minecraft:requires_interact"の説明を更新しました
- 2023-08-19更新
- "minecraft:interact_button"の説明を追加しました
- "on_consume"の説明を更新しました
- 2023-09-14更新
- "minecraft:weapon"の説明を追加しました
- "minecraft:on_use"の説明を追加しました
- "minecraft:on_use_on"の説明を追加しました
- 2023-10-27更新
- "tag:名前空間:タグ名"を"minecraft:tags"へ変更しました
- "minecraft:use_duration"を"minecraft:use_modifiers"へ変更しました
- "minecraft:chargeable"の内容を更新しました
- 2023-11-10更新
- "minecraft:digger"=>"on_dig"の説明を更新しました
- 更新
- "minecraft:use_modifiers"の説明を更新しました