地図アイテムフォーマット

提供: Minecraft Wiki
Map item formatから転送)
移動先: 案内検索
Clock.png
この記事は内容の更新を必要とします。
情報の一部は、現在の最新バージョンには適用されません。
Information icon.svg
この項目はJava Edition限定の要素です。

地図はその情報をアイテム内に格納しない。代わりに、保存されたファイルの地図番号 (ID) に対応した値をデータ値に保存している。それら情報はワールドを保存したフォルダーの中の "data" フォルダーに配置されている。地図毎にそのIDを持つ独立したファイルがあり、加えて地図IDの最大の値(つまり、最も最近に作られたもの)を保存するファイルがある。

ネザーにも対応しているが、ネザーには天井ブロックがあるので地形ははっきりせず、見ることが出来ない。

データフォルダーの構造[編集 | ソースを編集]

ファイル"idcounts.dat"に、現時点で最新の地図IDが保存されている。各地図ファイルのファイル名は<#>は地図のID番号として、map<#>.datという形になっている。

map_<#>.datフォーマット[編集 | ソースを編集]

map_<#>.datファイルはGZIP圧縮されたNBTファイルになっている。

NBT構造体[編集 | ソースを編集]

  • Nbtsheet.png ルートタグ
    • Nbtsheet.png data:地図データ
      • Nbtsheet.png scale:地図の拡大率(2scaleのブロックが1ピクセルに対応している。scaleが0の場合、地図は1:1対応になる)。0–4の値になり、標準は3。
      • Nbtsheet.png dimension:0 = オーバーワールド, -1 = ネザー, 1 = ジ・エンド, その他の値 = 地図は、プレーヤーピンのない静止画になる。
      • Nbtsheet.png trackingPosition: 1(デフォルト)は、地図が中心座標に近い際に位置矢印を表示することを示す。0は、位置矢印を表示しないことを示す。
      • Nbtsheet.png unlimitedTracking: 1を使用すると、プレーヤーが地図の中心から320×(scale+1)ブロックより遠い場合、プレーヤーの位置矢印が地図の端に小さな点で表示される。0を指定すると、プレーヤーがこの距離よりも遠くにある場合、点が消える。空の地図から作成された地図のデフォルトは0、探検家の地図のデフォルトは1である。
      • Nbtsheet.png locked: 地図が製図台でロックされている場合は1。
      • Nbtsheet.png xCenter:地図の中央。実際のワールドのX座標。
      • Nbtsheet.png zCenter:地図の中央。実際のワールドのZ座標。
      • Nbtsheet.png banners: この地図に追加された旗マーカーの一覧。 空の場合がある。
        • Nbtsheet.png 旗マーカー。
          • Nbtsheet.png Color: 旗の色。有効な値:white, orange, magenta, light_blue, yellow, lime, pink, gray, light_gray, cyan, purple, blue, brown, green, red, black
          • Nbtsheet.png Name: 旗の名前(JSONテキスト)。存在しない場合がある。
          • Nbtsheet.png Pos: ワールドの旗の位置
            • Nbtsheet.png X: 旗のX座標
            • Nbtsheet.png Y: 旗のY座標
            • Nbtsheet.png Z: 旗のZ座標
      • Nbtsheet.png frames: この地図に追加された地図マーカーの一覧。空の場合がある。
        • Nbtsheet.png マーカー。
          • Nbtsheet.png EntityId: マーカーの任意の個別の値。
          • Nbtsheet.png Rotation: マーカーの回転。範囲は0~360。
          • Nbtsheet.png Pos: ワールドのマーカーの位置
            • Nbtsheet.png X: マーカーのX座標
            • Nbtsheet.png Y: マーカーのY座標
            • Nbtsheet.png Z: マーカーのZ座標
      • Nbtsheet.png colors:幅×高さの色コードの配列(標準の128×128の大きさの地図の場合16,384項目)。任意の場所の色コードは次のようにアクセスできる:colorID = Colors[widthOffset + heightOffset × width]。つまり(widthOffset==0, heightOffset==0)が左上の角の点の値になる。
    • Nbtsheet.png DataVersion: 地図が作成されたバージョン。存在しない場合デフォルトは1343(1.12.2)。

この構造体が読み込まれたとき、配列colorsは標準の大きさに変換され(必要であれば)、そして標準の高さ (height) と幅 (width) として保存される。

idcounts.datフォーマット[編集 | ソースを編集]

このファイルが、最近追加された地図を記録し続ける。生の(非圧縮の)NBTファイルとして保存される。

NBT構造体[編集 | ソースを編集]

  • Nbtsheet.png ルートタグ
    • Nbtsheet.png Data
      • Nbtsheet.png map:最新の地図ID
    • Nbtsheet.png DataVersion

