しろうとのメモ

しろうとがなんかメモするところ

minecraft 1.16.x から始めた世界で銅鉱石を手に入れるには?

移行した世界はちょっとつらい

minecraft 1.16.x でそこそこあちこち大冒険した状態で minecraft 1.17.x に移行した場合、正の高度にある空間はすでに生成済なので、その高度で銅鉱石を入手する手段がない。
一方 1.18.x までバージョンを上げてしまえば、負の高度に新たな深層空間が生成され、浅い深層空間に銅鉱石が存在する。
ということは、1.16.x の時点で既に踏破済みのエリアから 1.18.x の環境で銅鉱石を獲得するには、この浅いところを掘るしかないのだが、実は埋蔵量が少ない。

1.18.x での銅鉱石の分布は以下のようになっている。
Minecraft 1.18 Ore Distribution: How to Find Every Ore (2022) | Beebom
y=-16からy=48まで増えたあと y=112 まで減るという三角分布になっている。

そのため、既に 1.16.x で生成された世界においては y=-16 から y=-1 までの間にしか存在せず、しかも純粋に 1.18.x で生成された世界で y=48 を掘って得られる個数に比べ、
y=-1 近辺を掘ったところで、せいぜい四分の一以下にしかならないのではないかと考えられる。
(三角分布なら \frac{48-(-16)}{p}=\frac{(-1)-(-16)}{x} とすれば x=(15/64)p だろうから、ピーク p の値と比べて23%程度ではなかろうか、という推測だ。)

実際本当にどれくらいの数が入手出来るのか確かめたい場合、1.16.x でワールドを生成し、確かめたい範囲を中心に少なくとも周囲16チャンク程度を生成してからワールドを保存する。
その後、このワールドを 1.18.x で読みこませて、中心点を基点に 256x256 の範囲を fill replace すれば数えることができるだろう。(流石に手で掘りたくはない。)

対策は?

(0) 新しいワールドでやりなおす

そりゃそうだ。

(1) 頑張ってy=-1以下の浅い領域を掘る

既に相当の範囲を踏破しており、今更超長距離移動は困難である場合、こうならざるを得ないかも知れない。
y=-3あたりの高さをブラマイするとよいようだ。おそらく地下空洞に当たってしまうと減るのだろう。
ただし落雷は待ってはくれない。

(2) 1.16.x 時代に探索していない領域をなんとかして探し出す

個人的にはこちらのほうが無難ではないかと思う。うまくいけば鍾乳洞バイオームに当たり、銅鉱石鉱脈を発見できる可能性もある。

ヒントとして、移行したワールドのデータフォルダを見れば既に生成された領域は分かるので、ファイルが出来ていない部分を頼りに探索を拡げるとよいだろう。

world\region\ フォルダの中を見ると、mcaファイルの一覧がある。
このファイル名は、r.{rx}.{rz}.mca という形式をしており、32チャンク=32*16=512ブロック平方の広さで、すべての高度の情報を含んでいる。
座標で言えば、 512*rx ~ 512*(rx+1)-1 , 512*rz ~ 512*(rz+1)-1までだ。
例えば r.0.1.mca というファイルがあるということは、x:(0~511) z:(512~1023) のエリアが既に生成済みであることを示している。

ファイル名と座標の関係は、以下のWebページでも確認することができる。Filename: を書き換えれば、そのファイル名が有している領域が表示される。
https://dinnerbone.com/minecraft/tools/coordinates/
This region contains blocks 0,0,512 to 511,255,1023 などと表示される部分が見所である。
おそらくツールが古いのでy座標の扱いが1.17.xまでと同じだが、気にしなくてもよいだろう。

ということは、ファイルを名前でソートして数の絶対値が最も小さいところを探し出し、その方向に突っ走ってしまえばいいことになる。
例えばファイル名でソートして、負の数は r.-2.なんとか.mca で、正の数は r.3.かんとか.mca で終わっていた場合、これはx座標軸に沿って
512*(-2)=-1024 より小さい領域(西方向)が未開拓、
512*(3+1)-1 = 2043 より大きい領域(東方向)が未開拓
なので、負の方向(西方向)に走ればよい。
同じように r.どうとか.-4.mca と r.こうとか.1.mca という範囲でファイルがある場合、これはz座標軸に沿って
512*(-4)=-2048 より小さい領域(北方向)が未開拓、
512*(1+1)-1 = 1023 より大きい領域(南方向)が未開拓
なので、正の方向(南方向)に走ればよい。

