プレディケート

提供: Minecraft Wiki

2020年9月7日 (月) 11:38; Fusion thermonucleaire (トーク | 投稿記録) による版(日時は個人設定で未設定なら UTC)

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索
Information icon.svg
この項目はJava Edition限定の要素です。

プレディケート(英:Predicate)は、ルートテーブル/execute if predicate コマンド、ターゲットセレクターの引数 predicate の条件を表現する、技術的なJSON形式のファイルである。

JSONの構造[編集 | ソースを編集]

  • ルートタグ。
    •  condition: 条件のID
    • 条件の他の部分。以下に規定。

 conditionに設定可能な値と関連する追加コンテンツ:

  • alternative - パラメーターの条件を「or」で結合。
    •  terms: 「or」を使って結合される条件の一覧。
      • 条件。
  • block_state_property - ブロック状態のプロパティを確認。
    •  block: ブロックID。ブロックが一致しない場合はテストは失敗。
    •  properties: (任意) ブロックプロパティ名から値へのマップ。全ての値は文字列。ブロックが一致しない場合はテストは失敗。
  • entity_properties - エンティティのテストプロパティ。
    •  entity: 条件を確認するエンティティを指定。thisに設定すると死亡したエンティティや進捗を得たプレイヤー、コンテナを開いたりブロックを壊したりしたプレイヤー、殺害者はkiller、殺害者がプレイヤーである場合はkiller_playerを使用。
    •  predicate: エンティティに適用されるプレディケート。進捗と同じ構造を使用。
      •  flags: 確認するプレディケートフラグ。
        •  is_on_fire: エンティティが燃えているかどうか。
        •  is_sneaking: エンティティがスニークしているかどうか。
        •  is_sprinting: エンティティがダッシュしているかどうか。
        •  is_swimming: エンティティが泳いでいるかどうか。
        •  is_baby: エンティティが子供であるかどうか。
      • すべてのエンティティに共通するタグ テンプレート:Nbt inherit/conditions/entity/templateを参照
  • entity_scores - エンティティのスコアボードのスコアをテスト。
    •  entity: 条件を確認するエンティティを指定。thisに設定すると死亡したエンティティや進捗を得たプレイヤー、コンテナを開いたりブロックを壊したりしたプレイヤー、殺害者はkiller、殺害者がプレイヤーである場合はkiller_playerを使用。
    •  scores: 確認するスコア。条件が通過するには指定されたすべてのスコアを通る必要がある。
      •  A score: キー名はオブジェクト、値は条件の通過に必要な正確なスコア値。
      •  A score: キー名はオブジェクト、値は条件の通過に必要なスコア値の範囲を指定。
        •  min: 最小スコア。
        •  max: 最大スコア。
  • inverted - パラメーター項の条件を反転。
    •  term: 否定される条件。
  • killed_by_player - killer_playerエンティティが利用可能かどうかをテスト。
    •  inverse: trueの場合、killer_playerが利用できないと条件が通過。
  • location_check - 現在の位置が一致するかどうかを確認。
    •  offsetX - 任意の位置へのオフセット
    •  offsetY - 任意の位置へのオフセット
    •  offsetZ - 任意の位置へのオフセット
    •  predicate: 位置に適用されるプレディケート。進捗と同じ構造を使用。
  • match_tool - 道具を確認。
  • 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: 最大値。
  • weather_check - 現在の天気の状態を確認
    •  raining: trueの場合、雨の時にのみ条件がtrueと評価される。
    •  thundering: trueの場合、雷雨の時にのみ条件がtrueと評価される。

歴史[編集 | ソースを編集]

Java Edition
1.1519w38aデータパックにプレディケートが追加された。