ルートテーブル

ルートテーブル(Loot table)

ver1.9から追加
ルートテーブルは、ランダムに出現するアイテム(構造物のチェストの中身、mobのドロップなど)を指定するシステムである。
ファイル形式はJSONで記述されている。

保存場所

ver1.13以降

デフォルト
versions
┗<ver>.jar
  ┗ data
   ┗ minecraft
    ┗ loot_tables
     ┣ blocks:ブロックを壊した時のアイテム(ver1.14から)
     ┣ chests:チェスト
     ┣ entities:ドロップアイテム
     ┗ gameplay:釣り関連

※確認には解凍ツールが必要

自作
各ワールドのファイル
┗ datapacks
 ┗(データパック名)
  ┗data
   ┗ 名前空間(フォルダ)
    ┗loot_tables
     ┗(ルートテーブル名).json
データパックも参照。
loot_tablesフォルダの中にはさらにフォルダを作成してもよい。
なお、名前空間の名称をminecraftとすれば、デフォルトのルートテーブルをそのワールドに限って上書きすることができる。

ver1.12.2まで

デフォルト
versions
┗<ver>.jar
  ┗ assets
   ┗ minecraft
    ┗ loot_tables
     ┣ chests:チェスト
     ┣ entities:ドロップアイテム
     ┗ gameplay:釣り関連

※確認には解凍ツールが必要

自作
各ワールドのファイル
┗data
 ┗ loot_tables
  ┗名前空間(フォルダ)
   ┗(ルートテーブル名).json

loot_tablesフォルダの中にはさらにフォルダを作成してもよい。
なお、名前空間の名称をminecraftとすれば、デフォルトのルートテーブルをそのワールドに限って上書きすることができる。

ルートテーブルの参照

ルートテーブルを参照するときは、次のように書く。
名前空間:ルートテーブル名
loot_tablesフォルダ内にさらにフォルダを作った場合は、次のようにする。
名前空間:フォルダ名/ルートテーブル名
フォルダが複数の場合は以下のようになる。
名前空間:フォルダ名/…/フォルダ名/ルートテーブル名

使用の際に使うNBTタグ

ルートテーブルによってインベントリを持つブロックまたはエンティティ(チェスト、トラップチェスト、ホッパー、チェスト付きトロッコ、ホッパー付きトロッコ、ディスペンサー(ver1.9.1から)、ドロッパー(ver1.9.1から)、シュルカーボックス(ver1.11から)、樽(ver1.14から))の中身およびmobのドロップを指定する際、以下のNBTタグを使用する。

LootTable
LootTable:"minecraft:フォルダ名/ファイル名"
インベントリを持つブロック、エンティティの中身を指定するときに使用

LootTableSeed
LootTableSeed:<value>
確率を算出するための乱数として機能。8バイト整数値

DeathLootTable
DeathLootTable:"minecraft:フォルダ名/ファイル名"
mobのドロップを指定するときに使用

DeathLootTableSeed
DeathLootTableSeed:<value>
確率を算出するための乱数として機能。8バイト整数値

ルートテーブルの記法

+以下の内容についての注意
ルートテーブルの記法の細部については、MOJANG公表のパッチノートと公式Wikiで内容に齟齬がある。
このページでは、原則としてパッチノートの内容に従い、パッチノートの明らかな誤りないし書き忘れと思われる個所は公式Wikiに拠った。
ルートテーブルのJSONの記法を解説する。
特記がないものはver1.9以降のすべてのバージョンで使用可能。それ以降のバージョンで追加・変更されたものはその都度注記する。