色テーブル[編集 | ソースを編集]

地図は、IDごとの色を効率的に保存する為に色テーブルを用いている。

基本色[編集 | ソースを編集]

ブロックはその素材毎に色分けされている。素材ごとに基本色があり、基本色のR、G、Bそれぞれを、135、180、220、255のいずれかの数を掛け、255で割ることで地図に用いられる色となる。以下に挙げる各基本色は4つの地図色と関連付けられている。基本色から最初の地図の色IDを得るには、基本色IDを4倍すればよい。

色一覧
ID RGB ブロック
0 NONE 透明 空気, 奈落の空気, 洞窟の空気, バリアブロック, レッドストーンランプ, ケーキ, パワードレール, ディテクターレール, 松明, レッドストーンワイヤー, はしご, レール, レバー, レッドストーントーチ, ボタン, リピーター, トリップワイヤーフック, トリップワイヤー, 植木鉢, , コンパレーター, アクティベーターレール, エンドロッド, ガラス, 板ガラス, ネザーポータル, ストラクチャーヴォイド, 鉄格子
1 GRASS 127, 178, 56 草ブロック, スライムブロック
2 SAND 247, 233, 163 , シラカバ (木材, 原木 (直立), 樹皮を剥いだ原木, , 樹皮を剥いだ木, 看板, 感圧板, トラップドア, 階段, ハーフブロック, フェンスゲート, フェンス, ドア), 砂岩 (全種類、全ハーフブロック、全階段、全壁), グロウストーン, エンドストーン, エンドストーンレンガ (ハーフブロック, 階段, 塀), 骨ブロック, カメの卵, 足場
3 WOOL 199, 199, 199 クモの巣, キノコの柄, ベッド (頭)
4 FIRE 255, 0, 0 溶岩, TNT, , レッドストーンブロック
5 ICE 160, 160, 255 , 薄氷, 氷塊, 青氷
6 METAL 167, 167, 167 鉄ブロック, 鉄のドア, 醸造台, 重量用感圧板, 鉄のトラップドア, ランタン, 金床, 砥石
7 PLANT 0, 124, 0 苗木, , キノコ, 小麦, サトウキビ, カボチャの茎, スイカの茎, スイレンの葉, カカオの実, ニンジン, ジャガイモ, ビートルート, スイートベリーの低木, , シダ, ツタ, , サボテン,
8 SNOW 255, 255, 255 , 雪ブロック, 白色 (ベッド (足), 羊毛, 色付きガラス, 色付きガラス板, カーペット, , シュルカーボックス, 彩釉テラコッタ, コンクリート, コンクリートパウダー)
9 CLAY 164, 168, 184 粘土, 虫食い石 (石, 丸石, 石レンガ, 苔むした石レンガ, ひび割れた石レンガ, 模様入りの石レンガ)
10 DIRT 151, 109, 77 , 粗い土, 耕地, 草の道, 花崗岩 (ハーフブロック, 階段, 塀), 磨かれた花崗岩 (ハーフブロック, 階段), ジャングル (木材, 原木 (直立), 樹皮を剥いだ原木, , 樹皮を剥いだ木, 看板, 感圧板, トラップドア, 階段, ハーフブロック, フェンスゲート, フェンス, ドア), ジュークボックス, 茶色のキノコブロック
11 STONE 112, 112, 112 (ハーフブロック, 階段), 安山岩 (ハーフブロック, 階段, 塀), 磨かれた安山岩 (ハーフブロック, 階段), 丸石 (ハーフブロック, 階段), 岩盤, 金鉱石, 鉄鉱石, 石炭鉱石, ラピスラズリ鉱石, ディスペンサー, 苔むした丸石 (ハーフブロック, 階段, 塀), スポナー, ダイヤモンド鉱石, かまど, 石の感圧板, レッドストーン鉱石, 石レンガ (全種類、全ハーフブロック、全壁), エメラルド鉱石, エンダーチェスト, ドロッパー, 滑らかな石 (ハーフブロック, 階段), オブザーバー, 燻製器, 溶鉱炉, 石切台, 粘着ピストン, ピストン, ピストンヘッド, 砂利, アカシア 原木 (側面), 大釜, ホッパー
12 WATER 64, 64, 255 コンブ, 海草, , 気泡柱
13 WOOD 143, 119, 72 オーク (木材, 原木 (直立), 樹皮を剥いだ原木, , 樹皮を剥いだ木, 看板, ドア, 感圧板, フェンス, トラップドア, フェンスゲート, ハーフブロック, 階段), 音符ブロック, 本棚, チェスト, 作業台, トラップチェスト, 日照センサー, 機織り機, , 製図台, 矢細工台, 書見台, 鍛冶台, コンポスター, タケノコ, 枯れ木, 石化したオークのハーフブロック, 養蜂箱, ミツバチの巣
14 QUARTZ 255, 252, 245 閃緑岩, 磨かれた閃緑岩, シラカバ 原木 (側面), クォーツブロック (全種類、全ハーフブロック、全階段), シーランタン
15 COLOR_ORANGE 216, 127, 51 アカシア (木材, 原木 (直立), 樹皮を剥いだ原木, 樹皮を剥いだ木, 看板, トラップドア, ハーフブロック), 赤い砂, 橙色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), カボチャ, カボチャ, ジャック・オ・ランタン, テラコッタ, 赤い砂岩 (全種類、全階段、全ハーフブロック、全壁), ハチミツブロック, ハニカムブロック
16 COLOR_MAGENTA 178, 76, 216 赤紫色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), プルプァ (全種類, ハーフブロック, 階段)
17 COLOR_LIGHT_BLUE 102, 153, 216 空色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー)
18 COLOR_YELLOW 229, 229, 51 スポンジ, 濡れたスポンジ, 黄色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), 干草の俵, シカツノサンゴ (サンゴブロック, サンゴ, ウチワサンゴ)
19 COLOR_LIGHT_GREEN 127, 204, 25 黄緑色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), スイカ
20 COLOR_PINK 242, 127, 165 桃色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), ノウサンゴ (サンゴブロック, サンゴ, ウチワサンゴ)
21 COLOR_GRAY 76, 76, 76 アカシア 羊毛, 灰色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), 死んだサンゴ (サンゴブロック, サンゴ, ウチワサンゴ)
22 COLOR_LIGHT_GRAY 153, 153, 153 薄灰色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), ストラクチャーブロック, ジグソーブロック
23 COLOR_CYAN 76, 127, 153 青緑色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), プリズマリン (ハーフブロック, 階段, 塀)
24 COLOR_PURPLE 127, 63, 178 シュルカーボックス, 紫色 (羊毛, カーペット, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), 菌糸, コーラスプラント, コーラスフラワー, リピートコマンドブロック, ミズタマサンゴ (サンゴブロック, サンゴ, ウチワサンゴ)
25 COLOR_BLUE 51, 76, 178 青色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), クダサンゴ (サンゴブロック, サンゴ, ウチワサンゴ)
26 COLOR_BROWN 102, 76, 51 ダークオーク (木材, 原木, 樹皮を剥いだ原木, , 樹皮を剥いだ木, 看板, 感圧板, トラップドア, 階段, ハーフブロック, ハーフブロック, フェンス, ドア), マツ 原木 (側面), 茶色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), ソウルサンド, コマンドブロック
27 COLOR_GREEN 102, 127, 51 緑色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), エンドポータルフレーム, チェーンコマンドブロック, 乾燥した昆布ブロック, シーピクルス
28 COLOR_RED 153, 51, 51 赤色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), レンガ (ハーフブロック, 階段, 塀), 赤色のキノコブロック, ネザーウォート, エンチャントテーブル, ネザーウォートブロック, ミレポラサンゴ (サンゴブロック, サンゴ, ウチワサンゴ)
29 COLOR_BLACK 25, 25, 25 黒色 (羊毛, カーペット, シュルカーボックス, ベッド (足), 色付きガラス, 色付きガラス板, , 彩釉テラコッタ, コンクリート, コンクリートパウダー), 黒曜石, エンドポータル, ドラゴンの卵, 石炭ブロック, エンドゲートウェイ
30 GOLD 250, 238, 77 金ブロック, 軽量用感圧板,
31 DIAMOND 92, 219, 213 ダイヤモンドブロック, ビーコン, プリズマリンレンガ (ハーフブロック, 階段), ダークプリズマリン (ハーフブロック, 階段), コンジット
32 LAPIS 74, 128, 255 ラピスラズリブロック
33 EMERALD 0, 217, 58 エメラルドブロック
34 PODZOL 129, 86, 49 ポドゾル, マツ (木材, 原木 (直立), 樹皮を剥いだマツの原木, , 樹皮を剥いだマツの木, 看板, 感圧板, トラップドア, 階段, ハーフブロック, フェンスゲート, フェンス, ドア), オーク 原木 (側面), ジャングル 原木 (側面), 焚き火
35 NETHER 112, 2, 0 ネザーラック, ネザーレンガ (フェンス, ハーフブロック, 階段, 塀), ネザークォーツ鉱石, マグマブロック, 赤いネザーレンガ (ハーフブロック, 階段, 塀)
36 TERRACOTTA_WHITE 209, 177, 161 白色のテラコッタ
37 TERRACOTTA_ORANGE 159, 82, 36 橙色のテラコッタ
38 TERRACOTTA_MAGENTA 149, 87, 108 赤紫色のテラコッタ
39 TERRACOTTA_LIGHT_BLUE 112, 108, 138 空色のテラコッタ
40 TERRACOTTA_YELLOW 186, 133, 36 黄色のテラコッタ
41 TERRACOTTA_LIGHT_GREEN 103, 117, 53 黄緑色のテラコッタ
42 TERRACOTTA_PINK 160, 77, 78 桃色のテラコッタ
43 TERRACOTTA_GRAY 57, 41, 35 灰色のテラコッタ
44 TERRACOTTA_LIGHT_GRAY 135, 107, 98 薄灰色のテラコッタ
45 TERRACOTTA_CYAN 87, 92, 92 青緑色のテラコッタ
46 TERRACOTTA_PURPLE 122, 73, 88 紫色 (テラコッタ, シュルカーボックス)
47 TERRACOTTA_BLUE 76, 62, 92 青色のテラコッタ
48 TERRACOTTA_BROWN 76, 50, 35 茶色のテラコッタ
49 TERRACOTTA_GREEN 76, 82, 42 緑色のテラコッタ
50 TERRACOTTA_RED 142, 60, 46 赤色のテラコッタ
51 TERRACOTTA_BLACK 37, 22, 16 黒色のテラコッタ

