2020年5月31日日曜日

Realms: スライムトラップ(シンプル、レッドストーンやアイアンゴーレム無しで毎時10,500スライムボール!)

どうも。ころすけです。

前回は30分でできるガーディアントラップを作りましたが、今回はそのまぁまぁ近くにスライムトラップを作ります。(Java Edition 1.15.2、Realmsにて)

完成後の稼働状況を示すスクショをまず載せます。

今回のコンセプトは
  • 仕組みがシンプル(レッドストーンやトロッコやパワードレールなど複雑化するものを極力さける)
  • 冒険初期でもまぁ頑張れば何とかなる程度のリソースで作る
  • それなりの性能は出すように頑張る(サバイバルで)
と言うような感じで作ります。

シンプルにするために、ドロップアイテム(スライムボール)の回収は全て水流で行うようにして、ホッパーを敷き詰めたり、アイテム回収用のトロッコを使ったりしないような仕組みにしました。水流で回収を行うための代償(?)としては、落下ダメージが利用できない点がありますが、それでもシンプルさを優先しました。

また、冒険初期でも何とかなるリソースという事で、アイアンゴーレムは使わない設計にしました。(ただし後でアイアンゴーレムを導入して性能アップが可能な設計にはしてありますが…)

現地調達可能なブロック(土、石、木など)以外で、必要なブロックは大凡以下のような感じです。
 ガラスブロック x 40スタック程度
 マグマブロック x 90個
 ソウルサンド x 2個
 氷塊ブロック x 16個
 フェンスゲート x 10個
 ホッパー x 2個
 チェスト大 x 1個
 糸 x 184個 (これはなくてもOKですが、あったほうが性能が20−30%良くなる)

あとは湧き潰し用の松明と、もし水中も明るくするならば水中でも使えるジャックオランタン、シーランタン、ランタンなどの光源が別途必要です。

今回のトラップで「それなりの性能」を出すために…湧き潰しについてまず考えました。 今までにスライムトラップは何度も作っているのですが、サバイバルでスライムトラップの性能を出すために最も頑張らなきゃいけないのが 湧き潰し です。 湧き潰しがよくできていれば「それなりの」性能も自ずとついてくるはずと考えて、深海バイオームの孤島にトラップを作る事にしました。 (周辺が水没した状況なので、湧き潰しが楽だろうと考えました)

そこで、まず、深海バイオームに行き、ボートで島を探しはじめました。 条件として、島の周辺がすぐに深くなっているような(遠浅の反対のイメージ)、そんな島があったら、上陸して、座標を調べ、Chunkbaseのスライムファインダーを使って、その島にスライムチャンクがあるかどうかを調べました。

孤立していて良さそうな島があっても、そこにスライムチャンクがなければ使えません。

 いくつかの島を巡っていると…

やっとスライムチャンクが含まれる島が見つかりました。
(以下、スライムチャンクは鉄ブロックの柱でマーキング)

今回作るトラップは、スライムチャンクとその周り3ブロックを岩盤まで露天掘りするので、まず最初に、シーランタンで露天掘りするエリアの外枠(24x24)をマーキングしました。(露天掘りするのはその内側なので22x22)

以下に今回作るスライムトラップの参考図を示します。(クリックで大きく見れます)

最初に採掘が楽になるように、チャンクの中心付記で岩盤のすぐ上(Y=5)まで穴を開け、ビーコンを設置(採掘速度上昇 II)しました。後は(効率強化Vのダイヤツルハシで)ひたすらどんどん掘るだけです。 (冒険初期だとビーコンがないので若干大変かもしれませんが、まぁそこは頑張るしかありません…)

途中、洞窟があった場合は、露天掘りは一時中断して、湧き潰しを優先的に行うようにしました。

ある程度まで掘り進んだ時点で、スライムが湧くのを確認できたので、まぁ一安心です。(過去に何度かスライムチャンク間違いをやらかしてますから…)

岩盤がでてくる層(Y=5)まで彫り抜きました。

その後も、Mobの音や声が少しでも聞こえたら、優先的に、入念に湧き潰しを行いました。

