このエントリーをはてなブックマークに追加

【Java版マイクラ】村管理のトラブルシューティング

Java版マインクラフトで村づくりをしているときに出合ったいろいろなトラブルとその解決方法をご紹介します。


概要

村の整備をしていると、いつの間にか村人がいなくなったり、村人が増えていたり、ベッドや職業ブロックを他の村人が使うようになっていたり、といったことがよくあります。 こういった問題の解決方法をご紹介します。

トラブルの原因は村人がベッドや職業ブロックに戻れなくなるから

ちゃんと湧きつぶしをしている村で、村人がいなくなったり、村人が増えていたり、ベッドや職業ブロックを他の村人が使うようになっていたりするというトラブルは、ほとんどの場合、村人がベッドや職業ブロックに戻れなくなっていることが原因です。

これ以外の原因として、ゾンビに襲われたり位置ずれバグでいつの間にか村人が死んでいる可能性もあるのですが、位置ずれバグは普通の状況ではめったに起こりませんし、ゾンビが湧いている場合は腐った肉が落ちていたり、村人ゾンビが発生したりするので、たいていは湧いていることに気付きます。 (ただし、例えば統合版Ver.1.16.1や1.16.2でMobが消えるバグが報告されていますMobが消えるバグの報告はバグトラッカーを検索するとよく見かけるので、まったく心当たりがない場合は新しいバグの可能性もあります。)

マインクラフトの村人はゲームとしては優秀なAIを持っていますが、人間に比べればまだまだです。 そのため、思ってもみないような原因ではまり込んで進めなくなったりします。 もしそのはまり込んだ場所がプレイヤーから見えない所だと、村人がいなくなったように見えます。

また、村人がベッドや職業ブロックに戻れなくなると、そのベッドや職業ブロックは使われていないと認識されて、他の村人が使うようになったり、新しい村人が増えてそのベッドを使うようになります。

実際に村人を一人ずつ囲い込む「商店街」や「交易所」と呼ばれる物を作ると、こういった問題はほとんど起こりません。 その状況では村人がベッドに帰れなくなることはないからです。

そのため、村人を個別に狭い範囲に囲っても問題は解決するのですが、やはり自然な見た目の村づくりをしたい、という人もいると思います。

また、村人を個別に囲うとゴーレムが湧きにくくなったり、商品が安くなりにくくなる可能性があります。 ゴーレムがいない上に逃げ場がないので襲撃イベントで現れるヴェックスで村人が殺されるリスクも上がります。

自然な見た目の村でも、問題が起こらないように整備することは可能です。 実際私のワールドにはそのような村がいくつかあります。

この記事では、その村を整備したときに得た知見をもとに、自然な見た目を維持しながら村人のトラブルを解決する方法をご紹介します。

村はフェンスなどで囲って湧き潰しをしよう

村をフェンスで囲って湧き潰しをするのは、以前から言われていることで、実行している人も多いでしょう。 今のバージョンではこれがさらに重要になっています。

現在のバージョンでは村人は朝になると結構遠くまでランダムに移動します。 村を囲っていないと遠くに行きすぎて、中には帰ってこられなくなる村人が出てきます。 すると、ベッドがあくので新しい村人が増えます。 これが繰り返されると村人が増えすぎてゲームがどんどん重くなっていきます。

以前のバージョンなら村人の処理はそう重くなかった上に、村人の職業が選べなかったので、村人は必要な職業が出るまで多めに増やすのが当たり前でした。 Ver.1.14以降では村人の職業が選べるので、そもそもさほど村人を増やす必要がなく、しかも村人の処理が重いので、むしろゲームが重くならないように人数を抑え気味にした方が快適にプレイできます。

こういった理由により、今のバージョンでは村はしっかり囲んで村人が勝手に増えにくくするのが重要になっています。

実際、私は村を囲わずに湧き潰しだけして、フェンスがなく見晴らしの良いすっきりとした村づくりを試してみたことがあります。 いつの間にかがんばって育てた村人が行方不明になるし、それ以上に村人が増えてゲームがとても重くなるしで、大変面倒なことになったのですぐにやめました。

