LiteloaderBDS ID メモ

IDについて。

まず

ブロックIDとはブロックの種類を一意に示す番号。コマンドでおなじみの文字列で構成された「名前空間ID」(例:command_block)と各種サーバーソフトウェアで戦うことになる数値の方の2つがある。

数値

数値のやつはidとMetadataの2つの数値で表され、焼石なら1:0といった具合になる。昔のJava版のコマンドでおなじみかもしれない。たいてい、左側のidがブロックの種類、右側のmetaが詳細な状態(設置の向きや稼働の有無など)を示す。1id=1ブロックとおおむね考えていいが、id17はカテゴライズが「原木」で、metaの違いでオーク/トウヒ/白樺/ジャングルの原木がまとめて入っていたりなど、たまに例外がある。特にMinecraft初期からあったアイテムに顕著。

ここに一覧がある。厄介ポイントとして、データ値による違いは載っていないが、まあ調べれば出るでしょ。

ここから本題

LiteLoaderBDSではidを取得するgetId()、metaを取得するgetTileData()がそれぞれ存在している。しかし、このgetId()は上の数値をそのまま返すわけではなく、数値が大きい(id>255?)時に(元のid-255) * (-1) という処理が挟む。めんどくさ。

あとアイテムに関しては上のリンクのItem Table with Numeric Runtime ID の欄を参照。