2019年7月16日火曜日

コンピュータークラフトを極める その1

Computer Craft は、プログラムを組み、採掘、整地、植林、建築などをタートルを動かして自動化していく究極のマイクラMODです。様々なプログラムを組み複数台のタートルに連携をさせていけば、大掛かりな自動システムも可能となります。

プログラム経験がないので、もっと効率よいプログラムもあるかもしれませんが、素人なりのひらめきで乗り切っていきたいと思います。



簡単なプログラム
プログラムのチュートリアル。タートルの単純な作業の簡単なループプログラムです。地面に6ブロック設置、上にブロック積み上げていく、最高256段の階段を作って降りるなどの簡単なプログラムです。


豆腐建築プログラム
マイクラのワールドでプログラムを組んでタートルを動かすという一番とっつきにくいMODだといえますが、四角を積み上げていく豆腐建築プログラムは、初心者でも簡単にでき、達成感があるプログラムなので、導入編としては最適です。


外部エディタ Sublime Text
プログラムの編集をマイクラのゲーム内で行うには、かなり無理があります。画面が小さいのでプログラム全体が見えない、日本語のプログラムの説明が記述できない、コピーペーストができないなどとても不便です。一文字違っただけで動かないのがプログラムです。書きやすさと読みやすさ、他の人が作ったプログラムの導入を考えたら外部エディタをお勧めします。


無料で使えて高機能なプログラミングエディター SublimeText3「サブライムテキスト」のツールバーやプルダウンメニューを日本語化する方法です。このエディターは、メニューが多いんで多機能だと思われますが、残念ながらすべて英語です。プラグインを導入して日本語化します。難易度はかなり高めです。


渦巻き状にブロックを敷き詰める
プログラム経験のない初心者が、どれだけのことができるかをやっていきたいと思います。床や天井にブロックを設置することを想定してプログラムしてみました。ただブロックを敷き詰めるだけなら簡単なんですが、コンフィグから縦と横のサイズをそれぞれ設定できるプログラムとなっています。


往復移動で床を貼る
床を作るプログラムです。コンフィグで縦と横のサイズを変更できることが特徴です。プログラミング未経験者ですが、コツをつかめば何とかなりそうなMODのコンピュータークラフト、というかマイクラ経験者はプログラムが好きなのでは・・・


スロットを管理して最大値までの床
床を作るプログラムです。その3 、今回のプログラムは、チェストから燃料とブロックを補給して床を貼っていきます。タートルは横方向に2ブロック分ブロックを設置したら燃料とブロックを補給にチェストに向かいます。
タートルのスロット変更が上手くいかなかったので、範囲は無限にはできませんでした。
最大範囲は縦が256(4の倍数)
横が無限?(2の倍数)となっています。


露天掘りプログラム
サバイバルのいかなる条件でもタートルは確実に戻って来て、アイテムをチェストに入れて燃料を補給する露天掘りプログラム(クアーリー)です。MOBとの接触でタートルの移動位置が変わることを防止していますので、規則正しい採掘が可能です。採掘範囲は可変式ですが、タートルのインベントリが16スロットであることを考えると最大、24x24となります。回収するアイテムを指定すれば、クアーリープラスの最大サイズの256x256も可能になるでしょう。


チェストへの分類輸送
24x24の露天掘りプログラムのクアーリーマイナスの採掘アイテムを入れるチェストは、ラージチェスト1個だけなので当然アイテムはあふれます。必要となるのは、倉庫へのアイテム輸送システム。ただ輸送するだけなら面白くないので丸石、土、鉱石類を仕分けするプログラムを考えました。




40個のチェストに分配輸送
ラージチェストを最大10x4の40個にアイテムを分配してチェストに入れていくプログラムです。コンフィグでアイテムを登録することで、40個の内の20個のチェストに入れるアイテムを指定できます。露天掘りプログラムとの連携を考えていますので、マイニング専用タートルとアイテム輸送タートルの2台のタートルを使用します。



API や基本ルール
タートルに関する基本的なことやタートルの動作などに関するAPIやコマンド、プログラムの書き方などです。サバイバルでプログラムを組む人は、まずいないと思いますので、すべての情報は、クリエイティブで考えてサバイバルで実践となります。タートルは上位版であるアドバンスドタートルを使用します。

関連サイト
コンピュータークラフトを極める その2
高度なプログラムとして自動植林や農業の自動化などを中心として進めていきます。スロットのAPIで限りあるタートルのスロットの管理やインスペクトAPIでタートルにブロックを調べて何かをするなどが中心となります。

関連サイト
コンピュータークラフトを極める その3
自動農業を中心に考えたプログラムです。メタデータで作物の成長度合いで判別したりタートルのスロット操作を主に取り扱っています。水源の有効範囲が決まっているので、タートルの動きが少なくなり意外と楽かもしれません。

関連サイト
露天掘りを極める
タートルのインベントリが少ない、タートルの動きが遅い、タートルの位置ずれでエラーを起こす、前もって整地することやチェストとタートルの設置が面倒くさいなどを解決するために試行錯誤しましたが、64台のタートルを動かして64x64を掘りぬくクアーリーのプログラムが完成しました。

0 件のコメント:

コメントを投稿