Игровой мир (или Игровая карта) (англ. The Overworld) представляет собой иерархическую систему директорий и файлов, хранящую информацию о каждом блоке, предмете и сущности в мире и об их состоянии. Карта генерируется неограниченно, но генерация происходит адекватно только до примерно 12 500 000 блоков от нулевой точки в старых версиях и до 30 000 000 блоков в новых (см. Далёкие земли).

Игровой мир имеет высоту 256 блоков, что в сумме даёт возможность для практически неограниченного исследования и застройки. Всего карта может содержать до 9,216×10 17 (921 600 000 000 000 000) блоков в каждом измерении. Максимальная площадь карты равна 3,6×10 9 м² или 3 600 000 000 км²! Для сравнения наша планета в 7 раз меньше и имеет размер в 510 100 000 км².

В Halloween Update в игру было добавлено новое измерение — Нижний мир, описываемое собственной вложенной картой. В серверной версии эта карта находится в отдельной директории вне директории верхнего мира.

Все блоки игрового мира объединены в чанки по 16×16×256 блоков, а чанки в регионы ru en по 32×32 чанка (512×512×256 блоков). Каждый регион хранится в отдельном файле.

НОВЫЕ ОБНОВЛЕНИЯ! В Городе Волгодонск | Церковь и Новая Многоэтажка — В Minecraft [Обзор]

  • 1 Создание
  • 1.1 Зерно
  • 2.1 Биомы
  • 2.2 Натуральные структуры
  • 2.3 Цикл день/ночь
  • 5.1 Соответствие между сторонами света и координатами
  • 6.1 Дружелюбные мобы
  • 6.2 Нейтральные мобы
  • 6.3 Враждебные мобы
  • 6.4 Приручаемые мобы
  • 6.5 Создаваемые мобы

Создание

Верхний мир является стандартным измерением при создании нового мира. В другие измерения, такие как Нижний мир и Край можно попасть только через порталы.

Зерно

Основная статья: Зерно

Новые миры в Minecraft генерируются с помощью зёрен, которые обычно представляют собой случайное число, использующееся в качестве основы при генерации мира. Если задано слово (например, «Glacier»), зерно преобразуется в соответствующее целое число (например, 1772835215).

Если использовать одно и то же значение зерна для генерации двух карт, это приведет к созданию двух абсолютно идентичных игровых миров, даже на разных компьютерах. Точка спауна игрока, как правило, всегда располагается в одном месте, но это также зависит от модификаций и версии игры.

Окружение

Верхний мир представляет собой сложную структуру с широким спектром возможностей.

Биомы

Основная статья: Биомы

Верхний мир подразделяется на биомы. Каждый из них определяет почти все свои аспекты местности. Биомы могут сильно отличаться друг от друга в зависимости от размера, и практически у всех биомов есть несколько вариаций. Биомы влияют на природные явления, такие как погода, и на спаун мобов.

Натуральные структуры

Основная статья: Натуральные структуры

ЧТО НАХОДИТСЯ НА ЭТОМ МЕСТЕ В МАЙНКРАФТЕ | Компот Minecraft

В Верхнем мире можно обнаружить несколько уникальных моделей местности, известных как структуры, которые сильно варьируются в зависимости от зерна мира и биома. Несмотря на то, что подобные структуры уникальны для каждого мира, их можно классифицировать, сравнив с реальными аналогами, такими как горы, пещеры и озёра. «Невозможные» генерации, например, плавучие острова, также можно найти в Верхнем мире.

Наряду с особенностями ландшафта, натуральные структуры включают в себя сгенерированные здания, такие как деревня, сокровищницы и шахты.

Цикл день/ночь

Основная статья: Цикл день/ночь

Цикл дня и ночи.gif

Верхний мир — единственное на данный момент измерение, в котором происходит смена дня и ночи.

В дневное время Солнце выступает в качестве мощного источника света, с максимальной яркостью 15. Солнечные лучи достаточно сильны и влияют на различные факторы, например, рост растений или спаун мобов. В ночное время луна является единственным источником света, яркость которой равна 4, что достаточно тускло, благодаря чему спаунятся враждебные мобы. Игрок может спать только ночью.

С помощью часов, игроки могут приблизительно определить время, находясь в любой точке Верхнего мира. Время также можно ускорить, используя команду /time .

Солнце восходит на востоке и заходит на западе, как и в реальном мире. Наблюдение за его движением — простой способ определения сторон света без компаса.

Генерация мира

Основная статья: Генерация карты

Для генерации карты применяется система псевдослучайных алгоритмов, управляющих созданием ландшафта, пещер, распределением растительности и ресурсов. Каждая вновь создаваемая карта уникальна и практически не содержит предопределённых элементов. Уникальность каждой карты выражается так называемым зерном, которое определяет особенности создаваемого игрового мира, его структуру и, в некоторой степени, наполнение.