後日、行方不明になった村人はクリーパーの爆発跡と思われる穴の中や森の中で発見されました。

ベッドに戻れない村人は夜探そう

前述のように現在のバージョンでは、朝になると村人はベッドの周辺をランダムに散歩します。 このときに新しい鐘やベッドなどを見つけています。 そして、時間が来ると仕事するために職業ブロックの場所に行きます。 (村人の行動パターンについてはこちらの記事で紹介しています) しかし、何らかの理由で職業ブロックやベッドにうまくたどり着けないことがあります。

すると村人がいなくなったり増えたりする問題が起こってしまいます。 これを解決するには、村人が移動できなくなる原因を取り除く必要があります。

しかし、そのためにはそもそも村人がベッドにたどり着けているのかを確認する必要があります。 それは夜になってから村を見回りすれば簡単にチェックできます。 といっても、ベッドを見て回るわけではありません。 ベッドは空きがあると新しい村人が増えて使ってしまい、時間が経つと埋まってしまいます。 ベッドに空きがあるかどうか見て回っても、戻れなくなったすぐ後しか意味がありません。

村人はベッドに戻ると寝て、その間は通常声を出しません。 (たまに寝ぼけているのか一瞬起きてまた寝る村人もいますが。)

しかし、ベッドで眠っていない村人は夜でも声を出しています。 これを利用すれば、夜になってから村の周りを見まわって声を聞くことで、たとえわかりにくい場所にいたとしても、ベッドに戻れていない村人を簡単に探せます。 声が聞こえづらい場合は「アクセシビリティ設定」で「字幕の表示」をオンにすれば良いでしょう。

そういった村人が見つかったら、ちゃんとベッドに戻れるように村を整備していきましょう。 ベッドに戻れさえすれば、職業ブロックはその近くに置けば良いので問題ありません。

行方不明の村人が出たときも、この方法で探すと見つかる事があります。

村人が移動できなくなる原因と解決方法

ベッドに戻れない村人が見つかったら、戻れない原因を探して解決する必要があります。

以下では私が実際に出合って解決したいろいろな事例についてご紹介します。

深さ2ブロックの穴

マインクラフトのMobは2ブロックの段差を下ることがありますが、登ることはできません。 そのため、深さ2ブロックの穴があると、村人がそこに降りたまま登って来られなくなることがあります。

2ブロックの穴

場合によってはそのような穴に何人もの村人がたまってしまうこともあります。 Mobが小さな領域にたくさんいると、互いに接触しているかどうかを確かめる当たり判定の処理がされるため、通常より負荷がかかり、ゲームの処理にもよくありません。 (今のバージョンは以前よりこの処理がかなり軽くなった気はしますが、負荷がなくなったわけではありません。)

最初は穴がないように思えても、クリーパーが他のMobに刺激されて爆発し、いつの間にか穴があいていることもあります。

村を整備する時は必ずすでにある穴をふさぎ、フェンスで囲って湧き潰しをして、クリーパーのせいで新しい穴ができないようにしましょう。

穴だけではなく、崖に突起がある場合も同じように村人が降りてしまうことがあります。

崖の突起

また、基本的にMobは単体では高いところから落ちないように行動しますが、複数のMobがいると他のMobに押されて落ちることがあります。 そういった事が起こらないように、崖があればフェンスで囲って村人が落ちないようにしましょう。

大きな段差

村人のAIは大きな段差が苦手なようです。

実際に私が経験した事例では、二階建ての建物の二階にベッドを置いて、一階に職業ブロックを置いた場合、村人は職業ブロックにたどり着けるのですが、三階にベッドを置いて一階に職業ブロックを置くとたどり着けないことがありました。 他にも、山の斜面に生成された村を整備していたとき、山の麓にある家の村人が山の頂上に行って帰ってこれなくなるということが頻発しました。

村の建物はあまり高層化せず、二階建てまでが無難です。 高い建物を作る場合は、村人が上の階に行けないようにフェンスゲートなどで仕切る方が良いでしょう。

また、高低差がある村は村人が戻ってこれなくなりやすいので、フェンスゲートなどで仕切ることをおすすめします。

