API Changes
From 8x9craft
v0.3
- worldオブジェクトに getPlayers()を追加
- worldオブジェクトにgetPlayer(name)を追加
v0.2.3
- int itemSlotCount(int slotNo) - 指定したスロットのアイテム数を返却
これは、はっくんのインベントリのアイテムをアイテムのスタックス数で並び替えをする。 というレクチャーで必要だとおもった。簡単に数がわかるメソッドが必要
- JsEntityPlayer getOwner() - はっくんのオーナーを取得
これは、ownerというオブジェクトを廃止したあと、どこから取得するかということで、 はっくんに追加した、将来Playerのオブジェクトを、近くにいるプレイヤーとかいうAPI経由で取得する可能性がでたため、ownerという固定のオブジェクトより取得するほうがよいとおもったため
- owner オブジェクトの廃止
- String waitForChat() - 引数なし、全てのプレイヤーのチャットメッセージを待つ
- String waitForChat(String playerName) - 指定したプレイヤーがチャットで発言するのを待つ
- Vector3i waitForBlock() - 前後左右、上下においてブロックに変化があるのを待つ、戻り値は変更されたブロックの座標
- int waitForRedstone() - 前後左右、上下において、レッドストーンの入力の変化を待つ
- int waitForRedstone(String side) - 指定した方向からのレッドストーンの入力の変化を待つ
- Object waitFor(String msgType, String ... args) - システムメッセージ、またはカスタムメッセージの入力を待つ
カスタムメッセージは自分ではwait中は呼ぶことができないので、他のはっくんからのメッセージ待ちという意味になります。システムメッセージには以下のものがあります。 また、システムメッセージを直接指定してwaitForを使用する場合、引数が一個以上のものあるので、waitForChatやそのほかよりも、詳細な情報を取得することもできます。
- 8x9Craft.chat - チャットメッセージで使用
- 1: メッセージ 2:プレイヤー名 3:プレイヤーの位置 4: プレイヤーの向き
- 8x9Craft.blockchange - ブロック変更で使用
- 1: ブロック名 2:変更されたブロックの座標
- 8x9Craft.redstonechange - レッドストーン変更で使用
- 1: 入力した向き 2:レッドストーン信号のレベル
- 8x9Craft.chat - チャットメッセージで使用
- onChat(NativeFunction) - waitForChatと基本的には同じだけど、ブロックしないで、ファンクションを指定できます
- onBlock(NativeFunction) - waitForBlockと基本的には同じだけど、ブロックしないで、ファンクションを指定できます
- onRedstone(NativeFunction) - waitForBlockと基本的には同じだけど、ブロックしないで、ファンクションを指定できます
- on(String msgName, NativeFunction) - waitForと基本的には同じだけど、ブロックしないで、ファンクションを指定できます
- emit(String msgName, Object... args) - カスタムメッセージを自分に発信します
- broadcast(String msgName, Object... args) - カスタムメッセージをすべてのプログラムが動いているはっくんに発信します