Читайте также:  Что значит пронзание в Майнкрафте

Генерация каждого участка происходит только один раз, при первом его посещении, после этого информация только обновляется по мере надобности — таким образом объём, занимаемый картой на диске, зависит от размера территории, исследованной игроком, и в большинстве случаев имеет довольно скромный размер до нескольких десятков мегабайт, но если много исследовать, то размер карты может превысить и гигабайт — именно по этой причине мир на серверах уменьшают. В среднем, один чанк весит около 5 килобайт, а регион — 5 мегабайт.

Повреждение информации об участке карты может привести к появлению странных образований в соответствующей части мира (см. Галерею) или к повторной генерации участка, которая перезаписывает все изменения, проделанные игроком. При наличии посторонних чанков в директории карты игра не генерирует их заново, что может привести к «склеиванию» фрагментов удалённого или перезаписанного мира с фрагментами нового, а также к излишнему увеличению размеров карты.

Различные версии игры применяют разные наборы алгоритмов, что может приводить к несостыковкам ландшафта между участками, сгенерированными в разное время.

Геометрия пространства

Если в игре построить очень высокий (выше облаков) столбик и внимательно понаблюдать с него за рассветом и закатом несколько раз, то можно заметить некоторые детали, выдающие особенности мира, обычно не замечаемые игроком. Мир Mineсraft представляет собой гигантский параллелепипед, высота которого в несколько миллионов раз меньше ширины и длины.

На нижней плоскости его лежит игровой мир. Боковые грани окрашиваются в чуть более беловатые тона, что создает предгоризонтную дымку. Солнце, луна и звезды представлены плоскими спрайтами, ориентированными плоскостью на игрока. Движение их происходит не по дуге, а по граням параллелепипеда, что незаметно из-за их ориентировки.

Игрок может использовать только 30.000.000 блоков по направлению в каждую сторону, за этой границей стоит невидимый барьер. Ранее мир продолжал генерироваться, физика переставала работать и игрок проваливался сквозь блоки.

С 1.8 больше не генерируются лже-чанки, а перед границей мира стоит видимый барьер, представляющий из себя постоянно движущиеся косые полосы светло-голубого цвета. За этот барьер возможна телепортация ( /tp игрок> 29999999 y-поворот> x-поворот> ? ) после того, как игрок оказывается за барьером, экран немного краснеет. За этим барьером все мобы получают урон, установка и добыча блоков невозможна, совсем рядом находится настоящий барьер, который уже не пройти никак, если не использовать лодку или вагонетку. В 1.9 снова генерируются лже-чанки за границей мира. С 1.10 за границей мира генерируются настоящие чанки, уйти за барьер с помощью ошибки можно только на 10 блоков.

Ориентирование в пространстве

Основная статья: Ориентирование на местности

За основу определения сторон света на картах чаще всего берётся направление на восход солнца, которое считают востоком. Солнце, луна и звёзды и облака перемещаются с востока на запад. Также возможно определить направления по некоторым другим признакам, например по маркерам в стандартных текстурах булыжника и адского камня.

В игре имеется компас, однако его применение в ориентировании ограничено, так как он всегда указывает на точку респауна игрока, которую в таком случае следует считать северным полюсом, а любое направление от неё — южным.

Многие программы генерации карт по данным мира, например Cartographer, используют значения координат чанков, из-за чего на полученных картах север может быть направлен в левую сторону, что доставляет некоторые неудобства.

Соответствие между сторонами света и координатами

Основная статья: Координаты

Точка респауна игрока не является нулевой точкой мира (X=0,Y=65,Z=0).

Совпадение случайно, поскольку после начальной генерации карты алгоритм выбирает ближайшее из подходящих мест для респауна.

  • Север — −Z, F=2
  • Юг — +Z, F=0
  • Запад — −X, F=1
  • Восток — +X, F=3

Источник: wiki-minecraft.ru

Где находится файл Minecraft: PE worlds на Android Marshmallow?

Недавно у меня появился новый телефон. Избавившись от старого телефона, я перенес все файлы мира Minecraft через USB на свой компьютер из следующих папок:

Internal storage> games> com.mojang> minecraftWorlds

На своем новом телефоне я пошел вставлять миры, но не смог найти папку games . Когда я искал, я тоже не смог найти com.mojang . Ближайшим результатом был Android> obb> com.mojang.minecraftpe . Это была пустая папка. В моем старом телефоне был Android Lollipop (Moto e2). Мой новый телефон — Android Marshmallow (ZTE Prestige 2).