地図の色[編集 | ソースを編集]

上で述べた基本色に関連して、後述する4つの地図色がある。変換するには、R、G、Bそれぞれに、ある値を掛けて255で割る。最後に端数を切り捨てる。13w42bの時点で、4番目の色の種類に135が掛けられ、2番目の色の種類の単なる複製ではなくより暗い色に設定される。

地図色ID RGBそれぞれの倍率
基本色ID×4 + 0 180
基本色ID×4 + 1 220
基本色ID×4 + 2 255(同一の色)
基本色ID×4 + 3 135
水以外の各色のすべての異なる色合い

地図ピクセルアート[編集 | ソースを編集]

サバイバルで階段法を使用しているレッドストーンヘルパー

地図を使用してピクセルアートが作成されている。デフォルトの地図の画像サイズは128×128で、各ブロックを特定の色として読み取る。特定の位置にブロックを設置することにより、ピクセルアート画像を作成することができる。

地図ピクセルアートを作成するには、平坦と階段の2つの方法がある。平坦法では、平らな地面にピクセル画像を設置し、効果的に床を作成する。この方法は2つの方法のうち簡単だが、51色のみの少ない色の種類である。階段法は153色あるが、使用するのがはるかに複雑である。この方法では特定の色の種類を表示するため、ブロックを異なる高さに設置する。ブロックの色は、その北のブロックよりも低い標高に設置されると暗くなり、その北のブロックよりも高い標高に設置されると明るくなる。

