level dat minecraft что это
Alpha (формат карты)
Alpha формат карт — формат хранения файлов игрового мира, который развил и усовершенствовал новую технологию, введённую во время работы над версией Infdev.
Во время разработки Minecraft Infdev был введён новый метод хранения данных: максимальный объём данных игрового мира стал составлять почти 235 петабайт (или 240 640 терабайт). Поэтому чтобы уменьшить объём данных игрового мира и выделение оперативной памяти, Нотч разделил весь мира на т. н. чанки, размер которых составлял 16 x 128 x 16 блоков. Из них те, которые игрок не видит, хранятся на жестком диске, а не в оперативной памяти. В дополнение к этому, генерация игрового мира происходит только в определенном радиусе от игрока, что значительно уменьшает объём сохранений игры, поскольку игроки не могут быстро исследовать карту. Более поздние версии игры, такие как Alpha, Beta и Minecraft 1.0, до сих пор используют методику разбиения игрового мира на части из-за её эффективности.
Содержание
Структура папок игрового мира [ ]
Файлы игрового мира в версии Alpha хранятся в одной директории, которая содержит по крайней мере один файл под названием level.dat. Там также хранится файл формата session.lock, который контролирует, чтобы только одно приложение Minecraft использовало данный игровой мир.
К примеру, чтобы найти чанк с координатами (-13, 44):
Каждый чанк хранит собственную позицию вне зависимости от названия папки или его файла.
Заметка: для упрощения можно использовать конвертер из base10 в base36: Base-10 to Base-36 Conversion Calculator. Для конвертации десятичных чисел в дополнительные можно использовать 2’s Complement of Binary Number Calculator. Для конвертации двоичного числа в десятичное будет полезен Decimal/Binary Conversion Tool.
Измерения [ ]
Такие идентификационные номера измерений использовались в Alpha:
ID | Папка | Измерение |
---|---|---|
0 | saves/[Мир]/ | Обычный мир всегда хранился в общей папке без приставки DIM |
-1 | saves/[Мир]/DIM-1/ | Нижний мир, добавленный в Halloween Update |
Формат session.lock [ ]
Файл session.lock содержит метку последнего использования файлов игрового мира. Объём файла составляет 8 байтов и содержит одно 64-битное целое число со знаком (signed integer) в порядке байтов big-endian. Значение этого числа — временная метка, которая являет собой количество миллисекунд, прошедших с 1 января 1970 года, 00:00:00 UTC.
В отличие от стандартных lock-файлов, session.lock гарантирует то, что последняя программа, использовавшая игровой мир, есть та, которой он принадлежит. Весь процесс выглядит примерно так:
Формат level.dat [ ]
Файл level.dat представляет собой NBT-структуру, помещенную в архив GZip. В нём хранятся глобальные параметры игрового мира, например время суток, здоровье игрока, наполнение инвентаря, скорость и позиция и т.д. Важнее то, что в нём хранится случайное зерно, которое используется генератором уровня при наполнения мира блоками. Всё это также можно изменить, использовав программы, такие как: NBTExplorer.
Этот файл имеет следующую древовидную структуру:
Формат чанков [ ]
Формат файла чанка имеет такую же структуру, как и level.dat (архивированные файлы NBT). Структура:
Java Edition level format
Each level is its own folder. A level folder is often identified by having a level.dat file, along with other subfolders to store the maps and regions of the level.
Contents
Folders [ ]
Level folders will always contain the items in bold, and will sometimes contain the items in italics.
Relative Path | Article | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/level.dat | (below) | Stores global information about the level. | ||||||||||||||||||||||||||
/level.dat_new | — | Program writes new global information about the level and after that file is renamed to level.dat | ||||||||||||||||||||||||||
/level.dat_mcr | — | A backup of the level.dat file before conversion from MCRegion to Anvil. | ||||||||||||||||||||||||||
/level.dat_old | — | A backup of the previous level.dat file. | ||||||||||||||||||||||||||
/session.lock | (below) | Used to give write access to the last program to modify this file. | ||||||||||||||||||||||||||
/players/level.dat format [ ]generatorOptions tag format [ ]The generatorOptions tag format varies depending on the generator name. It only affects the Overworld dimension. This applies to 1.15 and below. This is the format for the Buffet world type: This is the format for the Superflat world type: This is the format for the Old Customized world type that existed before 18w06a: session.lock format [ ]This file contains the timestamp of when the level was last accessed. The file contains a single 64-bit integer in big endian format, which is the timestamp, stored as the number of milliseconds elapsed since 1970-01-01 00:00:00, in UTC. Unlike typical lock files, this file ensures that the last program to access the level is that one that has read and write access. The process goes something like this: Minecraft can sometimes try to hold the lock on a level even after the player has started playing a different level, and this can cause strange behavior. It is recommended to ensure that Minecraft is closed before trying to acquire a lock on a level. poi format [ ]Files in poi folder use similar structure to region Anvil files (hence the mca extension), but the NBT content is different. Level formatIn Minecraft 1.0, each level is its own folder. A level folder is often identified by having a level.dat file, along with other subfolders to store the maps and regions of the level. Level folders will always contain the items in bold, and will sometimes contain the items in italics.
|