結構湧き潰しを頑張った後で、先程露天掘りしたエリアに出てみると、結構な数のMobが湧いています。 ここにこれだけ湧いているという事は、湧き潰しがいい感じに出来ているのだろう、とこの時点では満足していました。(まだまだ湧き潰しはこの後ももっと沢山やることになります…)

湧き潰しもある程度できた(とこの時点では思い込んでいた)ので、スライムの処理場所から作り始めました。 岩盤層(Y=5)のすぐ上の層をまず作ります。(参考図参考)

こんな感じでスライムチャンク内には土ブロックを設置しました。ここの土ブロックは何のブロックでもOKです。

こんな感じになります。

その上の層を作ります。この層もスライムチャンクは土ブロック(か何か別のブロックでもOK)をもう一段積み上げます。(つまりスライムチャンク部分のY=6とY=7は全て土ブロック) またガラスブロックの列で最も内側の一列は上に積み上げます。この部分はスライムが湧きエリアから脱出しない目的で作るものです。この一列は透過ブロックで且つスライムが逃げない目的を果たせれば、ガラス以外のブロック(例えば階段)等でもOKです。 一番下の湧き層はY=8に作ります(下記画像では石レンガブロックを使っています)

こんな感じになります。

次にマグマブロックの上に水流を作ります。片側の端に水源を設置します。

こんな感じに水流が発生します。

その水流が届かなくなった位置にあるマグマブロックを壊して…。

代わりに氷塊ブロックを設置し、その上に開いたフェンスゲートを設置します。

その先に水源を設置して、水流がそのまま続くようにします。

水流はガラスブロック部分(以下参照)まで到達するので…

そこのガラスブロックを壊して、氷塊ブロックを設置します。

そして、設置した氷塊ブロックのすぐ上に上付きハーフブロックを設置します。この上付きハーフブロックの目的は、スライム(大、中、小)がここを通り抜けないようにする事と、マグマブロックで昇天したスライムがドロップするスライムボールを通過させる事です。

次に、通り抜けてきたスライムボールをここから更に運ぶための水流を作ります。

その水流の勢いがある程度残っている位置(以下では水流到達点の1つ手前)のブロックをガラスから氷塊ブロックに変更し…

その上に先程と同様に開いたフェンスゲートを設置します。

そこから更に水流を延長します。

反対側も(ミラーイメージのような感じで)同じように行います。

そうすると、両方向から来た水流が、以下のようにぶつかるので、中心の2ブロックを外壁方向に掘って、両方向からぶつかった水流が外壁方向に向かうようにします。

数ブロック先に氷塊ブロックと開いたフェンスゲートを設置します。

その更に先にソウルサンドによるアイテム(上昇)エレベータを作っていきます。

水流が全てうまく行っている状況を確認したら、ガラスブロックで蓋をしておきます。

水流を設置しなかった反対側は特に蓋は必要ありません。(以下)

まず、湧き層が一層だけの状態で、試運転をしたかったので、湧き層の両横に設置してるガラスの壁の高さが湧き層の高さ+2ブロック以上になるようにしました。(以下の画像では+3ブロックまで積み上げています)

上から見るとこんな感じです。マグマブロックの上の水流は奥から手前に向かって流れています)

先程設置したソウルサンドの位置を確認し、地表からそこまで彫り抜きました。

そして今度は天空の待機場所付近まで水流エレーベータの枠を延長しました。(ガラスブロックを使いましたが、丸石ブロックなど他のブロックでもとOKです)

待機場所はスライムチャンクの真上ではなく、隣接するチャンクのY=130に作ります。(真上に作ってしまうと、スライムの湧き効率が下がってしまうからです) また、高い場所に待機場所を設置するのは、地上、海底、及び地下の湧き潰しの範囲をなるべく狭めるためです。

スライムボールはアイテムエレベーター(ソウルサンド式)で待機場所付近まで運ばれるようにし、最後にホッパー(x2個)で回収するようにしました。

その後も、いろいろなところから聞こえてくるMobの音を頼り、湧き潰しを頑張りました。