平坦法では、以下のリストの各色グループの2番目の色を使用できる。階段法の場合、以下の色グループの最初の3つの色を使用できる。4番目の色は、外部ツールを使用してのみ取得できる。

1.12でのカラー表[編集 | ソースを編集]

1.8.1でのカラー表[編集 | ソースを編集]

注:説明には、考えられるすべてのブロックが並べられているわけではない。例:1.8.1では、色付き羊毛を使用するブロックは、色付きカーペットまたは色付きガラス板も使用できる。

1.7.2でのカラー表[編集 | ソースを編集]

最初のカラー表[編集 | ソースを編集]

コード例[編集 | ソースを編集]

この節はまだ書きかけであり、重要な情報が欠落している可能性があります。この項目に関する詳細情報で内容を拡充してみませんか?
ライブラリ名 言語 地図関連のコードへのリンク
MCModify Java Map.java
minecraftmap Python __init__.py
mcmapimg Python mcmapimg.py

歴史[編集 | ソースを編集]

この節は内容の更新を必要とします。
概要: 不完全な履歴、おそらく
Java Edition Beta
?Notchが地図を初めて追加したときは、NBTフォーマットは用いられていなかった[1]
1.6?地図が追加された。
地図IDはunsigned short(無符号16ビット数、65,536未満)に制限されている[2]
Java Edition
1.1317w47a地図IDがアイテムのダメージ値に基づかなくなったため、ショートではなくintになった。
idcounts.datがショートではなくintを使用するようになった
18w19a保存されたmap_<#>.datDataVersionを追加。(idcounts.datはまだDataVersionを持っていない)
1.1419w02a保存されたmap_<#>.datlockedを追加。

脚注[編集 | ソースを編集]