{
        "type":"<値>"
        "pools":[
                {
                        "entries":[
                                {
                                        "type":"<種類>",
                                        "name":"<値>",
                                        "children":[{<エントリー>}],
                                        "expand":trueまたはfalse,
                                        "weight":<4バイト整数値>,
                                        "quality":<4バイト整数値>,
                                        "conditions":[
                                                {
                                                        "condition":"<コンディション名>"
                                                        "コンディション固有のタグ":"<値>"
                                                }
                                        ],
                                        "functions":[
                                                {
                                                        "function":"<ファンクション名>",
                                                        "ファンクション固有のタグ":"<値>"
                                                        "conditions":[
                                                                {
                                                                        "condition":"<コンディション名>"
                                                                        "コンディション固有のタグ":"<値>"
                                                                }
                                                        ]
                                                }
                                        ]
                                }
                        ],
                        "rolls":<数値セレクタ>,
                        "bonus_rolls":<数値セレクタ>,
                        "conditions":[
                                {
                                        "condition":"<コンディション名>"
                                        "コンディション固有のタグ":"<値>"
                                }
                        ],
                        "functions":[
                                {
                                        "function":"<ファンクション名>",
                                        "ファンクション固有のタグ":"<値>"
                                        "conditions":[
                                                {
                                                        "condition":"<コンディション名>"
                                                        "コンディション固有のタグ":"<値>"
                                                }
                                        ]
                                }
                        ]
                }
        ],
        "functions":[
                {
                        "function":"<ファンクション名>",
                        "ファンクション固有のタグ":"<値>"
                        "conditions":[
                                {
                                        "condition":"<コンディション名>"
                                        "コンディション固有のタグ":"<値>"
                                }
                        ]
                }
        ]
}

各タグの用途は次の通り。
"type":"<値>"
ver1.14で追加
ルートテーブルが指定する対象を決める(オプション)。可能な<値>は次の通り。

用途
generic 指定なし(デフォルト)
empty 何も生成しないルートテーブルの場合
entity エンティティのドロップを指定する場合
block ブロックを採掘した時に出るアイテムを指定する場合
chest チェスト等の中身を指定する場合
fishing 釣りで得られるアイテムを指定する場合
gift 村人と猫の贈り物を指定する場合
advancement_reward 進捗達成の報酬を指定する場合
barter ver1.16で追加。ピグリンの取引内容を指定する場合

"pools":[{<プール1>},{<プール2>},…]
アイテムの生成を行うまとまり(プール)を指定する。
各プールごとに、そのプールに含まれるアイテム等が確率的に選ばれ、生成される。
このタグの直後の[ ]の直下の{ }が一つのプールとなるので、複数のプールを使いたい場合は{}を中身のタグごとコピーして増やせばよい。

"entries":[{<エントリー1>},{<エントリー2>},…]
プールに含まれるアイテムなど(エントリー)を指定。タグ直後の[ ]の直下の{ }が一つのエントリーを指定する。
エントリーの中のタグは以下の通り。

タグ 用途
type エントリーの種類。何も生成しない場合はempty、
アイテムの場合はitem、
データパックのタグの場合はtag(ver1.14以降)、
ルートテーブルを参照する場合はloot_table、
ブロック固有のアイテムの場合はdynamic(ver1.14以降)、
他の複数のエントリーを参照する場合はgroup(ver1.14以降)、
他の複数のエントリーから1つを選ぶ場合はalternative(ver1.14以降)、
他の複数のエントリーを順番に選んでいく場合はsequence(ver1.14以降)とする。
name typeがitem、tag、loot_table、dynamicの場合に必要。
itemならアイテムID(ver1.13以降はこちらver1.12.2まではこちらを参照)、
tagならデータパックのタグの名前、
loot_tableならルートテーブルのパス、
dynamicの場合、ブロックエンティティ固有のアイテムならcontents、旗・頭の場合はselfとする。
children typeがgroup、alternative、sequenceの場合に必要。
直後の[ ]の中にエントリーを並べる。
expand typeがtagの場合に必要。trueならそのタグに含まれるアイテムのうち1種類が選ばれ、falseならそのタグに含まれるすべての種類のアイテムが選ばれる。
weight アイテムの出やすさ。
quality 「幸運」または「不運」のステータス効果による補正。
(ステータスレベル)×(qualityの値)だけweightの値が増減する。

"rolls":<数値セレクタ>
そのプール内に生成されるエントリー数の合計。
数値セレクタについては以下で解説

"bonus_rolls":<数値セレクタ>
「幸運」または「不運」のステータス効果による"rolls"の値の補正。
(ステータスレベル)×(bonus_rollsの値)だけrollsの値が増減する。

