Mojangより配信されているMinecraft: Pocket EditionのModについて包括的に扱うwikiです。

redstoneUpdateHook

概要

function redstoneUpdateHook(X, Y, Z, NEW_CURRENT, WORLD_LOADING, BLOCK_ID, BLOCK_DAMAGE){
}
追加したブロックのレッドストーン入力に変更があった時に呼び出されるフック関数。
既存のブロックのレッドストーン入力の変更に対しては一切フックしない。

フックするブロックの条件は以下の2点である。
  1. Block.defineBlockで追加したブロックである事
  2. Block.setRedstoneConsumerで検出する設定にしたブロックである事

フックされるタイミングは二種類ある。
一つ目はワールド生成時や新しくBlock.setRedstoneConsumerで設定したブロックが設置された時。
二つ目は既に設置されたブロックへのレッドストーン入力に変化があった時。
この二つはWORLD_LOADINGの値で判別する。

引数

引数説明
intXブロックのX座標
intYブロックのY座標
intZブロックのZ座標
intNEW_CURRENTブロックに流れるレッドストーン入力の量
booleanWORLD_LOADINGワールド読み込み時のフックか否か
intBLOCK_IDブロックのID
intBLOCK_DAMAGEブロックのダメージ値
フックされたタイミングによって、WORLD_LOADINGが変化する。
trueブロックを設置するか
ワールド読み込みを行った場合
false既に設置されたブロックへのレッドストーン入力に
変化があった場合

//redstoneUpdateHookが受け取る情報を表示するテンプレ
var TEXTURE_ARRAY = [["log",1],["pumpkin",0],["chest_inventory",2],["furnace",1],["tnt",0],["command_block",0]];
Block.defineBlock(23, "test", TEXTURE_ARRAY, 1, false, 0);
Block.setRedstoneConsumer(23,true); //フックするブロックとして登録
Item.setCategory(23, ItemCategory.MATERIAL);
Player.addItemCreativeInv(23,1,0);

function redstoneUpdateHook(X, Y, Z, NEW_CURRENT, WORLD_LOADING, BLOCK_ID, BLOCK_DAMAGE){
 clientMessage("座標 [ x:"+X+", y:"+Y+", z:"+Z+" ]");
 clientMessage("ブロックの情報 [ ID:"+BLOCK_ID+", DAMAGE:"+BLOCK_DAMAGE+" ]");
 clientMessage("レッドストーン入力の流量 :"+ NEW_CURRENT+", ローディング:"+WORLD_LOADING);
}

コメントをかく


利用規約をご確認のうえご記入下さい

WIKi内検索

メンバーのみ編集できます

メンバー募集!