階段とフェンスゲート

長く迂回する道

村人は長く迂回する道の経路を探索するのも苦手なようです。

私が実際に経験した例でいえば、段差があって村人が落ちないようにフェンスをつけた時、ほんの十数ブロック迂回すれば家に戻れるのに、村人がそのフェンスの周りでたまってしまった事がありました。

村を整備するときは村人が迂回せずにすむように、必ず近道を用意しましょう。

村人用近道

村人用の近道の例。段差を回り込まなくてもよいように、一定間隔で(赤い矢印の所)階段がある。

トラップドア

トラップドアでおしゃれな壁を作るのは、マインクラフトの建築でよく使われるテクニックです。 しかし、村人がたどりつける場所ではおすすめしません。

トラップドアを壁に貼り付けたりするのは問題ありませんが、トラップドアだけで壁を作ると、村人はトラップドアを認識できないので、その場所を通り抜けようとします。 しかし、トラップドアがあるために進めず同じ場所でジャンプし続けることになります。

村の中でトラップドアで壁を作る時には、村人がひっかからない場所か必ずチェックしておきましょう。

トラップドアの壁

トラップドアの壁。見た目は良いが村の中では使わない方が良い。

植木鉢とランタン

村人は高さ2ブロックの空間にある植木鉢やランタンにもひっかかります。 これは結構わかりにくいので植木鉢やランタンを設置するときは気をつけましょう。 ランタンを吊り下げるなら最低3ブロック上に、植木鉢は天井が低い場所やそういった場所のすぐそばには置かないようにしましょう。

カーペット

カーペットは少しだけ厚さがあるため、屋内にカーペットを敷きつめると、ドアのところで村人が引っかかります。

カーペットの高さ

部屋の中にカーペットを敷くときは、ドアの前のブロックはカーペットを敷かないようにしましょう。 カーペットを敷かなかったブロックを目立たないようにしたい場合はその場所を羊毛にしておきましょう。

ドアの前の羊毛

カーペットを敷いた室内でドアの前だけを羊毛にした例。少しへこんでいるが色と質感が同じなので目立たない。

また、フェンスの上にカーペットを敷くタイプのテーブルの上で村人が動けなくなることがあります。 理由ははっきりとは分かりませんが、カーペットがあると本来乗れないフェンスの上にのってしまえるので、経路探索の処理がバグってしまうためだと思います。 村人がテーブルの上でよく動けなくなっているようなら、違うタイプのテーブルにした方が良いでしょう。

発生条件は分からないのですが、村人が水に入って出られなく事が時々あります。 主に村人が集まる場所で発生します。

これの解決方法は簡単で、水際のブロックにはしごをつければ、村人が簡単に水から上がってこられるようになります。

水中のはしご

他に、滝のような水流や水流エレベーターがあると村人がそれを登ることがあります。 こういった水の流れを作る場合は、フェンスなどで囲って村人がそこに入らないようにする必要があります。

湖や海に面した村では、村人が思いもしないほど沖に出ていってしまうことがあります。 そういった場合も水際にフェンスを置いた方が良いでしょう。

はしごと足場とツタ

村人ははしごや足場やツタを登ることはできますが、降りることはできません。

村の中にはしごや足場やツタがあると、村人がどんどん上に上がってそのまま上にたまってしまうことがあります。

こういった村人を下ろしたいときは、ブロックで下に降りる道を作ると夜にベッドで寝るために勝手に降りてきます。

降りない場合はベッドとの関連付けが切れてしまっているので、ベッドを置き直してみるか、村人をボートに乗せて運ぶかすると良いでしょう。

そもそもこういった事態を防ぐために、はしごやツタを村の中に設置したい場合は一番下をつけないようにする事をおすすめします。 すると、プレイヤーはジャンプしてはしごやツタを登れますが、村人は登れません。

はしごの一番下をはずす

足場は村の中では置きっぱなしにしない方が良いでしょう。

二つ以上ベッドがある部屋の扉

この挙動はJava版ではVer.1.16.2で修正されました

