noshi’s diary

ゲームの事、映画やドラマ、思いついた事、プログラミングの事、雑記的なことを書いています

いつの間にやら変わっているタラ・鮭が湧く高さについて検証 マイクラ統合版1.19

こんにちわ。

今回はマイクラ統合版1.19におけるタラや鮭の湧く高さについて、スポーンルールと照らし合わせて実際に検証してみたところ、意外な発見?がありましたので、そのことについて触れようと思います。

検証結果は、タラや鮭のトラップづくりにも役に立つかと思いますので、参考にしてみてください。

1.18.0より前のタラが湧く高さ

1.18より前は、タラが湧く高さは特にスポーンルール(minecraft:height_filter)に定義されておらず、スポーン条件下であれば、どの高さでも湧くものでした。 湧く高さはソースコード上でminecraft:height_filterで定義されます。

 "minecraft:spawn_rules": {
    "description": {
      "identifier": "minecraft:cod",
      "population_control": "water_animal"
    },
    "conditions": [
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_underwater": {},

        "minecraft:distance_filter": {
          "min": 12,
          "max": 32
        },
        "minecraft:weight": {
          "default": 75
        },
        "minecraft:density_limit": {
          "surface":20
        },
        "minecraft:herd": {
          "min_size":4,
          "max_size":7
        },

        "minecraft:biome_filter": [
          {"test": "has_biome_tag", "operator":"==", "value": "ocean"},
          {"test": "has_biome_tag", "operator":"!=", "value": "warm"}
        ]
      }
    ]
  }

ご覧のとおり、ソースコードにはタラの湧く高さは記述されていません。


海外wikiでも1.18.0より前におけるタラの湧く高さについては特に記載されていませんでした。
   

統合版

タラは、プレイヤーから 12 ~ 32 ブロック離れた通常の海、冷たい海、凍った海、ぬるい海、およびそれらの深海の変種で、4 ~ 7 のグループで水中にスポーンします。さらに、タラは表面にのみ産卵します。つまり、スポーン位置の上に非固体ブロックがあるスポーン可能なブロックがあってはなりません。

minecraft.fandom.com    

現バージョン1.19(1.18.0以降)におけるタラが湧く高さ

ところが、1.18.0以降、タラの湧く高さが変更になりました。 以下は1.18.0以降のタラのスポーンルールのソースコードです。 minecraft:height_filterというところで0~64と定義されています。 このスポーンルールは、現バージョンの1.19でも同じです。

"minecraft:spawn_rules": {
    "description": {
      "identifier": "minecraft:cod",
      "population_control": "water_animal"
    },
    "conditions": [
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_underwater": {},

        "minecraft:distance_filter": {
          "min": 12,
          "max": 32
        },
        "minecraft:weight": {
          "default": 75
        },
        "minecraft:density_limit": {
          "surface":20
        },
       "minecraft:height_filter": {
          "min": 0,
          "max": 64
        },
        "minecraft:herd": {
          "min_size":4,
          "max_size":7
        },

        "minecraft:biome_filter": [
          {"test": "has_biome_tag", "operator":"==", "value": "ocean"},
          {"test": "has_biome_tag", "operator":"!=", "value": "warm"}
        ]
      }
    ]
  }


海外wikiでは1.18アップデートのページに変更ログとして記載されていますが、現在のバージョンのソースコード上ではY=0~Y=64がタラの湧く高さです。つまり、まだwikiにはこの点が追記されていません。

1.18以降における湧く高さの変更のログ

タラが湧く高さを実際に検証


ソースコードwikiで違いがあることから、タラが湧く高さを実際に検証してみました。 検証は9チャンク分をすべて水抜きして行いました。

検証は周囲9チャンク分を水抜きして実施


立った場所がY=0の高さの場合、湧きませんでした。

Y=0

立った場所がY=1の高さの場合は湧きました。

Y=1



タラが湧く高さのMAXの値はY=64とありますが、Y=65でも調べてみると、ご覧のとおり湧きます。

Y=65

Y=66も念のため、検証してみると、こちらは湧きません。

Y=66

この検証では座標表示上、タラは1~65まで湧くという結果でした。

1.18より前の鮭が湧く高さ

海洋バイオームでタラと一緒に湧く鮭についても見ていきます。 1.18より前、鮭はタラと同様、湧く高さは定義されておらず、条件さえあえば、どの高さでも湧く水生モブでした。 以下は海外wikiに記載されていた1.18より前の鮭のスポーンルールです。