"functions":[{<ファンクション1>}、{<ファンクション2>}、…]
アイテムに対してさらに詳しい指定を行う。指定に使えるファンクションについては以下で解説する。
エントリー、プール(ver1.14以降)、全体(ver1.14以降)の3階層で使用できる。

"conditions":[{<コンディション1>}、{<コンディション2>}、…]
アイテムが生成される条件を設定する。
ファンクションの内部、エントリー、プール(ver1.14以降)の3階層で使用できる。
コンディションについては以下で解説する。

ファンクションの一覧

特記がないものはver1.9以降のすべてのバージョンで使用可能。それ以降のバージョンで追加・変更されたものはその都度注記する。

"function":"apply_bonus",
"enchantment":"<エンチャントID>",
"formula":"binominal_with_bonus_count / uniform_bonus_count / ore_drops",
"parameters":[
        "extraRounds":<4バイト整数値>,
        "probability":<4バイト浮動小数点値>,
        "bonusMultiplier":<4バイト浮動小数点値>
]
ver1.14で追加
エンチャントレベルを反映してアイテムの生成数を変える。エンチャントIDはこちらを参照。

binominal_with_bonus_countの場合:
"enchantment"で指定したエンチャントのレベルをL、"parameters"の"extraRounds"の値をE、"probability"の値をPとすると
二項分布(L+E , P)に従う値を返す。

uniform_bonus_countの場合:
"enchantment"で指定したエンチャントのレベルをL、"parameters"の"bonusMultiplier"の値をBとすると、
0とL×Bの間の任意の数を返す。

ore_dropsの場合:
"enchantment"で指定したエンチャントのレベルをLとすると
もともとのアイテムの生成数にmax(0,random(0,L + 2)-1) +1を掛けた値を返す。
ただしmax(a,b)はaとbのうち大きい方の値を返し、random(a,b)はaとbの間の任意の数を返す。

"function":"copy_name",
"source":"block_entity"
ver1.14で追加
ブロックのカスタムネームを引き継ぐ。
ブロックを採掘したときに出るアイテムを指定する場合にのみ有効。

"function":"copy_nbt",
"source":"block_entity / this / killer / killer_player / direct_killer",
"ops":[
        {
                "source":"<NBTタグのパス>",
                "target":"<NBTタグのパス>",
                "op":"replace / append / merge"
        }
]
ver1.14で追加
NBTタグの内容をコピーする。
sourceで指定したタグからtargetで指定したタグへコピーが行われる。
opでreplaceとすると上書き、appendとするとリストへの追加(コピー先のタグがList型の場合)、mergeとするとタグへの追加(コピー先のタグがcompound型の場合)が行われる。
NBTタグのパスの書き方は、コマンドページの/dataコマンドの解説、または英語版wikiのこちらのページを参照。

sourceの値は、ブロックエンティティの場合block_entity、エンティティを倒したエンティティの場合はkiller、エンティティを倒したプレイヤーの場合はkiller_player、エンティティを直接倒したエンティティの場合はdirect_killer、それ以外の場合はthisとする。
killerとdirect_killerの違いであるが、たとえば矢でエンティティを倒した場合、killerは矢を放ったエンティティ、direct_killerは矢自体となる。

"function":"copy_state",
"block":"<ブロックID>",
"properties":[
        "<ブロックの状態>"
]
ver1.15で追加
ブロックの状態をコピーする。ブロックIDはこちらを、状態についてはこちらを参照。

"function":"enchant_randomly",
"enchantments":[<エンチャントID>]
ランダムなエンチャントを付与する。
enchantmentsタグがある場合はそこに書かれたエンチャントのいずれかが付与され、ない場合はそのアイテムに付与できるすべてのエンチャントが対象となる。
エンチャントIDはこちらを参照。

"function":"enchant_with_levels",
"treasure":trueまたはfalse,
"levels":<数値セレクタ>
アイテムに特定のエンチャントレベルのエンチャントを付与する。
treasureはトレジャーエンチャントを付与するかどうか。
ver1.13.2までは<数値セレクタ>を次の通り読み替える。
<4バイト整数値> / {"max":<4バイト整数値>,"min":<4バイト整数値>}

