村人式農場荒らし対策【行商人編】
実は調べてみると試作した村人式農場に行商人の被害は無さそうなのですが、カボチャやスイカ畑の方には被害が出るということで、そちらを中心にまとめてみました
※統合版1.19.63でプレイした内容になりますので、他のエディション・バージョンとは仕様が異なる可能性があります
なお、行商人の仕様上、検証に時間がかかりすぎるのでwikiを参照している部分が多くなります
被害内容
育てたカボチャやスイカの上に行商人がスポーンすると耕地が荒らされます
また、試作した村人式自動農場でも装飾によってはスポーンして荒らされる可能性があり、収穫効率が悪くなったり、荒れた場所に敵がスポーンする恐れがあります
行商人の仕様
対策を考えるため、行商人のスポーン条件を確認します
<スポーンサイクル>
24000ティック(リアル時間で20分)ごとにスポーンを試み、スポーン確率は7.5%を上限に増えていきます
行商人が1体スポーンすると、48000ティック(リアル時間で40分)もしくは72000ティック(リアル時間で60分)でデスポーンし、スポーンサイクルはリセットされます(行商人の在庫が無くなってもデスポーンするらしい)
この通りスポーン頻度は低いのですが、体感的には来て欲しくない時によく来て、来て欲しい時になかなか来ないのが行商人という存在だと思いますw
<スポーン範囲>
プレイヤーを中心に半径48ブロック以内の範囲、もしくは同範囲内に村の集会所(村人と紐付けされた鐘)があればそちらを優先にスポーンします
確証はないのですが、集会所の範囲は村人が集会の時間に集合する範囲で、鐘を中心に半径7ブロックの球型の範囲なので、おそらく行商人も同範囲内にスポーンすると思われます
<スポーンする場所>
地上(高度が最も高い不透過ブロック)にスポーンします
行商人が追加されてしばらくは、たとえ火の中水の中土の中(地下)というあらゆる場所にスポーンしていましたが、1.19.20で水、溶岩、地下にはスポーンしなくなりました
また、記載はされていなかったのですが、おそらくガラスや耕地などの透過ブロックの上も湧いていたのが湧かなくなったと思われます(無いものを証明するのは難しいので言い切れませんが…)
対策
これらを踏まえていくつか対策を考えます
その1:地下や屋内(不透過ブロックの屋根&囲い)に作る
行商人は地上にのみスポーンするので地下に作るのが一番シンプルな対策ですが、地上でも不透過ブロックの屋根を作れば屋内も地下判定となります
屋根だけでは外から侵入されてしまうので、囲いも忘れずに設置するとOKです
その2:不透過ブロックを透過ブロックで湧き潰す
耕地の側に1ブロック以上高い不透過ブロックがあれば、上にカーペットなどの透過ブロックで湧き潰しするとOKです
ただし、カボチャやスイカ畑では実が不透過ブロックの段差になってしまうので、別の対策をする必要があります
その3:近くに村の集会所を作って行商人のスポーンを誘導する
村の集会所で行商人のスポーン位置を固定化すれば農場内にスポーンされることはありませんし、逆に行商人に会いたい時に見つけやすくなります
村の集会所は村人とベッドと鐘を紐付けすることでできます(詳しくは村人と鐘についての検証)
集会所の範囲と行商人のスポーン範囲を考慮すると、鐘は農場から7〜48ブロックの範囲に設置するとOKかなと思います
ただし、農場があるチャンクだけ読み込まれていて、鐘のあるチャンクが読み込まれていない場合は行商人を誘導できないので、なるべく農場の近くにした方が良いかもしれません
その4:コマンドでスポーンさせないようにする
設定でチートをONにし、コマンド画面で以下を実行すれば行商人がスポーンしなくなります
/mobevent minecraft:wandering_trader_event false
ただし、チートをONにするとトロフィーは二度と獲得できなくなるので注意です
***
行商人の仕様が実装当初より結構改善されているので、思っていたより問題は少なくなっていましたね
どこでもスポーンするイメージが強かったせいで警戒しすぎた感もありますw
そして、これまで農場を荒らす3つの問題をまとめてきましたが、共通して一番簡単な対策は地下に作るということでした
しかし、野菜はお日様の下で作りたい!ということで、敢えて制約が多い中対策するのも面白いですね