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

【マイクラ】random_chance_with_lootingで確率操作【predicate】

【マイクラ】random_chance_with_lootingで確率操作【predicate】

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

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

なつめ

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

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

本記事の内容
  • random_chance_with_lootingでドロップする確率を変更する
  • 実際の例

random_chance_with_lootingはchanceという単語が含まれている通り、確率に関するものです。

具体的には、「ドロップ増加で倒した場合を含めて、アイテムのドロップ率を指示する項目」となっています。

詳しく解説しているので、ぜひ参考にしてくださいね。

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

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

random_chance_with_lootingでドロップする確率を変更する

random_chance_with_lootingを使うことで、ドロップ率を操作することが可能です。

具体的には、ドロップ増加の効果が付与されているアイテムを用いてエンティティを倒した際に、ドロップ率が上がります。

ドロップ増加はドロップする数を増やす効果もありますが、今回はドロップする確率を増やすものになります。

計算式としては、以下の通り。

chance + (looting_level × looting_multiplier)

looting_levelがドロップ増加のレベルを指します。
ほか2つのchanceとlooting_multiplierはこの後紹介するjsonファイルに記述するものですので、任意の値にすることが可能です。

例えば、chanceを0.01、looting_multiplierに0.33という値を指示したとしましょう。
この場合はドロップ増加がレベルⅢであれば、式に当てはめるとピッタリ1となるはずです。

この1は100%を示すので、必ずドロップするようになるわけですね。

0~1で示すため、1だと100%、0.5だと50%といった扱いになります。

仮にドロップ増加がレベルⅡだとしたら、約67%の確率でドロップします。

それでは、実際のファイル内容などを見ていきます。

実際の例

random_chance_with_lootingはエンティティのドロップに関する項目ですので、ルートテーブルを作成します。

要はデータパックを作成して、エンティティの死亡時に適用されるルートテーブルを上書きする形で作成するわけですね。

というわけで、以下のような構造のデータを作成します。

  • datapack本体
    • data
      • minecraft
        • loot_tables
          • entities
            • pig.json
    • pack.mcmeta

pack.mcmetaとjsonファイル以外は全てフォルダになります。

また、pack.mcmetaに記述する内容はこちら。

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

今回はブタのドロップ品を変えるので、pig.jsonにしています。
記述内容としては以下の通り。

{
    "type": "minecraft:entity",
    "pools": [
      {
        "rolls": 1,
        "entries": [
          {
            "type": "minecraft:item",
            "name": "minecraft:emerald"
          }
        ],
        "conditions": [
          {
            "condition": "minecraft:random_chance_with_looting",
            "chance": 0.01,
            "looting_multiplier": 0.33
          }
        ]
      }
    ]
  }

chanceやlooting_multiplierの値は前項の説明で用いたものと合わせました。
要するにこの2点を変更すれば、確率を弄れます。

また、ドロップ品はエメラルドに変更しているので、変化が分かりやすいです。

まとめ

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

ポイント
  • random_chance_with_lootingはドロップ増加で倒した場合の確率も含めて、ドロップする確率を調整できる。

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

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