*Signs and Markers 看板とマーカー Overviewrは看板やマーカー、ポイント(原文points of interest:以下POI)をマップに表示できます。 普通の設定とはちょっと違うので、注意して見てみましょう。 *設定ファイル **フィルタ関数 フィルタ関数とはpythonの関数で、POIがどのにmarkerSetに属するかを決め、どのように表示するかを設定します。 引数は一つ(辞書:連想配列のようなもの)で、返り値は表示するために用意された文字列です。 例 #highlight(python){{ def signFilter(poi): if poi['id'] == 'Sign': return "\n".join([poi['Text1'], poi['Text2'], poi['Text3'], poi['Text4']]) }} もしPOIが合わなければ、何も返しません。 (Pythonの関数の仕様で、'return'無しに関数が終わった時にこうなります。) 引数はチャンクファイルから直接取得したTileEntityやEntityです。 プレイヤーの場所やスポーンのような特殊なEntitiyであることもあるでしょう。 上の例ではEntityが看板(sign)だった場合、書かれている4行を返します。 TileEntityやEntityについてもっと知りたければ、[[MinecraftWikiのChunk Format>http://www.minecraftwiki.net/wiki/Chunk_format]]を見て下さい。 ちょっと違う例 #highlight(python){{ def chestFilter(poi): if poi['id'] == "Chest": return "Chest with %d items" % len(poi['Items']) }} **特殊なPOI 2種類の特殊なPOIがあり、それぞれ特殊なIDをもっています。 :PlayerSpawn|スポーン位置を示しています。 プレイヤー名はEntityIdキーに、場所はx,y,zキーに格納されています。 :Player|プレイヤーの最後の位置を示しています。 プレイヤー名はEntityIdキーに、場所はx,y,zキーに格納されています。 >注 >プレイヤーの位置は、シングルであればlevel.datマルチであればplayer.datファイルから取得されます。 >位置情報はワールドをセーブした時のみ書き込まれますので、リアルタイムの情報というわけではありません。