■ クラフターを使ってみる2 : (次期アップデートの機能) 【 マインクラフトベータ版 】 | @Kay-nea@のブログ

@Kay-nea@のブログ

アメブロ初心者なのでよく解っていませんが、始めてみました。

(*)FacebookとInstagramはやっていません。

 先日は、

 

 

にてクラフターを使ってみました。

 

 先日、マインクラフトライブが開催されましたが、その中で次期アップデートで追加される機能の一部について発表がありました。

 今後は、徐々にアップデート内容が追加されるようなので、前回の内容は磁気アップデートで追加される機能の一部になりますが、それでも結構なボリュームがありました。

 まず、レイド発生して、エメラルドが入るストレイのスポーンするスポナーや、動で出来た新しいバイオームも登場します。ここでは新しいブロックが多く存在していましたが、 【 網目のブロック 】 がコントは使用できるようになるので、フェンスや足場の表現の選択肢が増えます。また、時間の経過で暗くなる光源ブロックもあり、面白いものが揃っていましたが、銅ブロックと凝灰岩のブロックの装飾が増えるので新しい質感表現が可能になります。

 アップデートによって発生する恩恵の中には 【 建築関連の素材の増加 】 もありますが、前回の桜の追加で更に自由度は高くなりましたが、次期アップデートでも面白いものが揃っています。

 そして、レッドストーン周りもアップデートと一緒に増えていますが、新しいMOBとしてウィザーの小型版のようなものも登場していました。
 
 このMOBは攻撃をするとレッドストーン信号が出る玉を発射するようなので、動画内では、攻撃先のトラップドアが反応しているシーンもありましたが、攻撃対象は任意のものを選んでいるはずなので、その条件を指定できると、 【 乱数的な制御 】 が出来るようになるかも知れません。

 この詳細はわからないのですが、これとは別に、アドオンで存在していたブロックが公式で実装さえっるようです。

 これが、自動生成用のブロックになりますが、作業台に不要なスロットにアイテムが入らないようにロックをかけて、その必要な部分にアイテムを流すことでアイテムが自動生成され射出されると言う仕組みのものになりますが、これを使うと 【 アイテムを移送すると移送されてクラフトが可能な条件であれば、クラフトできる数だけ自動で指定したアイテムが生成される 】 という仕組みになっています。
 

 

 つまり、次期アップデートからは 【 アイテムの量産 】 が可能になるようです。

 この内容を見ると、

  ■ レッドストーン信号を出すMOB
  ■ アイテムのクラフトを自動で行うブロック

と回路周りでも面白いものが増えます。
 
 ベータ版が1.20.50.21になっていたのですが、このバージョンでは、1.21の機能の一部が使用できるようになっています。
 


ベータ版の機能を見ると、



のようになっており、今後のアップデートで追加される村人の交易についても実装されています。

 この村人の交易は、バイオームごとに司書の取り扱う本の種類が固定されるというもので、一箇所で司書ガチャを行って優位性のあるエンチャントを出すことが出来ない仕様になっています。

 まだ、この機能は実装されていないのですが、そういった機能が存在しています。今回は、この2つをオンにしてみました。



 1.21の機能を実装してワールドを作ってみると自動処理が出来る 【 CRAFTER 】 が実装されていました。

 クラフターは

 
のような形状をしており、ドロッパーと作業台が組み合わさったような仕様のブロックになっています。その為、



のようにホッパーでアイテムを移送してアイテムを送ることが出来ます。

 
のようにホッパーに対してレッドストーン信号を与えるとアイテムの移送が止まるので、この状態でアイテムを入れて



のようにします。とりあえず、



のように小麦を入れて



のようにレッドストーントーチの信号を切ると、



のようにアイテムが移送され始めるのでスロットを全て開放した状態だと



のようになります。つまり、この状態だと俵を創ることができるようになっています。
 
 クラフターはドロッパーのようにアイテムを射出する仕組みになっていますが、この仕組みもドロッパーやディスペンサーを動かすのと全く同じなので、クロック信号が必要になります。

 クロック信号は、電気工作のタイマー回路と同じものになりますが、プログラミング言語の反復処理をブロックで再現したものになります。簡単な構造のものだとNOT回路を3つ用意して信号を回帰させればいいのですが、レッドストーン松明を2つ用意して、ブロックに配置して、2つのNOT回路を一つのブロックで賄うようにして、両方のレッドストーン信号をブロックに送り返すことでもクロック回路を作ることが出来ます。これは、昔から存在するものなので、JAVA版や旧コンソール版でも動きますが、これを使用して