同じ部屋に二つ以上ベッドがあると、ベッドから出たり戻ろうとした村人達が同時にドアをくぐろうとして引っかかることがあります。 (基本的にマイクラのAIは他のMobが関わった時の挙動がまだあまり実装されていないようです。)

二人の村人

これは次の朝か夕方になれば村人が別々の方向に動き出すので、さほど心配することはありません。 また、プレイヤーがどちらかの村人を右クリックして取引を持ちかけると、その村人がプレイヤーの方を向くので詰まりは解消されます。

しかし、引っかかった状態でゾンビに襲われたりすることもあり得るので、できれば一部屋にベッドは一つにした方が良いでしょう。

読み込みチャンク外にあるベッド(未検証)

検証はできていないのですが、特定のベッドの村人がよく行方不明になるので調べてみるとそのベッドだけ他のベッドとは別のチャンクにあったことがあります。

おそらく、村人が帰ろうとしてもそのチャンクが読み込まれていなくて帰れず、ベッドとの関連付けが切れやすくなるのだと思います。

今まで2つの村でそういったことがありました。 しかし、検証はできていません。 解決方法も分かりません。

どうにも怪しいときはベッドを他のベッドと同じチャンクに移動させてみると良いかもしれません。

村が広いときは鐘を複数置こう

村が広いと夕方の集会のために鐘まで移動する距離が長くなってしまいます。 すると、村人がそこまで行く間に迷子になる可能性が上がります。 また、村人が一つの鐘にあまりに集中しすぎると、集会している姿がごちゃごちゃとして見た目が悪くなります。 広い村には鐘を複数置いた方が良いでしょう。

新しい鐘になかなか村人がきてくれないときは、一時的に古い鐘を外すと良いでしょう。 古い鐘がなくなった分、新しい鐘に村人が集まるようになるので、ある程度集まったら古い鐘をまたもとと同じ場所に設置すれば、適度に村人が分散されます。

ただし、新しい鐘の設置場所の立地が良くないと(例えば付近に家が全くなかったり、村の端だったりすると)どうやっても村人が集まらないこともあります。 鐘の位置は村人の集まりやすそうな場所にする必要があります。

中でも段差と迂回路に気をつけよう

上で紹介した例のうち、特にわかりにくいのは大きな段差がある場合と長く迂回しないとベッドにたどり着けない場合です。

原因がよく分からないが近くのベッドがあいているのに村人がベッドに戻らずに夜も立ったままいる、という場合は、おそらくベッドと村人を直線で結んだ間に段差やフェンスなど、村人の行動を制限するものがあると思います。

例えば、家に裏口をつけると村人がベッドで寝てくれるようになった事もあります。 なぜかは分かりませんが、表口へまわるという経路探索がうまくいかなかったようです。

人間にとっては大した障害でなくても、村人のAIにとっては難しい行動というのが多くあるので、それを見つけてうまく障害を取り除いてください。

まとめ

マイクラの村をトラブルなく、しかも自然な見た目のままに整備しようとすると結構大変です。 もし、そういったことに興味がなければ、自然な見た目を諦めて一人ずつ村人を隔離して簡単にトラブルを避けることもできます。 (ただし、襲撃イベントなどで村人が危険にさらされるリスクは増えます。)

しかし、村の整備は村人と取引した方がうまくゲームが進められるサバイバルモードならでは楽しみかたです。 クリエイティブモードで見た目の良い村を作っても、それを使う人がいないとどこか物寂しく感じることがあります。 一方、村人がいる村をうまく整備すれば、たとえつたない建築でも活気のある「村らしい村」を作ることができます。

村人を育て、いつもにぎやかでしかも実用性のある村を作るのは、単に建築をするだけではない面白みがあります。 また、普通の建築と違って美的感覚やセンスなどはさほど必要なく、論理的に割り切れる話なので、そういう分野が得意な人にもおすすめです。

ぜひこのページの情報を参考にして活気のある村づくりに挑戦してみてください。

関連項目

」に関する記事

全29件のうち、この記事を除く10件を表示しています。村に関する記事の一覧を見る。

テクニック」に関する記事

全32件のうち、この記事を除く7件を表示しています。テクニックに関する記事の一覧を見る。

公開日:2020-06-05