"function":"exploration_map",
"destination":"<構造物のID>",
"decoration":"<マップアイコンのID>",
"zoom":<4バイト整数値>,
"search_radius":<4バイト整数値>,
"skip_existing_chunks":true / false
ver1.13で追加
白紙の地図を冒険家の地図に置き換える。
destination
その地図が示す構造物の種類を指定する。構造物のIDは以下のとおり。
ID 構造物
bastion_remnant 砦の遺跡
buried_treasure 埋められた宝
desert_pyramid ピラミッド
endcity エンドシティ
fortress ネザー要塞
igloo イグルー
jungle_pyramid ジャングルの遺跡
mansion 森の洋館
mineshaft 廃坑
monument 海底神殿
nether_fossil ネザーの化石
ocean_ruin 海底遺跡
pillager_outpost ピリジャーの前哨基地
ruined_portal 荒廃したポータル
shipwreck 難破船
stronghold 要塞
swamp_hut ウィッチ小屋
village
decoration
地図上で構造物を示すアイコンを指定する。アイコンのIDは以下の通り。
ID 画像 ID 画像
player banner_yellow
frame banner_lime
red_marker banner_pink
blue_marker banner_gray
target_x banner_light_gray
target_point banner_cyan
player_off_map banner_purple
player_off_limits banner_blue
mansion banner_brown
monument banner_green
banner_white banner_red
banner_orange banner_black
banner_magenta red_x
banner_light_blue
zoom
地図の倍率。
search_radius
構造物を探す距離(チャンク単位)
skip_existing_chunks
生成済みのチャンクをスキップするかどうか(オプション)。デフォルトはtrue。

"function":"explosion_decay"
ver1.14で追加
爆発があったときに一定確率でアイテムを消す。

"function":"furnace_smelt"
アイテムを精錬後のアイテムに置き換える。

"function":"fill_player_head",
"entity":"this / killer / killer_player / direct_killer"
ver1.14で追加
プレイヤーの頭を特定のプレイヤーのものに置き換える。

"function":"limit_count",
"limit":<数値セレクタ>
ver1.14で追加
アイテムのスタック数に上限を設ける。

"function":"looting_enchant",
"count":<数値セレクタ>,
"limit":<4バイト整数値>
ドロップ増加のエンチャントに応じてドロップアイテム数を補正する。limitは上限を指定する。
ver1.13.2までは<数値セレクタ>を次の通り読み替える。
<4バイト整数値> / {"max":<4バイト整数値>,"min":<4バイト整数値>}

"function":"set_attributes",
"modifiers":[
        {
                "name":"<Modifier名>",
                "attribute":"<Attribute名>",
                "operation":"addition / multiply_base / multiply_total",
                "amount":<数値セレクタ>,
                "id":"<UUID>",
                "slot":"mainhand/offhand/feet/legs/chest/head" / ["<以上のいずれか>"]
        }
]
Attributeを変更する。Attributeについてはコマンド/データタグ/その他を参照。
ver1.13.2までは<数値セレクタ>を次の通り読み替える。
  <4バイト浮動小数点値> / {"max":<4バイト浮動小数点値>,"min":<4バイト浮動小数点値>}

"function":"set_contents",
"entries":[{<エントリー>}]
ver1.14で追加
インベントリのあるブロックのドロップに内容物を追加する。
内容物の指定は、entriesタグ内にエントリーを並べて行う。

"function":"set_count",
"count":<数値セレクタ>
1スタックあたりのアイテムの個数を指定する。
ver1.13.2までは<数値セレクタ>を次の通り読み替える。
<4バイト整数値> / {"max":<4バイト整数値>,"min":<4バイト整数値>}

"function":"set_damage",
"damage":<数値セレクタ>
アイテムの耐久値を設定する。"damage"で指定した数が1.0で耐久最大、0.0で耐久なしとなる。
ver1.13.2までは<数値セレクタ>を次の通り読み替える。
  <4バイト浮動小数点値> / {"max":<4バイト浮動小数点値>,"min":<4バイト浮動小数点値>}

"function":"set_data",
"data":<4バイト整数値> / {"min":<4バイト整数値>,"max":<4バイト整数値>}
ver1.13で削除
アイテムのデータを指定する。データについてはこちらを参照。

