2019年8月30日金曜日

Realms: 回路簡単な天空経験値トラップ

どうも。ころすけです。

今回は天空経験値トラップを作ろうと思います。今回のトラップの目的は「あまり遠くに行かなくてもある程度の経験値をある程度の時間で得る」というものです。

今後作るであろうエンダーマン経験値トラップの方がパフォーマンスには優れていると思いますが、その分エンドまで行って、更に本島から128ブロック(以上)移動してやっと経験値が得られるというものになるので、その行く時間等も含めて考えると、近場で、ある程度の経験値が稼げるトラップも役立つかなぁと言うのが、今回の作成動機です。

過去の冒険でも、同じような考えに基づいた経験値トラップを作りました。そのトラップはそれで良かったのですが、一つ不満だったのは「オブザーバーとディスペンサーを多用する設計で動作が重かった」という点です。

今回はそんな過去の経験に基づき、回路がシンプルで負荷があまりかからなそうな設計としました。

トラップの大まかな考え方

まず、はるか上空(Y=250付近)で一定期間毎に水源のOn/Offを行えるようにします。(今回はトラップドアとディテクターレールの組み合わせでこの仕組みを実現しましたが、ディスペンサーやピストンなどを使ってもOKかと思います。)
そしてはそこからの水流を、全ての湧き層を経由させて最下層まで流すようにします。一つの水流で上から下まですべての層をまかなう形なので、回路的にはかなりシンプルになりました。(上で水流のOn/Offを行う機構のみ)そして湧き層の更に下に、湧き層から落ちてくるMob達を一箇所(中心)に集めるための収集プール(水流で集めます)を作ります。この収集プールで中心に集められたMob達は、そこから更に約20ブロック下の待機場所まで落とされ、最終的にプレイヤーが最後の一撃を与える、というようなものとします。

湧き層の形と設置位置

各湧き層は上下方向2ブロックの空間をあけて設置しますが、偶数番目と奇数番目で設置位置が異なるように設置します。以下に湧き層の設置に関する参考図を示します。

湧き層の形状ですが、中心ブロックから水流がちょうど届く距離(中心から7ブロック先まで届く)の菱形のような形状(この手のトラップでよく見られる形状)にします。ここでひし形の頂点の一箇所だけはブロックを設置せずに空間にしておきます。(以下のピンクの部分)これによりその部分から更に下の層へ水流が落ちて行く事になります。

一つ下の層では、この水が落ちてくる場所を中心として同じように菱形の湧き層を作ります。そして今回は先程とはちょうど反対側の頂点を空間としてあけておいて、そちらがわから更に下位層へ水が流れて行くようにします。あとはこのパターンの繰り返しで作りたいだけの層を作るというような感じでやりました。

補足1:最上層(上から数えて一層目)及びそれ以下の(上から数えて)偶数番目の層は上述の水流On/Offの機構で上空から落ちてくる水流の位置が中心となります。
補足2:最下層の菱形だけは頂点部分を空間にはせず、水流がそれより下に流れて行かないようにします。

収集プール

一番下の湧き層の更に下には、水流を利用して、各層の端から落ちてきたMob達を受け止め、中心部に集めるプールのような層を作ります。中心部分には3x3の穴をあけておき、そこからMob達を待機場所まで落下させるようにします。待機場所では落下ダメージにより瀕死(にある程度近い)状態のMob達をプレイヤーがKillするという感じの設計としました。

待機場所

待機場所は収集プールから18ブロック下にMobが落下するような高度に作りました。なぜ18ブロックかというと、できればプレイヤーKillの対象に蜘蛛も入れたかったというのがあります。今回のトラップでは蜘蛛もある程度落ちてきますが、(他のMobではOKな)20ブロック以上の落差にしてしまうと即時死んでしまいます。これは蜘蛛が落ちてくるMobの中で最も体力がない(体力=16, 例えばクリーパーなどは体力=20)からなのですが、即時死んでしまった場合には今回のトラップの主目的であるところの経験値が全く得られないという事になってしまいます。それを防ぐ落差ということで18ブロックとしました。(その分体力のあるウィッチなどは一発でKillできないというようなデメリットも出てきてしまいますが、それはまぁそれでOKとしました)

