マルチプレイなら『シン・VPS』がおすすめ!

【マイクラ】entity_scoresでスコアボードの値を確認【predicate】

【マイクラ】entity_scoresでスコアボードの値を確認【predicate】

この記事では、Minecraft Java Edition(バージョン1.20.4)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

こんにちは!
マインクラフターのなつめ(@natsume_717b)です。

なつめ

2016年からマイクラを楽しんでおり、最近はクリエイティブモードでコマンドを駆使して遊んでいます!

この記事では、こんな疑問を解決します!

本記事の内容
  • entity_scoresでスコアボードの値を確認

entity_socresを使うことで、predicateの形式でスコアボードの値を検知することができます。

コマンドで値を検知する方法とはまた違ったメリットがあるので、ぜひ参考にしてくださいね。

それでは、見ていきましょう!

本記事で紹介するデータパックのサンプルはGitHubにてダウンロードできます。

entity_scoresでスコアボードの値を確認

predicateの1種であるentity_scoresを使うことで、スコアボードの値を検知することができます。

スコアボードの値を検知するだけならば、コマンドでも可能です。
しかし、predicateの1項目であるためにany_ofやall_ofといった複数のpredicateを書く必要のある項目で活かすことができます。

これがentity_scoresを使う理由ですね。

もちろん書く手間が減る、管理がしやすくなるなどといったメリットもあります。

さて、そんなentity_scoresは以下のように記述します。

{
  "condition": "minecraft:entity_scores",
  "entity": "this",
  "scores": {
    "sample_score": {
      "min": 0,
      "max": 100
    }
  }
}

橙文字のsample_scoreはスコアボードの名称です。
つまり、上記の例ではsample_scoreという名前のスコアボードの値を確認するものになります。

また、検知する値はminとmaxで範囲を指定しています。
上記の場合は0から100といった感じですね。

特定の値だけを検知することも可能で、生成サイトを利用することをおすすめします。

データパックとしての格納位置

entity_scoresはpredicateであるため、jsonファイルに記載します。
そのため、データパックを作成する必要があります。

というわけで、以下がデータパックの構造です。

  • datapack本体
    • data
      • sample
        • predicates
          • test.json
            (このファイルに上述した内容を記載するとします)
    • pack.mcmeta

pack.mcmeta、test.json以外は全てフォルダになります。

また、pack.mcmetaの中身はこちら。

{
  "pack": {
    "pack_format": 26,
    "description": ""
  }
}

実行するコマンド例としては以下の通り。
指示した条件を満たしていれば、ダイヤモンドが1つ付与されるものです。

/execute if predicate sample:test run give @a diamond 1

まとめ

というわけで、今回のまとめです。

ポイント
  • entity_scoresを使用することで、predicateによってスコアボードの値を検知することが可能です。

この記事は以上になります。

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】