"function":"set_loot_table",
"name":"<ルートテーブルのパス>",
"seed":<4バイト整数値>
ver1.14で追加
アイテムにルートテーブルを付与する。
seedはルートテーブルのシード値。ワールドのシード値とは無関係。

"function":"set_lore",
"lore":["<説明文の1行目>","<説明文の2行目>",],
"entity":"this / killer / killer_player / direct_killer",
"replace":trueまたはfalse
ver1.14で追加
アイテムの説明文を書き換える。"entity"はテキスト中の@sを置き換えるのに使用する。
エンティティを倒したエンティティの場合はkiller、エンティティを倒したプレイヤーの場合はkiller_player、エンティティを直接倒したエンティティの場合はdirect_killer、それ以外の場合はthisとする。
killerとdirect_killerの違いであるが、たとえば矢でエンティティを倒した場合、killerは矢を放ったエンティティ、direct_killerは矢自体となる。
replaceは上書きするかどうか。

"function":"set_name",
"name":"<名前>",
"entity":"this / killer / killer_player / direct_killer"
ver1.13で追加
アイテムの名前を書き換える。"entity"はテキスト中の@sを置き換えるのに使用する(ver1.14で追加)。
エンティティを倒したエンティティの場合はkiller、エンティティを倒したプレイヤーの場合はkiller_player、エンティティを直接倒したエンティティの場合はdirect_killer、それ以外の場合はthisとする。
killerとdirect_killerの違いであるが、たとえば矢でエンティティを倒した場合、killerは矢を放ったエンティティ、direct_killerは矢自体となる。

"function":"set_nbt",
"tag":"<NBTタグ>"
アイテムにNBTタグを付与する。引用符(")は\でエスケープしなくてはいけない。

"function":"set_stew_effect",
"effects":[
        {
                "type":"<エフェクトID>",
                "duration":<4バイト整数値>
        }
]
ver1.14で追加
怪しいシチューのエフェクトを指定。エフェクトIDはこちらを参照。
durationは継続時間。

コンディションの一覧

特記がないものはver1.9以降のすべてのバージョンで使用可能。それ以降のバージョンで追加・変更されたものはその都度注記する。

{
        "condition":"block_state_property",
        "block":"<ブロックID>",
        "property":{<そのブロックの状態>}
}
ver1.14で追加
ブロックの種類および状態に対する条件。ブロックIDはこちらを、ブロックの状態はこちらを参照。

{
        "condition":"damage_source_properties",
        "predicate":{
                "bypasses_armor":trueまたはfalse,
                "bypasses_invulnerability":trueまたはfalse,
                "bypasses_magic":trueまたはfalse,
                "is_explosion":trueまたはfalse,
                "is_fire":trueまたはfalse,
                "is_magic":trueまたはfalse,
                "is_projectile":trueまたはfalse,
                "is_lightning":trueまたはfalse,
                "direct_entity":{<エンティティ共通>},
                "source_entity":{<エンティティ共通>}
        }
}
ver1.14で追加
ダメージの種類に対する条件。

{
        "condition":"entity_properties",
        "entity":"this / killer / killer_player / direct_killer",
        "predicate":{<エンティティ共通>}
}
エンティティに対する条件。
エンティティを倒したエンティティへの条件の場合はkiller、エンティティを倒したプレイヤーへの条件の場合はkiller_player、エンティティを直接倒したエンティティへの条件の場合はdirect_killer、それ以外の場合はthisとする。
killerとdirect_killerの違いであるが、たとえば矢でエンティティを倒した場合、killerは矢を放ったエンティティ、direct_killerは矢自体となる。

ver1.13.2までは以下のようであった。
+クリックして表示

}