のようにすることで高速なクロックでアイテムを射出することが出来るようになっています。

 最初に



のような形でスロットを閉じていない状態にしてみました。この状態だと別のものを作らない場合だと先程の俵が出来るはずですが、小麦の場合、



のようにパンができるので、この状態だと、パンが出来るとレッドストーン信号でドロップされるので、

 
 

のようにパンが量産されてしまいます。その為、【 クロックの発生のタイミング 】 を合わせることで、クラフトするブロックを確定させる仕様になっています。

 基本的に、 【 全てのブロックが埋まった状態にしておく 】 とアイテム仕分け器のようにおかしな状態にならずにすみますが、クラフトできない状態が発生すると止まりますし、先程の俵とパンの事例のように別のものがクラフトできてしまう条件だと9つのスロットを埋めて作るものは生成できないのでクロックを調整して量産を行うことになります。

 スロットを埋めた状態だと



のように9つのスロットを全て埋めないとクラフトできないものも高速クロックな回路で量産できます。

 とりあえず、



のようなクロック回路を用意して



のように新五号を入れるとオフに出来るのですが、これが低コストで比較的高速に動作するクロック回路になります。JAVA版だとこれよりも高速なものがありますが、統合版だと無遅延回路と同様に動作しないので、クロックのタイミングの早い回路を作ることになります。この上にクラフターとホッパーを置いて



のようにするとアイテムが射出されるようになるので、



のような構造にして水流で流すようにすると 【 最小の状態で作れるもの 】 をクラフトすることが出来ます。この構造だと、

  ■ 上の部分 : 板材
  ■ 下の部分 : ボタン

だとこの回路で動作するので、ボタンを量産できるのですが、クラフトする対象物を変更する場合には、クロックをコントロールすることになります。

 クラフターでは



のようにスロットにアイテムが入らないように出来るので、



のように板材が入るとボタンが量産されますが、

【 棒 】


【 ハーフブロック 】

【 感知板 】

【 階段 】


などを指定することも出来ます。チェストの量産をする場合、



のようにしてスロットを埋めることになりますが、通常の量産だと



のようにクロックを発生させて併設すると一度に作れる量が増えます。ただし、この状態だとアイテムの数が切れるとおかしな挙動になります。
 
 例えば、



のような階段ブロックを生成する場合、スロットが埋まっている状態だと問題がないのですが、アイテムが切れると



のようになるので、



のように最小単位でクラフトできる回路とは異なるので、違うアイテムが混ざる恐れがあります。そこで、個数に判定を入れて動きに制約をかけることにしてみました。

 とりあえず、アイテム不足の時に射出してもらうと困るので、今回は、その対策を講じた装置を作ってみました。



がその装置になりますが、



のようにクラフターでドロッパーを挟む作りになっていますが、一番上のクラフター以外は動作するので、最上部にクラフトしたアイテムを移送できるようになっています。

 使用しているクロック回路は、



になりますが、



レッドストーン信号が来るとの部分にレッドストーンブロックを配置した状態と同じ挙動になります。これがクロックで制御されているので、ドロッパーが動作する仕組みになっています。

 この入力をレッドストーンリピーターにすると真ん中の信号だけで3つのブロックにクロック振動が伝達されるのですが、今回は一番上のものも連動してもらうと困るので、このような形氏にしています。

 前回は、可変式のクロック実行装置を作ったのですが、この仕組みは至って簡単で 【 比較 】 を行ってその条件で実行するだけです。レッドストーンコンパレーターは電気工作で使用するコンパレーターと同じなので、 

  ■ 入力値
  ■ 比較する値

