システム/ゲームディレクトリ

提供:Minecraft Japan Wiki
システム > ゲームディレクトリ
ナビゲーションに移動 検索に移動

ゲームディレクトリとはワールドのセーブデータやリソースファイルなどを格納してるディレクトリである。
可能な限りディレクトリにあるファイル内容についても記載する。

パス[編集 | ソースを編集]

パスを変更していなければ、標準だと以下のようになる。

Windows
<ドライブ文字>:\Users\<ユーザー名>\AppData\Roaming\.minecraft
macOS(OS X)
/Users/<ユーザー名>/Library/Application Support/minecraft
Linux
/home/<ユーザー名>/.minecraft


ゲームディレクトリの移動[編集 | ソースを編集]

Windows:

  1. Windowsキー +Rキー を押して、ファイル名を指定して実行を開く
  2. 名前%APPDATA%\.minecraftと入力してOKをクリック

■セーブフォルダを開く場合は?
%APPDATA%\.minecraft\saves
savesも参照
■リソースパックフォルダを開く場合は?
%APPDATA%\.minecraft\resourcepacks
resourcepacksも参照

※スタート Windows システム ツール ファイル名を指定して実行からでも起動する
AppDataは隠しディレクトリのため、隠しファイルを表示していないと一覧に表示されない
macOS:

  1. Finderを開き、移動 フォルダに移動を選択する(或いはcommand⌘キー +shiftキー +Gキーを押す)
  2. フォルダの場所を入力~/Library/Application Support/minecraftと入力して移動をクリック

■セーブフォルダを開く場合は?
~/Library/Application Support/minecraft/saves
savesも参照
■リソースパックフォルダを開く場合は?
~/Library/Application Support/minecraft/resourcepacks
resourcepacksも参照

Libraryは隠しディレクトリのため、隠しファイルを表示していないと一覧に表示されない
Linux:
ターミナルなどで移動します

cd~/.minecraft

※.(ドット)から始まるファイルやディレクトリ、つまりは.minecraftディレクトリ一は覧表示されない場合がある(macOSも同様)

ディレクトリと構成[編集 | ソースを編集]


assets[編集 | ソースを編集]

ファイル構成

  • assets
    • indexes- インデックスファイル群。objectsにどのようなファイルがあるかを記録したjsonファイルがある。
    • log_configs
    • objects- オブジェクトファイル群。翻訳データ、音声データ、および一部のテクスチャが格納されている。
    • skins


オブジェクトファイルの参照[編集 | ソースを編集]

例として、assets/indexes/1.13.1.jsonicons/icon_32x32.pngを参照する。
assets/indexes/1.13.1.json

{
    "objects": {
        "icons/icon_16x16.png": {
            "hash": "bdf48ef6b5d0d23bbb02e17d04865216179f510a",
            "size": 3665
        },
        "icons/icon_32x32.png": {
            "hash": "92750c5f93c312ba9ab413d546f32190c56d6f1f",
            "size": 5362
        },
        "icons/minecraft.icns": {
            "hash": "991b421dfd401f115241601b2b373140a8d78572",
            "size": 114786
        },
 
        "~~~~~中略~~~~~": {},
 
        "realms/lang/zh_tw.json": {
            "hash": "3bf5aafb7e87087aae7efa6bed2a137e972b4ef7",
            "size": 19732
        }
    }
}


icons/icon_32x32.pngのhash値は、92750c5f93c312ba9ab413d546f32190c56d6f1fとなっている。この値の先頭2文字を確認する。
assets/objects/92/ディレクトリを探し、内に92750c5f93c312ba9ab413d546f32190c56d6f1fファイルがあることを確認する。
つまりこれがicons/icon_32x32.png(アイコンとなってる作業台)となる。
なおsize値はファイルサイズを示す。

logs[編集 | ソースを編集]

ログファイルが格納されているディレクトリ。
クライアントを起動する度、前回のlatest.log*.log.gzに圧縮変換し、新たに記録していく。
MODのログもここに格納する場合がある。
ログは必要無ければ削除しても問題は無い。
ただしサポートを求める場合、ログ提出が必要になるケースがある。

resourcepacks[編集 | ソースを編集]

リソースパックファイルが格納されているディレクトリ。

versions[編集 | ソースを編集]

各バージョンの実行ファイルがあるディレクトリ。

screenshots[編集 | ソースを編集]

撮影したスクリーンショットが保存されるディレクトリ。

saves[編集 | ソースを編集]

ワールドのセーブデータが格納されているディレクトリ

ファイル構成

  • saves
    • <ワールド名>
      • advancements
        • <プレイヤーのUUID>.json - 進捗の達成状況・レシピの開放状況
      • data
        • idcounts.dat - 最新の地図の番号を保存
        • map_<地図の番号>.dat - 地図のデータ
        • scoreboard.dat - スコアボードの情報
        • raids.dat - 襲撃の情報
      • datapacks - データパック
      • DIM1 - エンドのデータ
        • region
          • r.x.z.mca - エンドの地形のデータ
      • DIM-1 - ネザーのデータ
        • region
          • r.x.z.mca - ネザーの地形のデータ
      • playerdata - プレイヤーのデータ
        • <プレイヤーのUUID>.dat - プレイヤーのデータタグ。
      • poi
        • r.x.z.mca - 村人のデータ(ver1.14~)
      • region - 通常世界のデータ
        • r.x.z.mca - 通常世界の地形のデータ
      • stats
        • <プレイヤーのUUID>.json - 統計のデータ
      • icon.png - ワールドのアイコン画像
      • level.dat - ワールド全体のデータ
      • level.dat_old - level.datのバックアップ
      • session.lock - 最終アクセス時間を保存

