[ComputerCraft 1.53~]通信API

レッドストーン回路、ピストン、新要素など技術紹介や検証などで盛り上がろう!
  • (PostNo.119656)

[ComputerCraft 1.53~]通信API

投稿記事by はりねずみ » 2013年8月06日(火) 23:23

無線で地底にあるタートルを遠隔操作したいけど、通信距離が足りない!
2つの拠点同士にある複数のコンピューターで通信したいけど、エンダーパールが足りない!

そんな時に活躍するかもしれない微妙なAPIを作ってみました。
目指せ10download!
10Download達成しました!ありがとう!

※os.pullEventRawを書き換えます。同じ事をするプログラムと一緒に実行しないでください。
あと、更新時に上位互換となるものはLN.で始まる関数のみです。
それ以外の関数は予告なく変更されます。

要項
このAPIでは、コンピューター間の通信にLANとWANの概念を与え、OSI参照レベルの第一~第三層相当の機能を与えます。
既存のRednet回線とは普通の状況では干渉しません。(65530台目のコンピューターが存在すると干渉する可能性があります)
また、第三層までなので通信の品質などは保証されません。つまり途中で送ったデータが何かしらの理由で消滅しても検知できません。


追加される関数
■LN.init(side)
sideで指定した方向のモデムを有効化します。使わなくても必要になると適当にモデムを有効化するので使わなくてもいいです。
ただし、その場合LANネットワークへの接続処理が行われる前に転送しようとするので一回目は失敗します。
戻り値:成功すれば有効化したモデムの向き、失敗時nilかfalse

■LN.receive(timeout)
timeoutで指定した秒数の間、自分宛のデータが届くまで待ちます。省略時は3秒。
戻り値:送信元のcomputerID、受信したデータ、受信に使ったモデムの向き
ただし、指定時間内に何も受信しなければnilを返します

■LN.send(id, data, side)
idで指定したコンピューターsideで指定した向きのモデムを使ってdataの文字列を送ります。
sideは省略可能、省略時は適当についてるモデムを使います。
戻り値:成功時true

ほかにもわんさかあるけど基本はこれで


インストール方法
OSI.zip
2013/08/03 Update
(13.21 KiB) ダウンロード数: 73 回

※CC 1.53くらい(未テスト未確認ノンサポート動作報告募集中)
①ZIPファイルをダウンロード、展開する
②「OSI/assets/computercraft/lua/rom/apis」の中にある4つのファイルを「ComputerCraft1.53.zip/lua/rom/apis/」に入れておく
③「OSI/assets/computercraft/lua/rom/programs」の中にある2つのファイルを「ComputerCraft1.53.zip/lua/rom/programs/」に入れておく

※CC 1.55以降
①Minecraftを起動する
②ゲーム内オプションから「resourcepacks」フォルダを開きそこにZIPを入れる
③Minecraftを再起動する


クライアントのセットアップ方法
ルーターのLAN側につながるようにモデムが接続されていれば、どのような状態でも構いません。勝手にopenしてくれます。
ワイヤレスモデムならどっかの面に付いてれば認識します。


ルーターのセットアップ方法
ルーター接続.png
ルーター接続.png (9.43 KiB) 表示数: 3895 回

上の図の通り、コンピューターの左右にモデムをつけた後、コンピューターを起動後、「router」と入力します。ただしWAN側に何もないとエラーが発生します。
停止する時はCTRL+T長押し後rebootかshutdownしてください。rebootなしで作業をしようとすると必ず何か問題が発生するはずです。
それぞれ、有線無線でなければならない訳ではありませんがLANは有線、WANは無線を使うことをおすすめします。
また、LAN側が存在しない場合はWAN側をLAN接続にも使用します。無線モデムであればいわゆるアクセスポイントのように扱えます。
タートルは何も考えなくても勝手にルーター化できます。
ルーターが複数ある場合、それぞれのネットワークを共有します。なのでルーターを中継地点のように使うとかなり更に遠くと通信できます。
※chunk読み込み範囲外に出て凍結されたりすると中継、アクセスポイント、LAN制御などのすべての機能が停止します。


今後の妄想
・OSI参照モデルをデタラメに模して作っているので、四層目以降も作りたいなぁ・・・
・赤石遠隔操作みたいなサンプルプログラムをつけたほうがいいよなぁ・・・
・やっぱりニコ動とかで宣伝しないと・・・


※「modpackに混ぜたい」「自作プログラムで利用するので一緒にしたい」など何かしら再配布したい場合は利用者にこのページのアドレスをわかりやすく提示してください。
※動画やブログなどで紹介する分にはご自由にどうぞ。むしろどんどんやってください。
※サポートは気まぐれに行います。
TNTキャノン製作が本業ですが並大抵の赤石回路も組めるんです。嘘じゃないです。
あと、マルチサーバーをひっそり管理中

最近、こんなものを作りました。
はりねずみ
ID:191abb22
木を殴ってる
 
記事: 11
登録日時: 2011年9月23日(金) 13:12
お住まい: お米で有名な所

  • (PostNo.192327)

Re: [ComputerCraft 1.53~]通信API

投稿記事by 衣類ドラゴン » 2014年9月04日(木) 21:22

Modに関してはMOD 公開/紹介のほうがいいのでは?
違ってたらすいません
人々を黙らせる能力を発揮してたりします

ぐへ

マイクラのMod入れたときのエラー
https://puu.sh/xOQWL/f66f47f6b3.png
アバター
衣類ドラゴン
ID:455f80ab
石炭掘り
 
記事: 227
登録日時: 2013年5月13日(月) 19:09
お住まい: 38.870998, -77.055973

  • (PostNo.242630)

Re: [ComputerCraft 1.53~]通信API

投稿記事by yukimori » 2015年8月11日(火) 16:07

Modに関してはMOD 公開/紹介のほうがいいとおもいますよ削除申請をしてから立て直しましょう
1,7,10最高(最新版に追いつかない)
1.2.5も
mod開発中http://forum.minecraftuser.jp/viewtopic.php?f=21&t=27817
気が向いたので1.8・1.9のmodを開発します。
mod作成ソフトMCreatorで作成しています
アバター
yukimori
ID:a86a6299
石掘り
 
記事: 70
登録日時: 2015年2月07日(土) 10:43
お住まい: 学園都市minecraftmod市

  • (PostNo.247380)

Re: [ComputerCraft 1.53~]通信API

投稿記事by yukimori » 2015年9月18日(金) 16:31

現在Computercraftは1.74ですそろそろアップデートをしてみて輪
1,7,10最高(最新版に追いつかない)
1.2.5も
mod開発中http://forum.minecraftuser.jp/viewtopic.php?f=21&t=27817
気が向いたので1.8・1.9のmodを開発します。
mod作成ソフトMCreatorで作成しています
アバター
yukimori
ID:728b295b
石掘り
 
記事: 70
登録日時: 2015年2月07日(土) 10:43
お住まい: 学園都市minecraftmod市


Return to テクニック研究/紹介

x