この項目はJava Edition限定の要素です。
プレディケート(英:Predicate)は、ルートテーブルや /execute if predicate
コマンド、ターゲットセレクターの引数 predicate
の条件を表現する、技術的なJSON形式のファイルである。
JSONの構造
- ルートタグ。
- condition: 条件のID。
- 条件の他の部分。以下に規定。
conditionに設定可能な値と関連する追加コンテンツ:
- alternative - パラメーターの条件を「or」で結合。
- terms: 「or」を使って結合される条件の一覧。
- 条件。
- terms: 「or」を使って結合される条件の一覧。
- block_state_property - ブロック状態のプロパティを確認。
- block: ブロックID。ブロックが一致しない場合はテストは失敗。
- properties: (任意) ブロックプロパティ名から値へのマップ。全ての値は文字列。ブロックが一致しない場合はテストは失敗。
- damage_source_properties - ダメージ源のプロパティを確認。
- predicate: ダメージ源に適用するプレディケート。
- ダメージの種類に対して利用可能な条件の一覧
- predicate: ダメージ源に適用するプレディケート。
- entity_properties - エンティティのテストプロパティ。
- entity: 条件を確認するエンティティを指定。
this
に設定すると死亡したエンティティや進捗を得たプレイヤー、コンテナを開いたりブロックを壊したりしたプレイヤー、殺害者はkiller
、殺害者がプレイヤーである場合はkiller_player
を使用。 - predicate: エンティティに適用されるプレディケート。進捗と同じ構造を使用。
- flags: 確認するプレディケートフラグ。
- is_on_fire: エンティティが燃えているかどうか。
- is_sneaking: エンティティがスニークしているかどうか。
- is_sprinting: エンティティがダッシュしているかどうか。
- is_swimming: エンティティが泳いでいるかどうか。
- is_baby: エンティティが子供であるかどうか。
- エンティティに対して利用可能な条件の一覧
- flags: 確認するプレディケートフラグ。
- entity: 条件を確認するエンティティを指定。
- entity_scores - エンティティのスコアボードのスコアをテスト。
- entity: 条件を確認するエンティティを指定。
this
に設定すると死亡したエンティティや進捗を得たプレイヤー、コンテナを開いたりブロックを壊したりしたプレイヤー、殺害者はkiller
、殺害者がプレイヤーである場合はkiller_player
を使用。 - scores: 確認するスコア。条件が通過するには指定されたすべてのスコアを通る必要がある。
- A score: キー名はオブジェクト、値は条件の通過に必要な正確なスコア値。
- A score: キー名はオブジェクト、値は条件の通過に必要なスコア値の範囲を指定。
- min: 最小スコア。
- max: 最大スコア。
- entity: 条件を確認するエンティティを指定。
- inverted - パラメーター項の条件を反転。
- term: 否定される条件。
- killed_by_player -
killer_player
エンティティが利用可能かどうかをテスト。- inverse: trueの場合、
killer_player
が利用できないと条件が通過。
- inverse: trueの場合、
- location_check - 現在の位置が一致するかどうかを確認。
- offsetX - 任意の位置へのオフセット
- offsetY - 任意の位置へのオフセット
- offsetZ - 任意の位置へのオフセット
- predicate: 位置に適用されるプレディケート。進捗と同じ構造を使用。
- 場所に対して利用可能な条件の一覧
- match_tool - 道具を確認。
- predicate: アイテムに適用するプレディケート。進捗と同じ構造を使用。
- アイテムに対して利用可能な条件の一覧
- predicate: アイテムに適用するプレディケート。進捗と同じ構造を使用。
- random_chance - 0.0~1.0の乱数が指定された値よりも小さいかどうかをテスト。
- chance: 成功率を0.0~1.0間の数字で。
- random_chance_with_looting - 0.0~1.0の乱数が指定された値よりも小さいかどうかをテスト。
killer
エンティティのドロップ増加のレベルに影響。- chance: 基本成功率。
- looting_multiplier: 基本成功率へのドロップ増加での調整。式は
chance+(looting_level×looting_multiplier)
。
- reference - 別の参照条件(プレディケート)が通過するかどうかをテスト。
- name: 参照されている条件(プレディケート)の名前空間ID。周期的参照は構文解析に失敗。
- survives_explosion - 1/爆発半径の確率でtrueを返す。
- table_bonus - 表から選ばれた確率で通過し、エンチャントレベルでインデックス化。
- enchantment: エンチャントのID。
- chances: エンチャントレベルの確率を0からインデックス化したリスト。
- time_check - 現在の時間を確認
- value: 時間の値をティックで。
- value
- max: 最大値。
- min: 最小値。
- period: 存在する場合、時間はこの値でモジュロ除算される(例えば、24000に設定されている場合、値は一日ごとに動作する)。
- tool_enchantment - 道具のエンチャントをテスト。
- enchantments: 道具の持つエンチャントの一覧。
- エンチャント。
- enchantment: エンチャントの名前空間ID。
- levels: このエンチャントのレベル。
- min: 最小値。
- max: 最大値。
- エンチャント。
- enchantments: 道具の持つエンチャントの一覧。
- weather_check - 現在の天気の状態を確認
- raining: trueの場合、雨の時にのみ条件がtrueと評価される。
- thundering: trueの場合、雷雨の時にのみ条件がtrueと評価される。
歴史
Java Edition | |||||
---|---|---|---|---|---|
1.15 | 19w38a | データパックにプレディケートが追加された。 |
要素 |
| ||
---|---|---|---|
データパック |
| ||
チュートリアル |