地上判定検証
1.16で地上(地表・サーフェス)判定の条件が変わったので検証してみました
モンスターの密度上限
地上判定の話に入る前にモンスターの密度上限について確認しておきます
wikiによると"9×9チャンクあたりのmobの数に上限が設けられており、モンスターの場合は地上に8体、地下に8体以上存在すると自然にスポーンしなくなる"というようなことが書かれています
試しに1チャンク(X0,Z0〜X15,Z15)の範囲だけ湧くようにして3層の湧き槽を作って検証してみると、地上は8体、地下は中段と下段合わせて8体スポーンすることを確認できました
実は地下が湧ききっていないときに地上に9体以上スポーンすることがありました(地上で余分に湧いた分、地下は湧かなくなる)
バグなのか仕様なのかはわかりませんが、今回の検証では数はあまり関係ないのでスルーします
地上判定を地下に移す
1.14では以下の条件が揃うと地上と判定されました
- 高度が最も高い不透過ブロック(氷のようにmobがスポーン可能な透過ブロックも含む)
- スポーンできる空間がある
条件に明るさは関係ないので、日光や照明で湧き潰されていても地上判定は変わりません
ただし、透過ブロックで湧き潰せば2つ目の条件に引っかかるので、次に条件が当てはまるブロックに地上判定が移ります
地上の湧き槽が日中でも暗くなるので、これを利用して効率の良いトラップを作ることができました
しかし、1.16では同じようにしても判定が移らなくなりました
原因はおそらく、2つ目の"スポーンできる空間がある"という条件が無くなったためだと思われます
つまり、"高度が最も高い不透過ブロック"であれば、スポーンできるかは関係なく地上判定されるので、地上判定させたいブロックの上方向に不透過ブロックがないようにしなければなりません
よって、湧き槽の天井は透過ブロックのみで作る必要があります
ちなみにゾンビは地下判定された場所にはスポーンしないので、ゾンビがスポーンした場所は地上という見分け方法があります(1.16.1現在。今後のアプデで地下にもスポーンするようになるみたいです)
地上判定を移すことができる他の透過ブロックは以下の通り(一部紹介)
耕地は実際に地上判定を利用したスライムトラップの天井に使っています
また、ガラス+水のように透過ブロックであれば重ねても大丈夫です
というかびっくりしたのですが、逆さの階段ブロックで湧き潰しできるのは初めて知りました
上付きのハーフブロックは湧くのに何故?っていう感じです
建築の幅が広がりそうですが、逆さ階段の上はスポーンするものと思い込んでいたので、湧き潰しに使うのは躊躇しますねw
例外として、ハーフブロックだけで天井を作ったり、ハーフブロックとカーペットを天井の天辺に設置すると判定を移せません
カーペットはともかくハーフブロック(上付き・下付き)を天井の一部に使いたい場合は、他の透過ブロックをハーフブロックの上に設置すると判定が移ります
日中もスポーンさせるには
透過ブロックは日光をそのまま通すので、日中は湧き槽が湧き潰されてしまいます
スライムのように明るくてもスポーンするmobがターゲットの場合は良いのですが、暗いところでスポーンするmobがターゲットの場合は日中でも暗くないと困ります
そこで、明かりを減衰させるブロックを使います
いくつかあるのでそれぞれ紹介していきます
<葉っぱ>
日光が葉っぱを通ると-1減光し、通過したあとも1ブロックごとに-1減光します
これを利用して床から8以上の高さに葉っぱで天井を作ると、モンスターが湧く暗さになります
蜘蛛の巣とハーフブロックも同じように減光します
<水>
水は-2減光するので重ねるか、高い位置に水を設置することで湧き層を暗くすることができます
<氷>
氷は-3減光しますが、氷の上はmobがスポーンしてしまうので他の透過ブロックで湧き潰す必要があります
調合台、大釜、ホッパーも同じように減光します
まとめ
今回は例外もあってややこしいですがまとめてみますと、
<地上判定の条件>
- 高度が最も高い不透過ブロック(氷のようにmobがスポーン可能な透過ブロックも含む)
- スポーンできる空間がある
→(1.16より)スポーンできる空間の有無は問わない - 明るさに依存しない
トラップ作りで地上判定の湧き槽を作りたい場合は、天井を作らないor天井を透過ブロックのみ(例外として天井の天辺にハーフブロックとカーペットはNG)にすることで条件を満たせます
日中は日光で湧き槽が湧き潰されてしまうので、日中も暗くしたい場合は明かりを減衰させるブロック(葉っぱ、水、氷など)で天井を作ると昼夜稼働できるようになります
ということで、ワールドで作ったスライムトラップも一部壊れたので次回に修正したいと思います