島も全て取り壊して(平面化して)、全面に松明を設置しました。

待機場所で夜間の試運転をしていると、海の中にドラウンドがぽつぽつ湧いているのがわかりました。

そこで、島周辺の海の中にシーランタンを置いて行きました。 完全な湧き潰しは無理でも、少しはドラウンドの湧きを軽減できるだろうとの目論見です。

できました。

その後、待機場所で取得アイテムを見てみると、何故か骨が…。

しばらく調査した結果、原因は氷塊ブロックの1箇所の明るさがレベル7になっていた事でした。(7はぎりぎりスケルトンなどのMobが湧くレベル)

近くの壁をシーランタンにして解決しました。

その後も、海底を泳いだり、歩いたりしながら、コウモリやMobの声や音が聞こえるたびに、その場所を掘って、海底より更に下を入念に湧き潰していきました  (廃坑もありました…)

湧き潰しをかなり頑張って、もうこれ以上やりたくない、となった状態で、パフォーマンスを測ってみました。(湧き層はこの時点ではまだ一層)

Y=130の待機場所で一時間待機した結果、スライムボールが約3500個(ラージチェスト1個分+ちょっと)取れていました。 今までの(スライムトラップ作成の)経験から、層を(フルに)増やしたら、この数倍程度の性能が最終的にでるのだろうな、と何となく思っていました。

ということで、後は湧きそうを増やします。2層目以降は上付きハーフブロックにして、各層の間のギャップが3.5ブロック分になるようにしました。(以下参照) 2.5ブロック以上のギャップがあれば大きいサイズのスライムも含め、十分なのですが、今回は3.5ブロックのギャップを採用しました。これは、大スライムが移動する際に頭をぶつける事がなくなる高さが3.5ブロックであるという事が1つと、あとは今後アイアンゴーレムを各層に設置する事があれば、その際に3.5ブロックの方が都合が良いという2つの理由によります。

その結果、湧き層はY=8(一番下)、12、16、20、24、28、32、36の合計8層つくりました。 (ガラスの壁も最上層+2の高さとしました)

上から見るとこんな感じです。

この状態で、20分の簡易計測を行いました。(以下20分でとれたスライムボール)
毎時換算で8000個ほどの性能がでています。

最後の仕上げとして、最上層と同じ高さで空いている空間(ガラスブロックの壁の外側2列と、マグマブロックと氷塊ブロックがある3列)全てに糸を設置しました。これにより、この部分もスライムのスポーンを試みる際に有効な場所として判断されるようになるので、効率が上がるはずです。クモの糸を使うのは、スライムがここから飛び降りる際に邪魔にならないからです。ガラスの壁の外側2列は、(スライムが飛び降りることはないので)ガラスブロックなど、糸以外の(Mobがわかない)ブロックで代用してもOK(なはず)です。

この糸で実は性能は結構大きく変わります。 待機場所で1時間計測しました。

 糸なしの毎時8000個→毎時10,500個(ラージチェスト3個+プラスちょっと)

に性能アップしました。

という事で、今回はこれで完成とします。

もしかすると今後各層にアイアンゴーレムを2体づつ設置して、スライム達がマグマブロックのある場所に、より早く落ちるようにして、性能アップを試みるかもしれません

以下追記:
その後、アイアンゴーレムを追加したり、湧き層の間を2.5ブロックに変えて、層を増やしたりして検証してみました。

まず、最初にやってみたのが、上記までの8層の各層の左右の壁の中にアイアンゴーレムを一体づつ、合計16体、設置してパフォーマンスを測ってみました。 各湧き層と同じ高さの左右の壁に3x3の穴を空けてアイアンゴーレムを設置しました。目の高さだけは手前側の左右のブロックを壊しました。(これにより斜め方向から見えやすくなるかなぁと思ったからです。実際には検証していなので、その効果の程はわかりません) あと、真ん中の高さの一番奥は鉄格子にしました。 これにより、アイアンゴーレムが常に手前側(湧きエリアに近いところ)にいる状況となるかなぁというのがその理由です。(これも検証していないので、効果の程はわかりません) あとはこの3x3の部屋に他のMobが湧かないように明るくしました。(今回はシーランタンでやりましたが、松明とかでもOKです)

