2015年8月 追記
本エントリは2012年の古いものではあるがしばしば参照されているようなので後に改良されたローコスト版を公開しておく。といってもこちらも2012年の10月末のものなので、今となっては随分古い。現在の1.8系で動かす場合にリピーターの遅延設定を調整する必要があるかもしれない。
ローコスト版の動画を作って公開しようと思ってはいたのだが、面倒くさくて先延ばしにしていたら3年経っていたわけで、今後も動画は作られない可能性が高い。解説動画など作ってくれる人がいれば嬉しい。
ローコスト版の概説は後ろに記載したので参照されたし。
概要
本エントリはMinecraftの機械紹介動画「木材収集機を作ってみた」の作り方解説。
まずは動作を見てもらおう。
本動画では今まで不可能だと思われていた木の収集を可能としたもの。着目したのは下に支えがない場合に落下する砂(もしくは砂利)の性質。上から砂を落とし、下に穴を開けて抜けば空間のど真ん中のブロックを動かすことができるだろうと思いついたのがきっかけ。
木を生やす場合、苗木を中心に最低でも縦5x横5x高さ5の空間が必要となる。木の大きさはランダムでまちまちだけども、いざ生えようというとき、その木の形の空間があいていない場合は苗木から木への成長処理はキャンセルされる。なお、葉っぱブロックは空間と認識されるため、伐採後に葉っぱが残っていても連続で植林できる。
杉の場合、広さは最低で5x5、最高で7x7、高さは最低で8、最高で11必要でかなり大きな空間がいる。この空間こそが伐採機の作成を困難にしてきた。
Minecraft でブロックを動かすにはピストンを使うわけだけども有効射程が1しかない。このため2マス以上間をあけた空間を操作することは難しい。粘着ピストンを利用して多段ピストンを作ることも行われているけども、多段ピストンを動作させるには多段ピストンの周囲から規則的なレッドストーン回路の入力を行う必要がある。そのため、結局のところ隣接空間に回路が必要となり、がらんどうの空間でブロックを動かすということはできない。木が生える程の空間内でブロックを動かし、そして痕跡を残さず消え去ることを可能にするには砂を使うより仕方がない。
同じ物を考えている人もいるかもしれないなあと思って調べてみたら案の定、砂で木を抜いている人がいた。
ここに着想を得たものではないが、やはり皆、同じ所に行き着くのだなと思った次第。
作成手順
動画で紹介したバージョンは試行錯誤の結果、かなりシンプルな構成になったと思う。
このバージョンの作り方を解説していこう。
最下層
最下層には砂リフトと砂貯蔵庫が配置される。まずは砂リフトを作成しよう。
まずは砂リフトに砂を運び込むピストンとブロック検知器を設置する。
このピストンの真上が砂の排出口となる。ピストンの前にブロックを置くとトーチからの動力が伝わりピストンが動く。
ピストンが動いてブロックを退けることで動力が途絶える。なので、ブロックが置かれることで丁度、
1クロックの波形が送り出されることになる。この機械では砂が落下し検知器にかかりピストンで押しのけられる一連の動きがクロック回路の代わりとなって動く。
波長はリピーターの長さで決まる。ここではリピーターを3段階目にしている。砂リフトは全部で3つ作るが、すべての砂リフトでリピーターの遅延設定は揃えよう。
砂リフトのピストン配置と配線は以下のとおり。
上向きになっているピストンへはリピーターで遅延をかけて遅れて動かす。
先の検知部分とリピーターの遅延設定は揃えたほうがいいだろう。
リフトアップ用のブロックを図のように設置して準備完了。検知部分に砂を置いて動作確認してみるといい。
横向きピストンと上向きピストンの距離は最低でも4マスは間をあけておくこと。
これは、地上部分で苗木の成長に影響しない位置に砂のリフトを配置するため。
最下段で設置して距離が近すぎるようなら2段目の砂リフトで距離を調整することもできる。
次に砂貯蔵庫からの排出用ピストンを加える。
これは、横方向ピストンと同期して動く。貯蔵庫に溜まった砂はここからの信号入力があると動き出す仕掛け。貯められた砂をすべて排出すると機械は動作を停止する。
最初にレバーを設置して素早くON/OFFし動作確認するとよいだろう。
砂リフトのやぐら
砂リフトに砂を11個流し込み、砂の高さを目印に2段目の砂リフトを建てる。
砂リフトは持ちあげ用のブロックがあるので砂だけだと11段までしか積み上げれない。
横方向ピストンからリフトまでの間に砂が充填されてない状態で動かしたり、リフトアップする砂がピストンの押し出し可能数の上限である12個に到達している場合に回路を作動させると回路が破壊されるので注意。
最上段の砂にピストンを隣接して配置。
他のピストンも設置する。最下段では検知部とリフトアップ用上向きピストンは離して設置したが、
ここでは隣接して設置する。離して設置しても構わないので位置調整をしたい場合は離して設置しても良い。
あとは配線を行えば2段目は完成。
3段目も回路は同じなので解説は省略。
3段の砂リフト完成。結構な高さになるのでサバイバルモードで作るときは足場を作って作業し、転落事故に注意すること。
地上部分
砂貯蔵庫に砂を12段積み上げ、上部に砂排出完了検知器を設置する。
この上に苗木を植えるための土ブロックと、それを稼働させる粘着ピストンが配置される。
粘着ピストンの上に木の搬出用ピストンと木の検知器を設置
木材を育てるために、土ブロックを中心に7x7の空間を確保しておくといい。
■ やぐらの先端
やぐらの先端部分を作る。
苗木を植えるブロックから12マスの柱を立てて設置する高さを計測。
先端部分は感知式で下に押しこむ作り。
反対側、砂リフトから水平に押し出す部分。やはり感知式。
水平押出し部分にも砂を充填しておこう。これで高所作業はおしまい。
■ 起動スイッチ
木を感知して搬出用ピストンを動かす部分の下に最下層への起動信号伝達シャフトを作る。
図はそのための下向きピストンを設置したところ。
シャフトを作る。一番下から1マス上に上向きピストン、その上に1マスの空間、ブロック、ガラス、ブロック…となる。動画では検知部分の位置がちょっと違うが気にしない。
このガラス部分が信号を遮断するのを利用して感知器を設置することで垂直に信号を伝えるという手法。
愚直に螺旋階段を作って信号をひっぱっても構わない。
砂保管部分の起動ピストンに回路をつなげて完成。
全体図はこんな感じ。
苗木を植えて木が生えると動き出す。
それでは楽しい植林ライフをお送りください。
2015年8月 追記 ローコスト版の概説
ローコスト版では砂の持ち上げ機構を簡素化している。
本編では固定ブロックを回転させることで砂を持ち上げていたが、そのようなことをしなくても、砂を持ち上げたのち、落ち始める前に下に別のブロックを挿入すれば砂を持ち上げる事ができる。
これにより、使用ピストンを減らすことができる。
また、樹木の成長を感知した後、処理を開始するための信号を下のフロアに伝える必要があり、本編では信号伝達シャフトを用いているが、ローコスト版では砂を下に落とすことで処理の開始スイッチとしている。
これにより、上段、地上、下段の3つのレッドストーン回路はそれぞれ独立することとなった。
作成に必要な素材はレッドストーンで1ストック少々、ピストンの材料の鉄が10個少々、粘着ピストン用のスライムボールが数個程度、砂40個少々なので、クリエイティブモードでなくとも作成はそう難しくない。