待機場所のMobが落ちてくる部分(3x3)は当初下付きブロックを設置してそのすぐ下にホッパーで一応アイテムも集められる仕組みを設置しました。更に3x3のエリアの外周はブロックで囲って、プレイヤーからはMob達の足だけが見えて、そこを攻撃するような感じに作っていました。

「当初」と書いたのは、実はこの仕組では問題がある事がわかったからですなのですが、結局最終的には下付きハーフブロックの代わりにエンチャントテーブルを使い、更に外周ブロックもすべて黒曜石で作るようにしました。察しが付くかもしれませんが、「問題」と言うのはクリーパーの爆発です。どうもクリーパーはプレイヤーが関与していない状況下でも、Mob同士の小競り合いで勝手に爆発してしまうパターンがあるようです。今回のトラップの作成&テスト過程でこれが起こってしまって大変でした。クリーパーが爆発すると、上からどんどん落ちてくるMobが容赦なく攻撃してくる事になるので、サバイバルでやっている身としては、かなりの「おおごと」になります。修復を行う際にも、Mobがどんどん落ちてくる状況下では無理なので、まずはその場を離れて(オーバーワールドで遠くまで離れて)Mob達をデスポーンさせて、今度はネザー経由でここに戻ってきて、上からMobが落ちてくる前に3x3の穴を土ブロックで一時的に塞ぐようにして、それからやっと修復作業をする、というような事になってとても面倒でした。

そんなこともあったのでいろいろ調べて、最終的にエンチャントテーブルを使う事に決めました。調べてみるとエンチャントテーブルは今回の目的にピッタリのいくつかの特性を備えていました。
  • クリーパーの爆発では壊れない。非常に爆破耐性が高い。
  • 高さが1mに満たないので隙間からMobの足を攻撃できる
  • (高さが1mに満たないので)真下に設置した通常のホッパーでアイテムを吸い取れる
唯一のデメリットはコストです。エンチャントテーブル1個に付きダイヤが2個必要なので、今回結局18個(3x3x2)のダイヤを消費することとなりました。

待機場所の高度

前述のとおり待機場所は収集プールから18ブロック程度下に設置する事になるのですが、(できることならば)周辺の湧き潰しが楽になるような高度(Y値)に設置したいところです。例えば地上から128ブロック上空(例えばY=200付近)に待機場所を作れば周辺の湧き潰しはほぼいらなくなります。しかしそんな高度に待機場所を設置するとなると、その更に上に設置することになる湧き層をあまり設置できない状況(実質10層も取れない状況)となってしまいます。

そこで、まずこのトラップを作るバイオームを深海バイオームにすることを決めました。他のバイオームよりは低い高度に待機場所を作れるからというのがその理由です。例えば深海の底がY=35付近であったとすると(そして近場に陸地が無いと仮定すると)待機場所をY=160付近まで下げても湧き潰しはほんとんどいらない状況のはずです。(ドラウンドはもともとあまりスポーンしないので今回考慮外)

過去の経験から湧き層はある程度の数作らないとまともな経験値トラップにはならないと考えていました。なるべく多くの層を確保したいという気持ちがあったこともあり、プラニング段階で、待機場所をY=140程度にしようと決めてしまいました。(この時点では後で海底の下に発見する事になる廃坑の事は知る由もありません…)待機場所がY=140付近ならば湧き層は30層以上は確保できるかなぁというざっくりとした考えだけで決めた感じです。そして、前回の冒険で作った経験値トラップが60層あってまぁまぁの性能だった事も考慮して、今回はせめて同等かそれ以上を目指すことにしました。そして出した結論は、この同じセット(1セット=はるか上空の水流On/Off機構+30層)を複数作るというものです。いろいろ考えて4セット作る遠大な(しかしかなりアバウトな)計画を立てました。

作業

アバウトな計画のもと、実際の作業をはじめました。作業順序としては、まずはるか上空の水流On/Offの機構を(4つ)作るところから始めました。

ディスペンサーを4つ設置してそれらをディテクターレールでOn/Offするように線路を敷きました。

トロッコを動かしてから下に降りて見上げると、以下の画像のように一定時間ごとに水柱が落ちてきます。

その後、落ちてくる水の位置を確認しながら収集プール部分をまず作りました。真ん中のフェンスゲート部分(3x3)からMobを更にしたの待機場所付近まで落とす予定です。

上からは水が定期的に落ちてくるので、位置の確認は楽です。

