Modding > ComputerCraftAPI > IPeripheral

ComputerCraftAPIのIPeripheralインターフェイスについて解説する。
特に断りがない限りは、文中の「コンピュータ」はComputerおよびTurtleを指す。

参考資料:
執筆時のバージョン:
  • ComputerCraft 1.52 for Minecraft 1.5.1




interface IPeripheral

周辺機器を定義するインターフェイス。ComputerやTurtleと対話させたいブロックのTileEntityによって実装される。

void attach( IComputerAccess computer )

canAttachToSideでtrueを返した周辺機器の方向にコンピュータが接続されたときに呼び出される。

これは、作動中のコンピュータの隣に周辺機器が設置され、また周辺機器の隣のコンピュータが起動され、あるいは周辺機器の隣にタートルが移動してきたときに発生する。attach()が呼び出されてからdetach()が呼び出される間、接続されたコンピュータはperipheral.call()を使って周辺機器のメソッドを呼び出す可能性がある。このメソッドは、どのコンピュータが周辺機器に接続しているのかを記録したり、接続されたときの処理を実行するために使われる。

注意: このメソッドはComputerCraftのLuaスレッドから呼び出される。Minecraftオブジェクトとの対話時にはスレッドセーフでなければならない。

computer
接続されたコンピュータへのインターフェイス。一つの周辺機器には複数のコンピュータが接続される可能性があることに注意。

Object[] callMethod( IComputerAccess computer, int method, Object[] arguments ) throws Exception

getMethodNames()で公開したメソッドのどれかを接続されたコンピュータのLuaプログラミングがperipheral.call()で呼び出したときに呼び出される。

注意: このメソッドはComputerCraftのLuaスレッドから呼び出される。Minecraftオブジェクトとの対話時にはスレッドセーフでなければならない。

computer
呼び出したコンピュータへのインターフェイス。一つの周辺機器には複数のコンピュータが接続される可能性があることに注意。
method
コンピュータがgetMethodNames()からどのメソッドを呼び出そうとしているのかを識別する整数。この整数はperipheral.call()に渡された文字列がgetMethodNames()の配列と一致するインデックスを示す。
arguments
peripheral.call()に渡された引数を表すオブジェクトの配列。Luaの文字列型の値はStringオブジェクトに、数値型はDoubleオブジェクトに、ブーリアン型はBooleanオブジェクトに、その他の型はnullによって表される。引数がない場合は空の配列となる。
戻り値
Luaプログラムへの戻り値を表すオブジェクトの配列。Integerや、Double、Float、String、Boolean、nullはそれぞれ適切なLuaの型に変換される。他のすべての型はnilに変換される。nullを返した場合は何の値も返さないことを表す。
Exception
この関数から例外をスローすると、スローした例外と同じメッセージのLuaエラーを発生させる。これはメソッドに渡された変数が正しくない場合に適切なエラーをスローするために使う。

boolean canAttachToSide( int side )

コンピュータが周辺機器に接続される直前に呼び出され、接続を許可するかを返す。

side
周辺機器からの相対的なコンピュータのある方向(0=Bottom、1=Top、2=East、3=West、4=North、5=South)。

void detach( IComputerAccess computer )

コンピュータが周辺機器から取り外されるときに呼び出される。

これは、コンピュータがシャットダウンされ、また周辺機器が接続しているコンピュータから取り外され、あるいは周辺機器に接続していたタートルが離れたときに発生する。このメソッドは、どのコンピュータが周辺機器に接続しているのかを記録したり、取り外されたときの処理を実行するために使われる。

注意: このメソッドはComputerCraftのLuaスレッドから呼び出される。Minecraftオブジェクトとの対話時にはスレッドセーフでなければならない。

computer
接続されたコンピュータへのインターフェイス。一つの周辺機器には複数のコンピュータが接続される可能性があることに注意。

String[] getMethodNames()

周辺機器がLuaに対して公開するメソッドを識別する文字列の配列を返す。

これは、周辺機器が接続される度に一度だけ呼び出され、複数回呼び出された時に(戻り値を)変えてはいけない。

戻り値
メソッドの名前を表す文字列

String getType()

周辺機器のタイプを識別する独自の文字列を返す。

これは、Luaからperipheral.getType()が呼ばれたときに使われる。

戻り値
周辺機器のタイプを識別する文字列

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2013年05月05日 19:32