を使用してその差がどうなっているのかで通電の有無を指定することが出来るようになっています。電気工作の場合、コンパレーターの入力で判定を入れてその信号をトランジスタに送ると、電流の状態変化で動作する回路を切り替えることが出来ますが、マインクラフトのコンパレーターの場合 【 レッドストーン信号の信号強度 】 で判定を行います。この時に、 【 インベントリを持つブロック 】 を使用してイベントリの状態でレッドストーン信号を取得できるので、それを用いると条件によって信号の出力の有無をコントロールすることが出来ます。

 今回必要なのは 【 単体での以上の判定 】 ですから、コンパレーターの減算モードを使用しています。



クラフターはドロッパーと同じなので、



の世にドロッパーを使用していますが、



の状態でアイテムを入れると9つのスロットに対応することが出来ました。この信号を取得して



のようなクロック回路に伝達し、信号が出た際にクロックが発生する仕組みにして、この信号を



の部分に送ることで、上部のクラフターが動作する仕組みになっています。その為、信号が来ると、



の向きにアイテム外装されるので、チェストの中にクラフト済みのアイテムが移送されます。
 

 この装置は、

  ■ 鉄塊
  ■ 金塊

を自動で

  ■ 鉄ブロック
  ■ 金ブロック

に出来る装置になりますが、放置しておくだけで二段階の処理が必要なクラフトが自動で終了する仕組みになっています。
 
 実際に動かした動画が
 
 
になりますが、マイクラには2度で精錬する必要があるブロックも存在するので、こういった処理が必要になります。
 
 二度の精錬が必要なものだと滑らかな石がありますが、これを単独の装置で複数の石を使って 【 溶岩入りバケツ 】 で精錬する場合だと、




 
のような設備になりますが、通常だと2つのかまどを繋ぐだけでは無理な精錬も移送方法を考えると一つのかまどだけで高さを取らずに2段階の精錬をすることもできます。クラフターを使うとクラフト前にアイテムが射出される問題を解消した構造を実装したものを作ってみました。
 
 

  額縁で設定できる装置

 
 今回は、ベータ版の1.20.50.22で装置を作っています。
 
 
 先日は、アイテム数でコントロールをする装置を作りましたが、今回は、額縁で個数を指定できる装置を作ることにしました。
 
 額縁は、
 
 
 
のように回転した角度に応じて信号が変わる仕組みになっています。その為、
 
 
の信号の変化を小Pナレーターで使用すると
 
 
のよにあ物を作ることが出来ますがこの判定を使うと、 【 特定の信号強度 】 を取得することが出来ます。
 
 クラフターにコンパレーターを繋いで
 
 
のようにして出力信号の有無をレッドストーンランプで検知するようにすると
 
 
のようになりますが、この状態で最大の信号を出すと
 
 
 
のように 【 信号強度9 】 の信号を取得できるようになっています。その為、この時に
 
【 クラフトする時の信号強度 −1 】 
 
の信号強度で判定をすれば、異なるアイテムがクラフトされることはなくなります。
 
 この構造で、仕組みを考えると、
 
 
のような感じになります。まず、
 
 
の部分で判定を行い、その信号をリピーターで信号強度16で送り出します。
 
 
その信号をブロック経由で吸着ピストンに伝達し、
 
 
信号が出るとクロック信号が出るように向かい合わせの観察者を配置しています。
 
 
この時に発生するパルシ信号は微弱なので、リピーターで強くして出力を行い、出力した信号を観察者で検知しています。
 
 
 
この時の信号をクラフターに回帰させることで判定で信号が出たときのみ動く構造にしてあります。
 
 これは試作品ですが、安定動作しなかったので小型化だけで来た事例になりますが、この構造だとクロックの速度を落とせば9ブロックの状態で完成するものを作ることが出来ます。
 

  個別の部位

 この装置は
 
  ■ 検知
  ■ パルス発生
  ■ パルスの伝達
 
の3つの構造で来ていますが、回路内に
 
  ■ ピストン
  ■ コンパレーター
 
を配置しているので、JAVA版だとBUD回路が働いて適正に動かないかも知れません。
 
 回路の仕組みとしては、
 
 
 