Читайте также:  Что такое морской проводник в Майнкрафт

Где находятся миры Minecraft на Android Marshmallow? Кажется, я не могу их найти. Заранее спасибо!

Вы можете экспортировать миры с помощью MCPE Internal World Extractor. Программа работает с использованием функции резервного копирования ADB для копирования всех данных Minecraft с устройства. Затем заархивированные данные извлекаются с помощью AndroidBackupExtractor, и папка minecraftWorlds перемещается из него.

Более подробную информацию и загрузки можно найти здесь.

Источник: gamicon.ru

Alpha (формат карты)

Alpha формат карт — формат хранения файлов игрового мира, который развил и усовершенстWowал новую технологию, введённую во время работы над версией Infdev.

Во время разработки Minecraft Infdev был введён новый метод хранения данных: максимальный объём данных игрового мира стал составлять почти 235 петабайт (или 240 640 терабайт). Поэтому чтобы уменьшить объём данных игрового мира и выделение оперативной памяти, Нотч разделил весь мира на т. н. чанки, размер которых составлял 16 x 128 x 16 блоков. Из них те, которые игрок не видит, хранятся на жестком диске, а не в оперативной памяти. В дополнение к этому, генерация игрового мира происходит только в определенном радиусе от игрока, что значительно уменьшает объём сохранений игры, поскольку игроки не могут быстро исследовать карту. Более поздние версии игры, такие как Alpha, Beta и Minecraft 1.0, до сих пор используют методику разбиения игрового мира на части из-за её эффективности.

  • 1 Структура папок игрового мира
  • 1.1 Измерения
  • 1.2 Формат session.lock
  • 1.3 Формат level.dat
  • 1.4 Формат чанков

Структура папок игрового мира [ ]

Файлы игрового мира в версии Alpha хранятся в одной директории, которая содержит по крайней мере один файл под названием level.dat. Там также хранится файл формата session.lock, который контролирует, чтобы только одно приложение Minecraft использовало данный игровой мир.

Директория игрового мира может вмещать до 64 поддиректорий, в каждой из которых может быть ещё 64 папки. Эти папки идентифицируются координатами расположения (по осям X и Z) хранящегося в них чанка. Внутри папки хранится файл, определяющий структуру чанка и его наполнение сущностями. Каждый файл чанка также идентифицируется его координатами.

Различие частей имени файла чанка получается представлением координат X и Z чанка в системе Base 36. Имена папок, в которых хранится файл чанка, создаются путём получения остатка от деления координат X и Z на 64 (или операцией побитового логического умножения с 63), а затем число переводится в base36. Отрицательные координаты должны быть инвертированы в положительные числа следующим путём: отрицательное число с помощью дополнительного кода конвертируется в двоичное, а затем опять в десятичное. Например, -13 переходит в 243 (если его размер типа byte).

К примеру, чтобы найти чанк с координатами (-13, 44):

  • Название первой папки в base36(-13 % 64). Это base36(243 % 64 = 51), что представляется как «1f».
  • Название второй вложенной папки — base36(44 % 64). Это base36(44), что представляется как «18».
  • Название файла чанка «c.» + base36(-13) + «.» + base36(44) + «.dat». Результат: «c.-d.18.dat»
  • Таким образом, чанк (-13, 44) хранится в «1f/18/c.-d.18.dat»

Каждый чанк хранит собственную позицию вне зависимости от названия папки или его файла.

Заметка: для упрощения можно использовать конвертер из base10 в base36: Base-10 to Base-36 Conversion Calculator. Для конвертации десятичных чисел в дополнительные можно использовать 2’s Complement of Binary Number Calculator. Для конвертации двоичного числа в десятичное будет полезен Decimal/Binary Conversion Tool.

В версии Beta 1.3 введён формат MCRegion , где чанки хранятся группами по 32×32 в region-файле.

Измерения [ ]

Файлы измерений хранятся так же, как и обычный мир, однако вместо их скопления внутри папки мира, они выносятся в дополнительную подпапку со своими собственными данными о чанках и регионах. Их название начинается DIM , а заканчивается идентификационным номером измерения.

Такие идентификационные номера измерений использовались в 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.