{
        "condition":"entity_scores",
        "entity":"thisまたはkillerまたはkiller_playerまたはdirect_killer",
        "scores":{
                "<スコアボードオブジェクト名>":<数値セレクタ>
        }
}
スコアボードの値に対する条件。
エンティティを倒したエンティティへの条件の場合はkiller、エンティティを倒したプレイヤーへの条件の場合はkiller_player、エンティティを直接倒したエンティティへの条件の場合はdirect_killer(ver1.14で追加)、それ以外の場合はthisとする。
killerとdirect_killerの違いであるが、たとえば矢でエンティティを倒した場合、killerは矢を放ったエンティティ、direct_killerは矢自体となる。
ver1.13.2までは<数値セレクタ>を次の通り読み替える。
<4バイト浮動小数点値> / {"max":<4バイト浮動小数点値>,"min":<4バイト浮動小数点値>}

{
        "condition":"killed_by_player",
        "inverse":true / false
}
他のエンティティを倒したプレイヤーがいるか(=エンティティがプレイヤーに倒されたか)を判定。inverseをtrueとすると、真偽が反転する。

{
        "condition":"location_check",
        "offsetX":<4バイト整数値>,
        "offsetY":<4バイト整数値>,
        "offsetZ":<4バイト整数値>,
        "predicate":{<位置共通>}
}
ver1.14で追加
位置に対する条件。ver1.15からはoffsetX,offsetY,offsetZによって調べる位置の場所をずらすことができる。

{
        "condition":"match_tool",
        "predicate":{<アイテム共通>}
}
ver1.14で追加
ツールに対する条件。

{
        "condition":"random_chance",
        "chance":<4バイト浮動小数点値>
}
0~1までの任意の数を生成し、それがchanceに記載した値より小さいときに真となる。
(言い換えれば、chanceの値の確率で真となる)

{
        "condition":"random_chance_with_looting",
        "chance":<4バイト浮動小数点値>,
        "looting_multiplier":<4バイト浮動小数点値>
}
random_chanceに幸運の効果を反映させたバージョン。

{
        "condition":"survives_explosion"
}
ver1.14で追加
爆発が起きたとき、爆発の半径の逆数の確率で真となる。

{
        "condition":"table_bonus",
        "enchantment":"<エンチャントID>",
        "chances":[<各エンチャントレベルに対応する確率>]
}
ver1.14で追加
エンチャントレベル毎に定めた確率で真となる。
chancesタグの中には、エンチャントレベルに応じた確率をレベル0(=エンチャントなし)から順に記述する。

{
        "condition":"time_check",
        "value":<数値セレクタ>,
        "period":<4バイト整数値>
}
ver1.15で追加
現在の時間に対する条件。periodタグがある場合、現在の時間をperiodタグの値で割った余りで判定される。

{
        "condition":"weather_check",
        "raining":true / false,
        "thundering":true / false
}
ver1.14で追加
現在の天候に対する条件。

{
        "condition":"reference",
        "name":"<predicateファイルのパス>"
}
ver1.15で追加
nameに記載したプレディケートが真の時に真となる。
プレディケートについてはこちらを参照。

{
        "condition":"alternative",
        "terms":[
                <コンディション>
        ]
}
ver1.14で追加
termsの中に並べたコンディションのうちいずれか一つが真の時に真となる。

{
        "condition":"inverted",
        "term":<コンディション>
}
ver1.14で追加
termの後ろに記述したコンディションの真偽を反転させる。

数値セレクタ

ver1.14で追加
数値セレクタは以下の3種類である。

{
        "type":"constant",
        "value":<4バイト整数値> / <4バイト浮動小数点値>
}
valueの値を返す。

{
        "type":"uniform",
        "min":<4バイト整数値>または<4バイト浮動小数点値>または<数値セレクタ>,
        "max":<4バイト整数値>または<4バイト浮動小数点値>または<数値セレクタ>
}
minとmaxの間の任意の数を返す。

{
        "type":"binominal",
        "n":<4バイト整数値>または<数値セレクタ>,
        "p":<4バイト浮動小数点値>または<数値セレクタ>
}
二項分布(n,p)に従う値を返す。

共通のタグ

  • アイテム共通