岩盤版
サーモンは、プレイヤーから 12 ~ 32 ブロック離れた水中でスポーンします。サーモンは、生ぬるい、冷たい、通常の、凍った海、その深い変種、川 (凍った川を含む) で 3 ~ 5 匹のグループで産卵します。さらに、サーモンは水面にスポーンします (つまり、スポーン位置の上にスポーン可能なブロックがあり、その上に非固体ブロックがあってはなりません)。サーモン スポーンには、小さいサイズ、通常のサイズ、大きいサイズがあります。31.5% が小さいスポーン、52.6% が通常のスポーン、15.7% が大きいスポーンです。

minecraft.fandom.com

特に湧く高さが記載されていません。 1.18より前の鮭のスポーンルールのソースコードを確認しても、鮭の湧く高さ(minecraft:height_filter)に関する記述は見当たりません。

"minecraft:spawn_rules": {
    "description": {
      "identifier": "minecraft:salmon",
      "population_control": "water_animal"
    },
    "conditions": [
      {
        "minecraft:density_limit": {
          "surface":10
        },
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_underwater": {},

        "minecraft:distance_filter": {
          "min": 12,
          "max": 32
        },
        "minecraft:weight": {
          "default": 26
        },
        "minecraft:herd": {
          "min_size":3,
          "max_size":5
        },

        "minecraft:biome_filter": [
          {"test": "has_biome_tag", "operator":"==", "value": "ocean"},
          {"test": "has_biome_tag", "operator":"!=", "value": "warm"}
        ]
      },
      {
        "minecraft:density_limit": {
          "surface":4
        },
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_underwater": {},

        "minecraft:distance_filter": {
          "min": 12,
          "max": 32
        },
        "minecraft:weight": {
          "default": 16
        },
        "minecraft:herd": {
          "min_size":3,
          "max_size":5
        },
    
        "minecraft:biome_filter": [
          {"test": "has_biome_tag", "operator":"==", "value": "river"}
        ]
      }
    ]
  }

   

現バージョン1.19(1.18.0以降)における鮭が湧く高さ

  現バージョン1.19における鮭が湧く高さは、海と河によって異なります。

河はY=50~Y=64で、海はY=0~Y=64です。

スポーンルール(minecraft:height_filter)にもそのように定義されています。

 "minecraft:spawn_rules": {
    "description": {
      "identifier": "minecraft:salmon",
      "population_control": "water_animal"
    },
    "conditions": [
      {
        "minecraft:density_limit": {
          "surface":10
        },
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_underwater": {},

        "minecraft:distance_filter": {
          "min": 12,
          "max": 32
        },
        "minecraft:weight": {
          "default": 26
        },
        "minecraft:height_filter": {
          "min": 0,
          "max": 64
        },
        "minecraft:herd": {
          "min_size":3,
          "max_size":5
        },

        "minecraft:biome_filter": [
          {"test": "has_biome_tag", "operator":"==", "value": "ocean"},
          {"test": "has_biome_tag", "operator":"!=", "value": "warm"}
        ]
      },
      {
        "minecraft:density_limit": {
          "surface":4
        },
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_underwater": {},

        "minecraft:distance_filter": {
          "min": 12,
          "max": 32
        },
        "minecraft:weight": {
          "default": 16
        },
        "minecraft:height_filter": {
          "min": 50,
          "max": 64
        },
        "minecraft:herd": {
          "min_size":3,
          "max_size":5
        },
    
        "minecraft:biome_filter": [
          {"test": "has_biome_tag", "operator":"==", "value": "river"}
        ]
      }
    ]
  }


 

鮭の湧く高さについて、少し検証してみます。

Y=10

Y=10

Y=20
Y=20

Y=30
Y=30

Y=40 ちょっと見ずらいですが鮭は奥のほうにいます。
Y=40

という結果でした。

検証結果

検証の結果は、ソースコードではY=0〜Y=64であるものの、座標表示上ではY=1からY=65まで、タラと同様に鮭もスポーンしたという結果です。

ソースコードにおけるminecraft:height_filterで定義する数値の基準が単純にプレイヤーの足元のブロックを基準としていないのか、今回の検証が間違っているのかわかりません。

ただ、海底のY=1付近でタラや鮭のトラップを作ることは、水抜き等を考えると、なかなか大変な労力です。 労力面、時間的な面からすると、タラやさけのトラップはやはり海面付近につくることに落ち着くかと思います。

今回は以上です。最後までありがとうございました。それではまた~。