連結できる自動積み込み駅の仕組み

前回記事で紹介した「連結できる自動積み込み駅」の仕組みを解説します。
 
目次

  1. 要件(達成したいこと)
  2. 作り方
  3. 参考にした自動積み込み駅
  4. 設計と解説

※1,2は前回記事です。
 

3.参考にした自動積み込み駅

自動積み込み駅をネットで検索するといくつかのタイプがありました。
「Minecart」「Autoloder」とかで検索すると沢山出てきます。
 
A)ホッパーが空になったら発車するタイプ

トロッコにアイテムを流し込むホッパーの容量をコンパレータ―で検知して、空になった時にパワードレールに動力を送って発車するタイプです。

レッドストーンコンパレータ―には後ろ(△の底辺側)にある「インベントリーの内容チェッカーとして」動作するため、ホッパーの中身が空になったら出力が0になることを利用し、Not回路で反転させて発車しています。

とてもシンプルに構成できますが、チェスト付きトロッコに荷物を積みきった時に、ホッパーが空になる状態でないと使用できません。積み切ってもまだホッパーにアイテムが残っていると、発車しないからです。



 
B)チェスト付きトロッコが一定量以上になったら発車するタイプ

チェスト付きトロッコの容量をコンパレーターでチェックして、一定量以上になったら発車するタイプです。

ネックはチェスト付きトロッコの内容量を計るためには、トロッコがディレクターレールの上に居る必要があること。

パワードレールの上に置くことができないので、発車はパワードレール以外の方法で行う必要があります。

 

4.設計と解説

要件を満たす為にはA)とB)の両タイプを組み合わせる必要があると考えていましたが、どのように組み合わせるべきか?で混乱したので、決定表(デシジョンテーブル)を書いて整理してみました。

上2項目が条件、下2項目が考えうる行動(この場合は動作)になります。

(1) ホッパーにアイテムが入っている Y Y N N
(2) チェスト付きトロッコに一定量以上のアイテムが入っている Y N Y N
(a) 進む=ピストン引く X X X
(b) 積む=ピストン出す X

※決定表とはなにか?はこちらで。

2列目(赤枠)に注目。「ホッパーにアイテムが入っている」かつ「チェスト付きトロッコに一定量以上のアイテムが入って”いない”」場合に、「積む=ピストンを出す」ことができれば実現できそうです。

このままだと論理回路にできないので、「チェスト付きトロッコに一定量以上のアイテムが入って”いない”」はNot回路で反転させたところ、下記ように「And回路」の形になりました。

コンパレーターからの入力 ピストンへの出力
(1) (2)
0 0 0
1 0 0
0 1 0
1 1 1

つまり、「(1)ホッパーにアイテムが入っている」ことを検知した出力と、「(2)チェスト付きトロッコに一定量以上のアイテムが入っている」ことを検知してNotした出力を、And回路を通して粘着ピストンに与えれば良いことになります。
 
あとは実際に回路を組むのみです。
 
「(1)ホッパーにアイテムが入っている」ことを検知する回路
これは単純です。ホッパーの隣にコンパレーターを設置し、レッドストーンパウダーでAnd回路に送ります。
ただし、ホッパーの容量が少ないとAnd回路まで信号が届かないので、リピーターで増幅します。このリピーターは隣接するピストンに動力を伝えない役割も持ちます。
また、リピーターの次のブロックはハーフブロックにします。これは下の段にあるレッドストーントーチの影響を受けないようにするためです。

下から2段目の層

 
「(2)チェスト付きトロッコに一定量以上のアイテムが入っている[1]」ことを検知しNotする回路
斜面に設置したアクティベーターレールの隣にコンパレーターを設置し、レール上にあるチェスト付きトロッコの容量をチェックします。
そのままだと1個のアイテムでも信号を出力してしまうので、横から動力を別のコンパレーター+ドロッパーで与えています。
コンパレーターは横からの入力がある場合、後>=横になった場合のみ、前に信号が出力されるため、ドロッパーのアイテム量でチェスト付きトロッコにどれだけ積むかを調整できます。
詳しくは下記サイトで説明されています。
Minecraft-Wiki-レッドストーンコンパレーター

下から1段目の層

 
And回路
2つの回路の結果をAnd回路に通し、結果をピストンに送ります。


 
以上です。質問やご意見はコメント欄にお願いします。
最後までご覧いただきありがとうございました。よろしければ広告もご覧ください♪
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*