"item":"<アイテムID>" アイテムのID。
ver1.13以降はこちらver1.12.2まではこちらを参照。
"nbt":"<アイテムのデータタグ>" そのアイテムのデータタグを指定。
データタグはこちらを参照。
"tag":"<データパックのタグ>" ver1.13で追加
データパックのタグについてはこちらを参照。
"count":<4バイト整数値>または
"count":{"min":<4バイト整数値>,"max":<4バイト整数値>}
アイテムの個数。
"durability":<4バイト整数値>または
"durability":{"min":<4バイト整数値>,"max":<4バイト整数値>}
アイテムの耐久値。
"enchantments":[{"enchantment":"<ID>","levels":<4バイト整数値>}]または
"enchantments":[{"enchantment":"<ID>","levels":{"min":<4バイト整数値>,"max":<4バイト整数値>}}]
アイテムのエンチャントの種類とそのレベル。
IDについてはこちらを参照。
"stored_enchantments":[{"enchantment":"<ID>","levels":<4バイト整数値>}]または
"stored_enchantments":[{"enchantment":"<ID>","levels":{"min":<4バイト整数値>,"max":<4バイト整数値>}]
ver1.15から有効
エンチャントの本のエンチャントの種類、およびそのレベル。
ver1.14.4まではエンチャントの本もenchantmentsタグを用いる。
"potion":"<ポーションの種類>" ポーションの場合のみ有効。
ポーションの種類は以下の表を参照。

表:ポーションの種類を表す文字列
ポーション 効果 通常 II 延長
未使用のポーション なし empty
水入り瓶 なし water
ありふれたポーション なし mundane
濃厚なポーション なし thick
奇妙なポーション なし awkward
暗視のポーション 暗視 night_vision long_night_vision
透明化のポーション 透明化 invisibility long_invisibility
跳躍のポーション 跳躍力上昇 leaping strong_leaping long_leaping
耐火のポーション 火炎耐性 fire_resistance long_fire_resistance
俊敏のポーション 移動速度上昇 swiftness strong_swiftness long_swiftness
鈍化のポーション 移動速度低下 slowness strong_slowness long_slowness
水中呼吸のポーション 水中呼吸 water_breathing long_water_breathing
治癒のポーション 即時回復 healing strong_healing
負傷のポーション 即時ダメージ harming strong_harming
毒のポーション poison strong_poison long_poison
再生のポーション 再生能力 regeneration strong_regeneration long_regeneration
力のポーション 攻撃力上昇 strength strong_strength long_strength
弱化のポーション 弱体化 weakness long_weakness
幸運のポーション 幸運 luck
タートルマスターのポーション 移動速度低下・耐性 turtle_master strong_turtle_master long_turtle_master
低速落下のポーション 落下速度低下 slow_falling - long_slow_falling
  • 位置共通
"biome":"<バイオームID>" その位置におけるバイオーム
ver1.13以降のバイオームIDはこちらを、
ver1.12.2までのバイオームIDはこちらを参照。
"block":{
        "block":"<ブロックID>",
        "state":{<ブロックの状態>},
        "tag":"<データパックのタグ>",
        "nbt":"<NBTタグ>"
}
ver1.15で追加
その位置に存在するブロック
ブロックIDはこちらを、ブロックの状態はこちらを参照。
"fluid":{
        "fluid":"<液体のID>",
        "tag":"<データパックのタグ>",
        "state":{<状態>}
}
ver1.15で追加
その位置に存在する液体。
"light":{
        "light":<4バイト整数値>または{"max":<4バイト整数値>,"min":<4バイト整数値>}
}
ver1.15で追加
その位置の明るさ。
"smokey":true / false ver1.16で追加
付近に焚火または魂の焚火があるかどうか。
"position":{
        "x":<4バイト整数値>または{"max":<4バイト整数値>,"min":<4バイト整数値>},
        "y":<4バイト整数値>または{"max":<4バイト整数値>,"min":<4バイト整数値>},
        "z":<4バイト整数値>または{"max":<4バイト整数値>,"min":<4バイト整数値>}
}
その位置の座標。
"dimension":"overworld / the_nether / the_end" その位置のディメンション。
"feature":"<構造物のID>" その位置にある構造物。
構造物のIDは以下の表の通り。

表:構造物のID
ID 構造物
bastion_remnant 砦の遺跡
buried_treasure 埋められた宝
desert_pyramid ピラミッド
endcity エンドシティ
fortress ネザー要塞
igloo イグルー
jungle_pyramid ジャングルの遺跡
mansion 森の洋館
mineshaft 廃坑
monument 海底神殿
ocean_ruin 海底遺跡
pillager_outpost ピリジャーの前哨基地
ruined_portal 荒廃したポータル
shipwreck 難破船
stronghold 要塞
swamp_hut ウィッチ小屋
village
  • エンティティ共通
"type":"<エンティティID>" エンティティのID。
ver1.13以降はこちらを、ver1.12.2まではこちらを参照。
"nbt":"<NBTタグ>" エンティティのデータタグ。
こちらを参照。
"team":"<チーム名>" ver1.15で追加
そのエンティティが属するチーム。
"location":{<位置共通>} エンティティのいる場所に対する条件。
"distance":{
        "absolute":{
                "max":<4バイト浮動小数点値>,
                "min":<4バイト浮動小数点値>
        },
        "horizontal":{
                "max":<4バイト浮動小数点値>,
                "min":<4バイト浮動小数点値>
        },
        "x":{
                "max":<4バイト浮動小数点値>,
                "min":<4バイト浮動小数点値>
        },
        "y":{
                "max":<4バイト浮動小数点値>,
                "min":<4バイト浮動小数点値>
        },
        "z":{
                "max":<4バイト浮動小数点値>,
                "min":<4バイト浮動小数点値>
        }
}
プレイヤーから当該エンティティまでの距離。
absoluteは直線距離、horizontalは水平方向、
xはx軸方向、yはy軸方向、zはz軸方向の距離に対する条件となる。
"effects":{
        "<エフェクトID>":{
                "amplifier":<4バイト整数値> / {"min":<4バイト整数値>,"max":<4バイト整数値>},
                "duration":<4バイト整数値> / {"min":<4バイト整数値>,"max":<4バイト整数値>}
        }
}
当該エンティティに付与されているエフェクト。
エフェクトIDはこちらを参照。
"equipment":{
        "mainhand":{<アイテム共通>},
        "offhand":{<アイテム共通>},
        "head":{<アイテム共通>},
        "chest":{<アイテム共通>},
        "legs":{<アイテム共通>},
        "feet":{<アイテム共通>}
}
ver1.14で追加
当該エンティティの装備しているアイテム。
"flags":{
        "is_on_fire":true / false,
        "is_sneaking":true / false,
        "is_sprinting":true / false,
        "is_swimming":true / false,
        "is_baby":true / false
}
ver1.14で追加
エンティティに対する条件。
is_on_fireは火がついているかどうか、
is_sneakingはスニークしているかどうか、
is_sprintingは走っているかどうか、
is_swimmingは水中にいるかどうか、
is_babyは子供かどうか。
"player":{
        "advancements":{
                "<進捗のパス>":true / false,
                "<進捗のパス>":{
                        "<条件の名前>":true / false
                }
        },
        "gamemode":"survival / creative / adventure / spectator",
        "level":<4バイト整数値>または{"max":<4バイト整数値>,"min":<4バイト整数値>},
        "recipes":{
                "<レシピのパス>":true / false
        },
        "stats":[
                {
                        "type":"<統計の名前空間>",
                        "stat":"<統計のID>",
                        "value":<4バイト整数値>または{"max":<4バイト整数値>,"min":<4バイト整数値>}
                }
        ]
}
ver1.15で追加
エンティティがプレイヤーの場合に使える条件。
advancements
進捗、または進捗解除に必要な特定の条件を取得しているかどうか。
gamemode
プレイヤーのゲームモード
level
プレイヤーの経験値レベルに対する条件。
recipes
そのレシピが解放されているかどうか。
stats
統計の値に対する条件。
名前空間とIDについてはこちらを参照。
"targeted_entity":{<エンティティ共通>} 当該エンティティが攻撃したエンティティに対する条件。
"vehicle":{<エンティティ共通>} 当該エンティティが乗っているエンティティに対する条件。

編集用コメント

コメント欄はMirahezeへの移行に伴い削除されます。
今後はMinecraft Japan Wiki提供Discordサーバーをご利用ください。
最終更新:2021年04月20日 10:30