のようにクラフターの信号に対して 【 超過 】 の判定で額縁の信号を入力するようにしています。これで額縁側の信号以上になると信号が出るようになります。その信号は、
 
 
のような信号で動くクロック回路に繋がっているので、観察差がお互いを検知してパルス信号が連続して出るようなクロック回路に接続されています。この信号が入ると
 
 
のようにクロックが始まるので、この信号を
 
 
のように観察者で検知をしてクラフターに送り返すとアイテムが射出されるので、アイテムのクラフトと移送ができるようになっています。
 
 
 

  全体像

 
 先程の構造を平面ではなく、空間的に配置すると
 
 
のようになります。
 
 
のようになっているので、チェストなどを含まない今回の装置のみのだと 
 
   ■  幅  : 3ブロック
   ■ 高 さ : 3ブロック
   ■ 奥行き : 5ブロック
 
で収まるサイズになっています。装置は、
 
 
のようにクラフターのインベントリの信号が基準になっているので、アイテムの移送が発生して信号が出るように鳴っています。この時の信号の状態を額縁からの信号で制御しています。側面の信号が判定用ですから、
 
 
のように額縁を追加して、
 
 
のように額縁に配置したアイテムの角度で信号を変更することになります。コンパレーターは、
 
 
のように信号を検知すると信号を出力しますが、レッドストーン松明の場合だと信号強度15なので15ブロック先まで信号が出ます。
 
 この時に超過の条件で信号が出るようにすると、
 
 
のように信号が出なくなるので側面からの信号を弱くする必要があります。レッドストーン信号は距離が進むごとに減衰するので、
 
 
のように距離を話すと15の信号も15未満になるので信号が出るようになります。今回の装置ではこの判定の仕様を用いてブロックの生成と停止をコントロールできるようにしています。
 
 この時の信号が出るとクロック回路の信号が伝達されるのですが、クロック信号は、
 
 
のように観察者で検知して、出力した信号を観察者で検知して、その検地した信号を
 
 
 
のように観察者で検知を行い、その観察者の変化を観察者で検知してクラフターに信号を送るようになています。
 
 ちなみに、コンパレーターはスロットの状態も判定しているので、
 
 
 
の状態だと0なので、
 
 
のように信号が出ませんが、
 
 
のようにスロットを閉じると
 
 
のように信号が出ます。その為、
 
 
のようにトラップドアを作る際に全てのスロットを埋めた状態で動かすと9の信号が出るので、この状態での動作は8スロットまでだと止まる必要が有るので、額縁の信号を最大にして動かすことになります。先日 【 信号強度9 】 で動く回路を創りましたが、この回路を9で指定したのもそのためです。
 
 その為、
 
 
だと5なのでボタンが出来ないようにすればいいので、4で止まるようにする必要が有るので、
 
 
になり、
 
 
 
の場合だと、1を足せばいいので、
 
 
 
を指定することで動作させることができます。この状態にすると、
 
 
  ■ ボタン
  ■ 木の感知板
  ■ ハーフブロック
 
の3つを額縁だけで調整できるので、今回の装置のスロットの状態を指定しておけば、額縁の状態の変更だけでこの3つのブロックの製造を切り替えることが出来ます。
 
 今回の回路では、クロックの調整に
 
 
のようにリピーターを配置したのですが、クロックが速いと
 
 
のように余計なものが出て、遅くするとクロックが鑑賞するのでリピーター部分でレッドストーン信号が止まるので、今回の成果としては、 【 チェストなどの9スロットが全て埋まるものを省スペースで作れる 】 という利点だけになります。
 
 これも、クロックが速すぎるのか、時々壊れることがあったので結構不安定な回路になりました。
 
 とりあえず、仕組みとして比較は使用できることは確認できたので、クロックをどの程度遅らせればいいのかの確認をすれば試験的な異能で実装されている物の対応はできそうですが、止めるだけだとクロックのほうが勝つことがあるので、今回のような挙動になる個Tもあるみたいです。
 
 この条件から考えると、信号強度の変化で比較をするだけでなく、クロックのコントロールも連動させれば2つや3つの状態にも対応できそうですが、上手く行かないこともあったので、今回の回路は 【 省スペース化の回路 】 という位置づけになってしまいました。
 
 アイテムを常に流し続ける状態だとチェストの状態で問題がないのですが、指定したものを作るという条件で作る場合だと、アイテムの移送方法も一緒に考える必要が出てくるので、ポーション製造機に見られるようなアイテムの移送方法を取り入れる必要がありそうです。