あるいは、このフォルダをソートして眺めたとき、

r.1.0.mca
r.1.1.mca
r.1.2.mca
r.1.-2.mca
r.1.3.mca
r.1.-3.mca

などとなっていた場合、

r.1.-1.mca

が不足していることに気づけば、(x,z)=(512,-512)~(1023,-1) の範囲が未開拓である可能性が高い、と判断出来るだろう。

(3) 資源ワールドを接続する(自前サーバ運用型マルチ限定。Realmsのままでは不可。)

プレイしているサーバーの管理者にご相談下さい。っていうかこういうのがあるから資源ワールドって大事。
手前味噌で恐縮だが、以下に Multiverse-Core サーバプラグインを用いたワールドの追加方法に関する記事を示す。
MultiVerse-core を入れたときの注意事項(リスポーン地点編) - しろうとのメモ
資源ワールドを作るには - しろうとのメモ

おまけ:マイクラの地下鉱石を採掘するのにおすすめの高さ(1.18 以降)

※以下の内容を独立させて記事を書き直しています。(1.20.2以降対応)
shirohtoda.hatenablog.jp

真っ先に採掘すべき高さは y=16 で、ここで鉄を狙う。
鉄が集まってきて鉄のツルハシを量産出来るようになったら y=-54 を狙いつつ、必要に応じて y=48(銅,石炭)や y=-16(金) に手を出すようにしていけばよいだろう。
燃料を木炭で代用するのであれば、y=48はブラマイ採掘するまでもなく、何かのついでに目に付いた鉱石を、こつこつ採取しておくくらいで賄えるかもしれない。

もう少し細かく説明すると、1.18.x 以降の地下資源採掘におすすめの高さは、鉱石の出現割合をもとにまとめると、だいたい4つになる。
出現割合が最も高い(先頭に示した)もの以外は、矢印方向に行くほど出現割合が高くなるが、相対的に他のものの割合が変化するので、せいぜい±1層(高さ±4相当?)増減する程度でよいだろう。
y= 48 銅・石炭↑・鉄↓
y= 16 鉄・銅↑・石炭↑・ラピスラズリ
( y=0 ラピスラズリ・鉄↑ )
y= -16 金・鉄↑・ラピスラズリ
y= -54 ダイヤモンド↓・レッドストーン↓・金↑
(マグマ溜まりとは異なる)地下マグマ水位はy=-55, 岩盤は y=-60 以下に出現する。

特殊な分布を含むバイオーム:山岳バイオーム・鍾乳洞バイオーム(銅の鉱脈)・高度y=0以下(鉄の鉱脈) どれもレア。
山岳バイオームに当たった場合、石炭 y=136,鉄 y=232,エメラルド y=224 あたりが狙い目。

ダイヤ目的の縦2列ブラマイを行うのであれば、y=-54に加えて、y=-50,y=-58と3層構造を狙うことが出来るだろう。
y=-50は頭上のy=-48から足下のy=-51を探索出来る。一歩先の足下が穴の場合、落下するとマグマなどに落ちるだろう。
y=-54は頭上のy=-52から足下のy=-55を探索出来る。一歩先の足下がマグマになる可能性がある。
y=-58は頭上のy=-56から足下のy=-59を探索出来る。前面や側面からマグマに襲われる可能性がある。(数歩退いて自分の一歩先を掘ればマグマはそこで止まる)

ラピスラズリの最頻出現高度は y=0 なのだが、他の鉱石の出現割合が下がるなど、あまり割に合わなさそうなので、 y=16, y=-16 の採掘ついでくらい、で丁度いいだろうとは思う。
どうしてもラピスラズリを狙いたいときは y=0 を狙うのもよいかもしれない。(個人的にはこの高度でわざわざ採掘したことがない。)