.dat、.dat_old、.mca拡張子のファイルはMinecraft独自のデータ形式となっている。一般的な構造は以下で説明する。

データ形式[編集 | ソースを編集]

.dat/.dat_old[編集 | ソースを編集]

GZip圧縮されたNBTフォーマット(一部は未圧縮のNBTフォーマット)。

.mca[編集 | ソースを編集]

最大1024個のチャンクのデータをまとめたもの。以下のような構造となっている。

バイト 0~4095 4096~8091 8092~
内容 データ位置 タイムスタンプ データ本体

ファイル名が r.x.z.mca の場合、そのファイルには[32x,32z][1]から[32(x+1)-1,32(z+1)-1]までのチャンクのデータが含まれる。
冒頭4096バイトはチャンクのデータの位置および大きさを指定する。先頭から4バイトずつ、[32x,32z]、[32x+1,32z]、…、[32x+31,32z]、[32x,32z+1]、[32x+1,32z+1]、…の順にチャンクと対応している。
4バイトのデータのうち、前3バイトの値に4096をかけたものが .mca ファイル内でのチャンクのデータの開始位置を表しており、末尾1バイトはチャンクのデータ本体の長さを4096で割って切り上げた値を表す。
続く4096バイトは、4バイトずつ各チャンクのタイムスタンプを表しており、冒頭4096バイトと同じ順番でチャンクと対応している。
それ以降がチャンクのデータ本体である。各データは以下のような構造になっている。

ヘッダ データ部
1~4バイト目 5バイト目 6バイト目以降
データ部の長さ 圧縮形式(常に2) 圧縮されたデータ本体

データ本体は、Zlib圧縮されたNBTフォーマットとなっている。
地形データを保存するものと、村人関係のデータを表すものとでデータの中身は異なる。

NBTフォーマット(NBT Format)[編集 | ソースを編集]

JSON類似のデータを表現する、Minecraft独自の保存形式である。
ゲーム内からはデータタグの形でアクセスされる。この説明でも、NBTフォーマットの構造を各データタグに対応づけて解説する。

構造の概要[編集 | ソースを編集]

内容 タグの種類 タグ名の長さ タグ名 (値) 0(終端を表す)
バイト数 1 2 (可変長) (可変長) 1

タグの種類は、1~12までのいずれかの数字で表され、タグ名はAsciiコードを用いて1文字1バイトで表現される。
タグの終端を表す0は、配列(TAG_Compound)にのみ存在する。
名前のないタグの場合は、タグ名の長さが0となり、タグ名の部分は存在しない。

配列(TAG_Compound)[編集 | ソースを編集]

内容 10 タグ名の長さ タグ名 (中身のタグ) 0
バイト数 1 2 (可変長) (可変長) 1

リスト(TAG_List)[編集 | ソースを編集]

内容 9 タグ名の長さ タグ名 要素となるタグの種類 要素の個数 (各タグの値)
バイト数 1 2 (可変長) 1 4 (可変長)

文字列(TAG_String)[編集 | ソースを編集]

内容 8 タグ名の長さ タグ名 中身の長さ 文字列(UTF-8)
バイト数 1 2 (可変長) 2 (可変長)

数値[編集 | ソースを編集]

1バイト整数(TAG_Byte)

内容 1 タグ名の長さ タグ名 数値
バイト数 1 2 (可変長) 1

2バイト整数(TAG_Short)

内容 2 タグ名の長さ タグ名 数値
バイト数 1 2 (可変長) 2

4バイト整数(TAG_Int)

内容 3 タグ名の長さ タグ名 数値
バイト数 1 2 (可変長) 4

8バイト整数(TAG_Long)

内容 4 タグ名の長さ タグ名 数値
バイト数 1 2 (可変長) 8

4バイト浮動小数点(TAG_Float)

内容 5 タグ名の長さ タグ名 数値
バイト数 1 2 (可変長) 4

8バイト浮動小数点(TAG_Double)

内容 6 タグ名の長さ タグ名 数値
バイト数 1 2 (可変長) 8

数値の配列[編集 | ソースを編集]

1バイト整数の配列(TAG_Byte_Array)

内容 7 タグ名の長さ タグ名 要素の個数 要素(数値)
バイト数 1 2 (可変長) 4 各1

4バイト整数の配列(TAG_Int_Array)

内容 11 タグ名の長さ タグ名 要素の個数 要素(数値)
バイト数 1 2 (可変長) 4 各4

8バイト整数の配列(TAG_Long_Array)

内容 12 タグ名の長さ タグ名 要素の個数 要素(数値)
バイト数 1 2 (可変長) 4 各8

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

  1. チャンク[X,Z]とは、x座標が16Xと16(X+1)の間、z座標が16Zと16(Z+1)の間の部分にあるチャンクのことを指す
Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。