収集プールの形状は以下のようにして、今回設置する4セットの湧き層から落ちてくるMob達が全て中心のフェンスゲートの場所に集まるようにしました。
適宜水源を設置して、収集プール部分は最終的に以下のようになりました。(外側の枠は下付きのハーフブロックです。ガラスなどMobがわかないブロックでもOKかと思います。)

その後は収集プールから18ブロック程度下の待機場所までの柱状の囲いとMobをやっつける部分などを作りました。

そしてまずは湧き層を2層だけ作ります。上から落ちてくる水の位置を確認しながら位置決めを行いました。

それ(2層だけ湧き層を作るという事)を4セット全てについて行いました。2層だけ作ったのは、位置関係とか動作に問題がないか予め確認しておきたいと思ったからです。

で、位置を確認してみると案の定というか、不具合が見つかりました。4セットの位置関係が近すぎて蜘蛛がその隙間に引っかかってしまうことが判明しました。(初期段階で確認しておいて正解でした)

面倒ですが、天空まで行って、水流発生部分に調整をして、位置関係を1ブロックづつ離すようにしました。更に作ったばかりの2層づつの湧き層もそれに合わせて移動しました。

この時点での待機場所の作りは、以下のような感じで丸石と丸石のハーフブロックでMobの足を狙うというようなものでした。(前述のとおり、この部分はクリーパーの意図しない爆発に耐えられないことがわかって後からエンチャントテーブルと黒曜石でより堅固なものに作り変えます)

あとは湧き層を増やしながら性能のテスト(夜間のみ)をし、また作業をしてはテストを繰り返して最終的に4セット全てについて天空の水源発生部分の下まで湧き層を作りました。(なかなか大変でした。)

そして、最後に昼間も稼働させるため、水源を発生させる天空の装置の更に上に、大きな屋根を作りました。
屋根は以下のような感じで、全部下付きハーフブロックで作りました。(コスト削減のため)
それなりに大きい屋根なので(ウィッチトラップのものよりもだいぶ大きい)そこそこ大変でしたが、何とか完成までこぎつけました!

その後テストでクリーパーの爆発がウィッチ等の他のMobとの小競り合いでまれに発生することがわかりました。クリーパーが爆発すると上からどんどん降ってくるMob達があっという間にそのあたりに散乱する状況となって、とても大変な事になります。(ました。)サバイバルで難易度もノーマルを自分に課しているので、修復には結構な手間がかかりました。

そんなこともあったので、最終的にプレイヤーがMobを斬りつける部分は以下のようにエンチャントテーブルと黒曜石を用いた堅固なもにしました。(ダイヤ18個消費)

これでクリーパーの爆発でもびくともしないようになりました。コストは高かったのですが、上述のとおりエンチャントテーブルは高さが1mに満たないため、隙間からMobの足が狙えて且つ真下に設置するホッパーにもアイテムが吸い取られるという理想的な振る舞いをしてくれています。

以下に天空の水源発生部分と大屋根のスクショを載せておきます。
このトラップ、作ってから気づいたのですが、エンダーマンも良く湧きます。(湧き層の上が3ブロック以上空いてる部分も多くあるため)しかしエンダーマン対策は特にしていない(できていない)ので彼らはこんな感じに生き延びてしまうようです。

待機場所にもエンダーマンがやってきます。待機場所のエンダーマンは手を下さないといつまでもデスポーンしない(近距離であるため)ので、待機場所から落とすかもしくはやっつけています。現状だとまだエンダーパールを集めないといけない冒険初期段階なので、まぁありがたくキルさせてもらっています。

待機場所から収集プールを見上げた時のスクショです。

こんな感じで、隙間からMobを成敗します。

性能

性能を測ってみました。測り方は結構アバウトなのですが、まず経験値をゼロにしました。(高所から飛び降りて) そしてこのトラップでレベル30になるまでの時間を計測しました。(2回)どちらもほぼ3分という結果だったので、だいたいそんなもんなんだと思います。湧き層の数は前回よりも多いのですが、性能は前回とあまり変わりません。「負荷」という面では今回の方がはるかに軽い感じです。正直、もう少し良い性能が出てほしかった気持ちはありますが、致し方ありません…。

まぁ、とは言っても、修繕目的で近場で使えるという点では十分使える性能なので、今後の冒険で役立ってくれる事とは思います。



0 件のコメント:

コメントを投稿