Этот файл имеет следующую дреWowидную структуру:

  • TAG_Compound(«»): корневой тег.
  • TAG_Compound(«Data»): глобальные данные уровня.
  • TAG_Long(«LastPlayed»): хранит дату и время последнего сохранения мира в формате времени UNIX.
  • TAG_Long(«SizeOnDisk»): расчетный объём всего игрового мира в байтах.
  • TAG_Long(«RandomSeed»): случайное число, выступающее в качестве зерна для механизма генерации мира.
  • TAG_Int(«SpawnX»): координата точки спауна по оси X.
  • TAG_Int(«SpawnY»): координата точки спауна по оси Y.
  • TAG_Int(«SpawnZ»): координата точки спауна по оси Z.
  • TAG_Long(«Time»): хранит текущее время игровых суток в тактах. В одной реальной секунде 20 тактов, 24 000 тактов в одних игровых сутках, что делает их длиной 20 реальных минут. 0 — это начало цикла день/ночь, 12 000 — начало захода солнца, 13 800 — начало ночного времени, 22 200 — начало восхода солнца, 24 000 — начало дневного времени (конец цикла). Значение, которое хранится в level.dat, всегда только увеличивается и может быть большим чем 24 000, но «время суток» в поле «Time» всегда в пределе 24 000.
  • TAG_Compound(«Player»): игрок в однопользовательской игре.
  • TAG_Int(«Dimension»): измерение, в котором находится игрок. 0 — обычный мир, а -1 соответствует Нижнему миру.
  • TAG_List(«Pos»): список 3-х TAG_Doubles для осей X, Y, и Z для определения положения игрока в пространстве.
  • TAG_List(«Rotation»): список 2-х TAG_Floats для осей наклона и рыскания — определение места, в которое смотрит игрок, то есть расположения головы.
  • TAG_List(«Motion»): список 3-х TAG_Doubles для осей X, Y, и Z. Значения определяют скорость движения игрока по осям (блоков за такт).
  • TAG_Byte(«OnGround»): 1 или 0 (true/false) — true если игрок на поверхности.
  • TAG_Float(«FallDistance»): количество блоков, которые игрок пролетел.
  • TAG_Short(«Health»): количество очков здоровья. Значение 20 соответствует десяти сердцам (каждое очко здоровья — половина сердца).
  • TAG_Short(«AttackTime»): количество тактов, когда игрок невосприимчив до повреждений.
  • TAG_Short(«HurtTime»): количество тактов, когда игрок красный после получения урона.
  • TAG_Short(«DeathTime»): количество тактов, которые игрок был мёртв — используется для контроля анимации смерти.
  • TAG_Short(«Air»): количество тактов до того, как игрок начал тонуть. Начинается с 300.
  • TAG_Short(«Fire»): если значение отрицательное, количество тактов с момента возгорания игрока, если положительное — количество тактов до тушения игрока.
  • TAG_Int(«Score»): счёт игрока. Счёт так и не был реализован технически ни в Alpha, ни в Beta, поэтому это значение нерелевантное.
  • TAG_List(«Inventory»): список TAG_Compounds, которые определяют наполнения инвентаря игрока.
  • TAG_Compound(): Объект в ячейке инвентаря.
  • TAG_Byte(«Slot»): конкретный слот в инвентаре.
  • TAG_Short(«id»): идентификационный номер объекта.
  • TAG_Short(«Damage»): данные про объект или значение повреждения для инструментов.
  • TAG_Short(«Count»): количество этих объектов в одной ячейке (слоте), то есть размер стопки (стака). Значение в границах от -128 до 127. Значения, меньшие 2, не отображаются в игре.

Формат чанков [ ]

Формат файла чанка имеет такую же структуру, как и level.dat (архивированные файлы NBT). Структура:

  • TAG_Compound(«»): корневой тег.
  • TAG_Compound(«Level»): глобальные данные для этого чанка.
  • TAG_Int(«xPos»): координата чанка по оси X.
  • TAG_Int(«zPos»): координата чанка по оси Z.
  • TAG_Byte(«TerrainPopulated»): 1 или 0 (true/false) — true, если генератор Minecraft Alpha сгенерировал специальные натуральные структуры, такие как сокровищница или пещера.
  • TAG_Long(«LastUpdate»): количество тактов с момента последнего обновления этого чанка.
  • TAG_Byte_Array(«Blocks»): 32768 байт номеров блоков — 8 бит на один блок.
  • TAG_Byte_Array(«Data»): 16384 байта данных про блоки — 4 бита на один блок.
  • TAG_Byte_Array(«BlockLight»): 16384 байта на освещение блоков — 4 бита на блок.
  • TAG_Byte_Array(«SkyLight»): 16384 байта на солнечный свет — 4 бита на блок.
  • TAG_Byte_Array(«HeightMap»): 256 байтов про карту высот — 8 бит на колонну XZ. Используется для расчёта распространения дневного/ночного света.
  • TAG_List(«Entities»): список TAG_Compounds для описания сущностей на чанке.
  • TAG_Compound(): Сущность.
  • TAG_Compound(): дополнительная информация о сущности.

См. также [ ]

Источник: minecraft.fandom.com