目の高さ以外はブロックで囲います。

アイアンゴーレムを導入したことにより、各層に湧いたスライム達が、今までより早いタイミングで落下するようになるはずです。 結構期待して計測をしてみたのですが、その結果は毎時10,800個との結果で、ほとんどアイアンゴーレムの効果は無いという結果でした。

次に湧き層を現状の8層(4層毎)から11層(3層毎)に増やして見ました。 そのため、各層間のギャップは現状の3.5ブロックから2.5ブロックになりました。 2.5ブロックのギャップがあれば大スライムも問題なく湧くのですが、設計当初から懸念していた点として、大スライムが移動する際に頭をぶつけてしまい、一度のジャンプで移動できる距離がかなり縮まってしまう、という事がありました。 移動距離が短いという事は、スライムがスポーンしてから落下するまでに時間がかかってしまい、その結果落下する前にデスポーンしてしまう可能性が高くなってしまうのではと思っていました。

まず層を下から作り直して最終的にY=8,11, 14, 17, 20, 23, 26, 29, 32, 35, 38、合計11層にしました。 まずアイアンゴーレムの効果を消すために、以下のように、アイアンゴーレムの部屋に蓋をしました。(後で壊しやすいようにスライムブロックで…)

全て蓋をし終わってから、計測した結果、毎時11,400個という結果でした。層を増やした事で、若干パフォーマンスは上がりましたが、労力にあまり見合わないかなぁというような結果でした。

最後に、先程の設置したアイアンゴーレムの部屋の蓋を壊して、11層でアイアンゴーレムを有効にした状態でも計測しました。 その結果ですが毎時16,700個という、かなり良い結果となりました。

今までの結果を整理すると:
 1層: 毎時 3,500個
 8層: 毎時 8,000個
 8層(+糸): 毎時 10,500個
 8層(+糸、+ゴーレム): 毎時 10,800個
 11層(+糸): 毎時 11,400個
 11層(+糸、+ゴーレム): 毎時 16,700個

考察:
得られた結果から少し考えてみました。 自分として予想外だったのは、まず8層の場合にアイアンゴーレムの有り/無しでほとんどパフォーマンスが変わらなかった点です。 アイアンゴーレムを導入することで、スライムが湧いてからKillされるまでの時間がかなり改善されるので、よって、トータルのパフォーマンスもかなり改善されると予想していたからです。

この点については、このトラップを作るに当たって参考にさせていただいた gnembon さん(参考動画:https://www.youtube.com/watch?v=42QvewJqKF0) が言っているところの、Mobの上限数にまだ余裕があるような状況では、スポーンしてからKillするまでの時間を多少速めたとしても、あまり大きな効果はないという事と一致するのかと思いました。 

8層構成で作るのならば、アイアンゴーレムの設置は、労力的にもリソース的にも、意味がないという事になります。

もう一点予想外だったのは、8層構成では見られなかったアイアンゴーレム導入の効果が、11層構成では非常に大きかった点です。コレについて思った事は、スライム(大)の移動距離が関係しているように思いました。 上述のとおり、2.5ブロックのギャップでは一度のジャンプで移動できる距離が、3.5ブロックのギャップと比べると、かなり短いものとなります。 アイアンゴーレムがいない状況だと、スライムはランダムにあっちへ向いたりこっちへ向いたりしながら、ジャンプしながらの移動を繰り返すことになります。 2.5ブロックのギャップだと、もしかするとランダムに動いても、移動距離が短いために、なかなか層の端まで到達することがなく、落下する前にデスポーンしてしまう事が多いのではないかと考えました。 2.5ブロックのギャップでもアイアンゴーレムが目視されれば、その方向にスライムは移動しつづけるので、アイアンゴーレムを導入することで、一度のジャンプでの移動距離が短くても、でスポーンする前に問題なく落下するのだと思います。

11層構成ならば、アイアンゴーレムの導入は大いに価値ありという事になると思います。